Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

systable: Adapt with tiflash_tables changes #39001

Merged
merged 4 commits into from
Nov 12, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
50 changes: 47 additions & 3 deletions executor/infoschema_reader_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -672,9 +672,9 @@ func TestTiFlashSystemTableWithTiFlashV620(t *testing.T) {
tk.MustQuery("show warnings").Check(testkit.Rows())

tk.MustQuery("select * from information_schema.TIFLASH_TABLES;").Check(testkit.Rows(
"db_1 t_10 mysql tables_priv 10 0 1 0 0 0 <nil> 0 <nil> 0 <nil> <nil> 0 0 0 0 0 0 <nil> <nil> <nil> 0 0 0 0 <nil> <nil> 0 <nil> <nil> <nil> 0 <nil> <nil> <nil> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127.0.0.1:3933",
"db_1 t_8 mysql db 8 0 1 0 0 0 <nil> 0 <nil> 0 <nil> <nil> 0 0 0 0 0 0 <nil> <nil> <nil> 0 0 0 0 <nil> <nil> 0 <nil> <nil> <nil> 0 <nil> <nil> <nil> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127.0.0.1:3933",
"db_2 t_70 test segment 70 0 1 102000 169873868 0 0 0 <nil> 0 <nil> <nil> 0 102000 169873868 0 0 0 <nil> <nil> <nil> 1 102000 169873868 43867622 102000 169873868 0 <nil> <nil> <nil> 13 13 7846.153846153846 13067220.615384616 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127.0.0.1:3933",
"db_1 t_10 mysql tables_priv 10 0 1 0 0 0 <nil> 0 <nil> 0 <nil> <nil> 0 0 0 0 0 0 <nil> <nil> <nil> 0 0 0 0 <nil> <nil> 0 <nil> <nil> <nil> <nil> 0 <nil> <nil> <nil> 0 0 0 0 0 0 0 0 0 0 127.0.0.1:3933",
"db_1 t_8 mysql db 8 0 1 0 0 0 <nil> 0 <nil> 0 <nil> <nil> 0 0 0 0 0 0 <nil> <nil> <nil> 0 0 0 0 <nil> <nil> 0 <nil> <nil> <nil> <nil> 0 <nil> <nil> <nil> 0 0 0 0 0 0 0 0 0 0 127.0.0.1:3933",
"db_2 t_70 test segment 70 0 1 102000 169873868 0 0 0 <nil> 0 <nil> <nil> 0 102000 169873868 0 0 0 <nil> <nil> <nil> 1 102000 169873868 43867622 102000 169873868 0 <nil> <nil> <nil> <nil> 13 13 7846.153846153846 13067220.615384616 0 0 0 0 0 0 0 0 0 0 127.0.0.1:3933",
))
tk.MustQuery("show warnings").Check(testkit.Rows())
}
Expand Down Expand Up @@ -723,6 +723,50 @@ func TestTiFlashSystemTableWithTiFlashV630(t *testing.T) {
tk.MustQuery("show warnings").Check(testkit.Rows())
}

func TestTiFlashSystemTableWithTiFlashV640(t *testing.T) {
httpmock.Activate()
defer httpmock.DeactivateAndReset()

instances := []string{
"tiflash,127.0.0.1:3933,127.0.0.1:7777,,",
"tikv,127.0.0.1:11080,127.0.0.1:10080,,",
}
fpName := "github.com/pingcap/tidb/infoschema/mockStoreServerInfo"
fpExpr := `return("` + strings.Join(instances, ";") + `")`
require.NoError(t, failpoint.Enable(fpName, fpExpr))
defer func() { require.NoError(t, failpoint.Disable(fpName)) }()

httpmock.RegisterResponder("GET", "http://127.0.0.1:7777/config",
httpmock.NewStringResponder(200, `
{
"raftstore-proxy": {},
"engine-store":{
"http_port":8123,
"tcp_port":9000
}
}
`))

data, err := os.ReadFile("testdata/tiflash_v640_dt_tables.json")
require.NoError(t, err)
httpmock.RegisterResponder("GET", "http://127.0.0.1:8123?default_format=JSONCompact&query=SELECT+%2A+FROM+system.dt_tables+LIMIT+0%2C+1024", httpmock.NewBytesResponder(200, data))

store := testkit.CreateMockStore(t)
tk := testkit.NewTestKit(t, store)
tk.MustQuery("select * from information_schema.TIFLASH_TABLES;").Check(testkit.Rows(
"db_70 t_135 tpcc customer 135 0 4 3528714 2464079200 0 0.002329177144988231 1 0 929227 0.16169850346757514 0 8128 882178.5 616019800 4 8219 5747810 2054.75 1436952.5 0 4 3520495 2458331390 1601563417 880123.75 614582847.5 24 8 6 342.4583333333333 239492.08333333334 482 120.5 7303.9315352697095 5100272.593360996 0 0 0 0 0 0 0 0 0 0 127.0.0.1:3933",
"db_70 t_137 tpcc district 137 0 1 7993 1346259 0 0.8748905292130614 1 0.8055198055198055 252168 0.21407121407121407 0 147272 7993 1346259 1 6993 1178050 6993 1178050 0 1 1000 168209 91344 1000 168209 6 6 6 1165.5 196341.66666666666 10 10 100 16820.9 0 0 0 0 0 0 0 0 0 0 127.0.0.1:3933",
"db_70 t_139 tpcc history 139 0 19 19379697 1629276978 0 0.0006053758219233252 0.5789473684210527 0.4626662120695534 253640 0.25434708489601093 0 293544 1019984.052631579 85751419.89473684 11 11732 997220 1066.5454545454545 90656.36363636363 0 19 19367965 1628279758 625147717 1019366.5789473684 85698934.63157895 15 4 1.3636363636363635 782.1333333333333 66481.33333333333 2378 125.15789473684211 8144.644659377628 684726.559293524 0 0 0 0 0 0 0 0 0 0 127.0.0.1:3933",
"db_70 t_141 tpcc item 141 0 1 100000 10799081 0 0 0 <nil> 0 <nil> <nil> 0 100000 10799081 0 0 0 <nil> <nil> <nil> 1 100000 10799081 7357726 100000 10799081 0 0 <nil> <nil> <nil> 13 13 7692.307692307692 830698.5384615385 0 0 0 0 0 0 0 0 0 0 127.0.0.1:3933",
"db_70 t_143 tpcc new_order 143 0 4 2717707 78813503 0 0.02266763856442214 1 0.9678592299201351 52809 0.029559768846178818 0 1434208 679426.75 19703375.75 4 61604 1786516 15401 446629 0 3 2656103 77026987 40906492 885367.6666666666 25675662.333333332 37 24 9.25 1664.972972972973 48284.21621621621 380 126.66666666666667 6989.744736842105 202702.59736842106 0 0 0 0 0 0 0 0 0 0 127.0.0.1:3933",
"db_70 t_145 tpcc order_line 145 0 203 210607202 20007684190 0 0.0054566462546708164 0.5862068965517241 0.7810067620424135 620065 0.005679558722564825 0 22607144 1037473.9014778325 98560020.64039409 119 1149209 109174855 9657.218487394957 917435.756302521 0 203 209457993 19898509335 8724002804 1031812.7733990147 98022213.47290641 893 39 7.504201680672269 1286.9081746920492 122256.27659574468 31507 155.20689655172413 6647.982765734599 631558.3627447869 0 0 0 0 0 0 0 0 0 0 127.0.0.1:3933",
"db_70 t_147 tpcc orders 147 0 22 21903301 1270391458 0 0.02021357420052804 0.7272727272727273 0.9239944527763222 260536 0.010145817899282655 0 10025264 995604.5909090909 57745066.27272727 16 442744 25679152 27671.5 1604947 0 22 21460557 1244712306 452173775 975479.8636363636 56577832.09090909 242 34 15.125 1829.5206611570247 106112.19834710743 2973 135.13636363636363 7218.485368314833 418672.15136226034 0 0 0 0 0 0 0 0 0 0 127.0.0.1:3933",
"db_70 t_149 tpcc stock 149 0 42 11112720 4811805131 0 0.028085203262567582 0.9761904761904762 0.8463391893060944 10227093 0.07567373591410528 0 6719064 264588.5714285714 114566788.83333333 41 312103 135131097 7612.268292682927 3295880.4146341463 0 42 10800617 4676674034 3231872509 257157.54761904763 111349381.76190476 238 26 5.804878048780488 1311.357142857143 567777.718487395 1644 39.142857142857146 6569.718369829684 2844692.234793187 0 0 0 0 0 0 0 0 0 0 127.0.0.1:3933",
"db_70 t_151 tpcc warehouse 151 0 1 5842 923615 0 0.9828825744608011 1 0.9669104841518634 70220 0.07732497387669801 0 133048 5842 923615 1 5742 907807 5742 907807 0 1 100 15808 11642 100 15808 5 5 5 1148.4 181561.4 5 5 20 3161.6 0 0 0 0 0 0 0 0 0 0 127.0.0.1:3933",
))
tk.MustQuery("show warnings").Check(testkit.Rows())
}

func TestTablesPKType(t *testing.T) {
store := testkit.CreateMockStore(t)
tk := testkit.NewTestKit(t, store)
Expand Down
241 changes: 241 additions & 0 deletions executor/testdata/tiflash_v640_dt_tables.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,241 @@
{
"meta":
[
{
"name": "database",
"type": "String"
},
{
"name": "table",
"type": "String"
},
{
"name": "tidb_database",
"type": "String"
},
{
"name": "tidb_table",
"type": "String"
},
{
"name": "table_id",
"type": "Int64"
},
{
"name": "is_tombstone",
"type": "UInt64"
},
{
"name": "segment_count",
"type": "UInt64"
},
{
"name": "total_rows",
"type": "UInt64"
},
{
"name": "total_size",
"type": "UInt64"
},
{
"name": "total_delete_ranges",
"type": "UInt64"
},
{
"name": "delta_rate_rows",
"type": "Float64"
},
{
"name": "delta_rate_segments",
"type": "Float64"
},
{
"name": "delta_placed_rate",
"type": "Float64"
},
{
"name": "delta_cache_size",
"type": "UInt64"
},
{
"name": "delta_cache_rate",
"type": "Float64"
},
{
"name": "delta_cache_wasted_rate",
"type": "Float64"
},
{
"name": "delta_index_size",
"type": "UInt64"
},
{
"name": "avg_segment_rows",
"type": "Float64"
},
{
"name": "avg_segment_size",
"type": "Float64"
},
{
"name": "delta_count",
"type": "UInt64"
},
{
"name": "total_delta_rows",
"type": "UInt64"
},
{
"name": "total_delta_size",
"type": "UInt64"
},
{
"name": "avg_delta_rows",
"type": "Float64"
},
{
"name": "avg_delta_size",
"type": "Float64"
},
{
"name": "avg_delta_delete_ranges",
"type": "Float64"
},
{
"name": "stable_count",
"type": "UInt64"
},
{
"name": "total_stable_rows",
"type": "UInt64"
},
{
"name": "total_stable_size",
"type": "UInt64"
},
{
"name": "total_stable_size_on_disk",
"type": "UInt64"
},
{
"name": "avg_stable_rows",
"type": "Float64"
},
{
"name": "avg_stable_size",
"type": "Float64"
},
{
"name": "total_pack_count_in_delta",
"type": "UInt64"
},
{
"name": "max_pack_count_in_delta",
"type": "UInt64"
},
{
"name": "avg_pack_count_in_delta",
"type": "Float64"
},
{
"name": "avg_pack_rows_in_delta",
"type": "Float64"
},
{
"name": "avg_pack_size_in_delta",
"type": "Float64"
},
{
"name": "total_pack_count_in_stable",
"type": "UInt64"
},
{
"name": "avg_pack_count_in_stable",
"type": "Float64"
},
{
"name": "avg_pack_rows_in_stable",
"type": "Float64"
},
{
"name": "avg_pack_size_in_stable",
"type": "Float64"
},
{
"name": "storage_stable_num_snapshots",
"type": "UInt64"
},
{
"name": "storage_stable_oldest_snapshot_lifetime",
"type": "Float64"
},
{
"name": "storage_stable_oldest_snapshot_thread_id",
"type": "UInt64"
},
{
"name": "storage_stable_oldest_snapshot_tracing_id",
"type": "String"
},
{
"name": "storage_delta_num_snapshots",
"type": "UInt64"
},
{
"name": "storage_delta_oldest_snapshot_lifetime",
"type": "Float64"
},
{
"name": "storage_delta_oldest_snapshot_thread_id",
"type": "UInt64"
},
{
"name": "storage_delta_oldest_snapshot_tracing_id",
"type": "String"
},
{
"name": "storage_meta_num_snapshots",
"type": "UInt64"
},
{
"name": "storage_meta_oldest_snapshot_lifetime",
"type": "Float64"
},
{
"name": "storage_meta_oldest_snapshot_thread_id",
"type": "UInt64"
},
{
"name": "storage_meta_oldest_snapshot_tracing_id",
"type": "String"
},
{
"name": "background_tasks_length",
"type": "UInt64"
}
],

"data":
[
["db_70", "t_135", "tpcc", "customer", "135", "0", "4", "3528714", "2464079200", "0", 0.002329177144988231, 1, 0, "929227", 0.16169850346757514, 0, "8128", 882178.5, 616019800, "4", "8219", "5747810", 2054.75, 1436952.5, 0, "4", "3520495", "2458331390", "1601563417", 880123.75, 614582847.5, "24", "8", 6, 342.4583333333333, 239492.08333333334, "482", 120.5, 7303.9315352697095, 5100272.593360996, "0", 0, "0", "", "0", 0, "0", "", "0", 0, "0", "", "0"],
["db_70", "t_137", "tpcc", "district", "137", "0", "1", "7993", "1346259", "0", 0.8748905292130614, 1, 0.8055198055198055, "252168", 0.21407121407121407, 0, "147272", 7993, 1346259, "1", "6993", "1178050", 6993, 1178050, 0, "1", "1000", "168209", "91344", 1000, 168209, "6", "6", 6, 1165.5, 196341.66666666666, "10", 10, 100, 16820.9, "0", 0, "0", "", "0", 0, "0", "", "0", 0, "0", "", "0"],
["db_70", "t_139", "tpcc", "history", "139", "0", "19", "19379697", "1629276978", "0", 0.0006053758219233252, 0.5789473684210527, 0.4626662120695534, "253640", 0.25434708489601093, 0, "293544", 1019984.052631579, 85751419.89473684, "11", "11732", "997220", 1066.5454545454545, 90656.36363636363, 0, "19", "19367965", "1628279758", "625147717", 1019366.5789473684, 85698934.63157895, "15", "4", 1.3636363636363635, 782.1333333333333, 66481.33333333333, "2378", 125.15789473684211, 8144.644659377628, 684726.559293524, "0", 0, "0", "", "0", 0, "0", "", "0", 0, "0", "", "0"],
["db_70", "t_141", "tpcc", "item", "141", "0", "1", "100000", "10799081", "0", 0, 0, null, "0", null, null, "0", 100000, 10799081, "0", "0", "0", null, null, null, "1", "100000", "10799081", "7357726", 100000, 10799081, "0", "0", null, null, null, "13", 13, 7692.307692307692, 830698.5384615385, "0", 0, "0", "", "0", 0, "0", "", "0", 0, "0", "", "0"],
["db_70", "t_143", "tpcc", "new_order", "143", "0", "4", "2717707", "78813503", "0", 0.02266763856442214, 1, 0.9678592299201351, "52809", 0.029559768846178818, 0, "1434208", 679426.75, 19703375.75, "4", "61604", "1786516", 15401, 446629, 0, "3", "2656103", "77026987", "40906492", 885367.6666666666, 25675662.333333332, "37", "24", 9.25, 1664.972972972973, 48284.21621621621, "380", 126.66666666666667, 6989.744736842105, 202702.59736842106, "0", 0, "0", "", "0", 0, "0", "", "0", 0, "0", "", "0"],
["db_70", "t_145", "tpcc", "order_line", "145", "0", "203", "210607202", "20007684190", "0", 0.0054566462546708164, 0.5862068965517241, 0.7810067620424135, "620065", 0.005679558722564825, 0, "22607144", 1037473.9014778325, 98560020.64039409, "119", "1149209", "109174855", 9657.218487394957, 917435.756302521, 0, "203", "209457993", "19898509335", "8724002804", 1031812.7733990147, 98022213.47290641, "893", "39", 7.504201680672269, 1286.9081746920492, 122256.27659574468, "31507", 155.20689655172413, 6647.982765734599, 631558.3627447869, "0", 0, "0", "", "0", 0, "0", "", "0", 0, "0", "", "0"],
["db_70", "t_147", "tpcc", "orders", "147", "0", "22", "21903301", "1270391458", "0", 0.02021357420052804, 0.7272727272727273, 0.9239944527763222, "260536", 0.010145817899282655, 0, "10025264", 995604.5909090909, 57745066.27272727, "16", "442744", "25679152", 27671.5, 1604947, 0, "22", "21460557", "1244712306", "452173775", 975479.8636363636, 56577832.09090909, "242", "34", 15.125, 1829.5206611570247, 106112.19834710743, "2973", 135.13636363636363, 7218.485368314833, 418672.15136226034, "0", 0, "0", "", "0", 0, "0", "", "0", 0, "0", "", "0"],
["db_70", "t_149", "tpcc", "stock", "149", "0", "42", "11112720", "4811805131", "0", 0.028085203262567582, 0.9761904761904762, 0.8463391893060944, "10227093", 0.07567373591410528, 0, "6719064", 264588.5714285714, 114566788.83333333, "41", "312103", "135131097", 7612.268292682927, 3295880.4146341463, 0, "42", "10800617", "4676674034", "3231872509", 257157.54761904763, 111349381.76190476, "238", "26", 5.804878048780488, 1311.357142857143, 567777.718487395, "1644", 39.142857142857146, 6569.718369829684, 2844692.234793187, "0", 0, "0", "", "0", 0, "0", "", "0", 0, "0", "", "0"],
["db_70", "t_151", "tpcc", "warehouse", "151", "0", "1", "5842", "923615", "0", 0.9828825744608011, 1, 0.9669104841518634, "70220", 0.07732497387669801, 0, "133048", 5842, 923615, "1", "5742", "907807", 5742, 907807, 0, "1", "100", "15808", "11642", 100, 15808, "5", "5", 5, 1148.4, 181561.4, "5", 5, 20, 3161.6, "0", 0, "0", "", "0", 0, "0", "", "0", 0, "0", "", "0"]
],

"rows": 9,

"rows_before_limit_at_least": 9,

"statistics":
{
"elapsed": 0.000217252,
"rows_read": 9,
"bytes_read": 4071
}
}
10 changes: 1 addition & 9 deletions infoschema/tables.go
Original file line number Diff line number Diff line change
Expand Up @@ -1369,6 +1369,7 @@ var tableTableTiFlashTablesCols = []columnInfo{
{name: "AVG_STABLE_ROWS", tp: mysql.TypeDouble, size: 64},
{name: "AVG_STABLE_SIZE", tp: mysql.TypeDouble, size: 64},
{name: "TOTAL_PACK_COUNT_IN_DELTA", tp: mysql.TypeLonglong, size: 64},
{name: "MAX_PACK_COUNT_IN_DELTA", tp: mysql.TypeLonglong, size: 64},
{name: "AVG_PACK_COUNT_IN_DELTA", tp: mysql.TypeDouble, size: 64},
{name: "AVG_PACK_ROWS_IN_DELTA", tp: mysql.TypeDouble, size: 64},
{name: "AVG_PACK_SIZE_IN_DELTA", tp: mysql.TypeDouble, size: 64},
Expand All @@ -1380,23 +1381,14 @@ var tableTableTiFlashTablesCols = []columnInfo{
{name: "STORAGE_STABLE_OLDEST_SNAPSHOT_LIFETIME", tp: mysql.TypeDouble, size: 64},
{name: "STORAGE_STABLE_OLDEST_SNAPSHOT_THREAD_ID", tp: mysql.TypeLonglong, size: 64},
{name: "STORAGE_STABLE_OLDEST_SNAPSHOT_TRACING_ID", tp: mysql.TypeVarchar, size: 128},
{name: "STORAGE_STABLE_NUM_PAGES", tp: mysql.TypeLonglong, size: 64},
{name: "STORAGE_STABLE_NUM_NORMAL_PAGES", tp: mysql.TypeLonglong, size: 64},
{name: "STORAGE_STABLE_MAX_PAGE_ID", tp: mysql.TypeLonglong, size: 64},
{name: "STORAGE_DELTA_NUM_SNAPSHOTS", tp: mysql.TypeLonglong, size: 64},
{name: "STORAGE_DELTA_OLDEST_SNAPSHOT_LIFETIME", tp: mysql.TypeDouble, size: 64},
{name: "STORAGE_DELTA_OLDEST_SNAPSHOT_THREAD_ID", tp: mysql.TypeLonglong, size: 64},
{name: "STORAGE_DELTA_OLDEST_SNAPSHOT_TRACING_ID", tp: mysql.TypeVarchar, size: 128},
{name: "STORAGE_DELTA_NUM_PAGES", tp: mysql.TypeLonglong, size: 64},
{name: "STORAGE_DELTA_NUM_NORMAL_PAGES", tp: mysql.TypeLonglong, size: 64},
{name: "STORAGE_DELTA_MAX_PAGE_ID", tp: mysql.TypeLonglong, size: 64},
{name: "STORAGE_META_NUM_SNAPSHOTS", tp: mysql.TypeLonglong, size: 64},
{name: "STORAGE_META_OLDEST_SNAPSHOT_LIFETIME", tp: mysql.TypeDouble, size: 64},
{name: "STORAGE_META_OLDEST_SNAPSHOT_THREAD_ID", tp: mysql.TypeLonglong, size: 64},
{name: "STORAGE_META_OLDEST_SNAPSHOT_TRACING_ID", tp: mysql.TypeVarchar, size: 128},
{name: "STORAGE_META_NUM_PAGES", tp: mysql.TypeLonglong, size: 64},
{name: "STORAGE_META_NUM_NORMAL_PAGES", tp: mysql.TypeLonglong, size: 64},
{name: "STORAGE_META_MAX_PAGE_ID", tp: mysql.TypeLonglong, size: 64},
{name: "BACKGROUND_TASKS_LENGTH", tp: mysql.TypeLonglong, size: 64},
{name: "TIFLASH_INSTANCE", tp: mysql.TypeVarchar, size: 64},
}
Expand Down