From c9199853a0d11f7d7927bb9f68d548aa07e28583 Mon Sep 17 00:00:00 2001 From: JaySon Date: Sat, 12 Nov 2022 10:41:54 +0800 Subject: [PATCH] systable: Adapt with tiflash_tables changes (#39001) ref pingcap/tiflash#6162 --- executor/infoschema_reader_test.go | 50 +++- executor/testdata/tiflash_v640_dt_tables.json | 241 ++++++++++++++++++ infoschema/tables.go | 10 +- 3 files changed, 289 insertions(+), 12 deletions(-) create mode 100644 executor/testdata/tiflash_v640_dt_tables.json diff --git a/executor/infoschema_reader_test.go b/executor/infoschema_reader_test.go index 803d51536b47a..c55c51031fa24 100644 --- a/executor/infoschema_reader_test.go +++ b/executor/infoschema_reader_test.go @@ -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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 0 0 102000 169873868 0 0 0 1 102000 169873868 43867622 102000 169873868 0 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 0 0 0 0 0 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 0 0 0 0 0 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 0 0 102000 169873868 0 0 0 1 102000 169873868 43867622 102000 169873868 0 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()) } @@ -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 0 0 100000 10799081 0 0 0 1 100000 10799081 7357726 100000 10799081 0 0 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) diff --git a/executor/testdata/tiflash_v640_dt_tables.json b/executor/testdata/tiflash_v640_dt_tables.json new file mode 100644 index 0000000000000..d86ce41f6124c --- /dev/null +++ b/executor/testdata/tiflash_v640_dt_tables.json @@ -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 + } +} diff --git a/infoschema/tables.go b/infoschema/tables.go index 6f8a5e6cab211..656a99f52d838 100644 --- a/infoschema/tables.go +++ b/infoschema/tables.go @@ -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}, @@ -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}, }