Verify that we can replicate reference tables using rebalancer

release-11.0-gokhan
Marco Slot 2022-08-23 23:11:33 +02:00 committed by Marco Slot
parent 9dc6273b88
commit 006c8eacc0
2 changed files with 27 additions and 0 deletions

View File

@ -774,6 +774,7 @@ SELECT 1 FROM master_remove_node('localhost', :worker_2_port);
(1 row) (1 row)
CREATE TABLE ref_table(a int); CREATE TABLE ref_table(a int);
CREATE INDEX ON ref_table (a);
SELECT create_reference_table('ref_table'); SELECT create_reference_table('ref_table');
create_reference_table create_reference_table
--------------------------------------------------------------------- ---------------------------------------------------------------------
@ -995,6 +996,25 @@ WHERE nodeport=:worker_1_port;
0 0
(1 row) (1 row)
-- test that we can use non-blocking rebalance
SELECT 1 FROM master_remove_node('localhost', :worker_2_port);
?column?
---------------------------------------------------------------------
1
(1 row)
SELECT 1 FROM master_add_node('localhost', :worker_2_port);
?column?
---------------------------------------------------------------------
1
(1 row)
SELECT rebalance_table_shards(shard_transfer_mode := 'force_logical');
rebalance_table_shards
---------------------------------------------------------------------
(1 row)
-- test that metadata is synced on replicate_reference_tables -- test that metadata is synced on replicate_reference_tables
SELECT 1 FROM master_remove_node('localhost', :worker_2_port); SELECT 1 FROM master_remove_node('localhost', :worker_2_port);
?column? ?column?

View File

@ -506,6 +506,7 @@ ORDER BY 1,4,5;
SELECT 1 FROM master_remove_node('localhost', :worker_2_port); SELECT 1 FROM master_remove_node('localhost', :worker_2_port);
CREATE TABLE ref_table(a int); CREATE TABLE ref_table(a int);
CREATE INDEX ON ref_table (a);
SELECT create_reference_table('ref_table'); SELECT create_reference_table('ref_table');
INSERT INTO ref_table SELECT * FROM generate_series(1, 10); INSERT INTO ref_table SELECT * FROM generate_series(1, 10);
@ -611,6 +612,12 @@ SELECT result::int - :ref_table_placements
FROM run_command_on_workers('SELECT count(*) FROM pg_dist_placement a, pg_dist_shard b, pg_class c WHERE a.shardid=b.shardid AND b.logicalrelid=c.oid AND c.relname=''ref_table''') FROM run_command_on_workers('SELECT count(*) FROM pg_dist_placement a, pg_dist_shard b, pg_class c WHERE a.shardid=b.shardid AND b.logicalrelid=c.oid AND c.relname=''ref_table''')
WHERE nodeport=:worker_1_port; WHERE nodeport=:worker_1_port;
-- test that we can use non-blocking rebalance
SELECT 1 FROM master_remove_node('localhost', :worker_2_port);
SELECT 1 FROM master_add_node('localhost', :worker_2_port);
SELECT rebalance_table_shards(shard_transfer_mode := 'force_logical');
-- test that metadata is synced on replicate_reference_tables -- test that metadata is synced on replicate_reference_tables
SELECT 1 FROM master_remove_node('localhost', :worker_2_port); SELECT 1 FROM master_remove_node('localhost', :worker_2_port);
SELECT 1 FROM master_add_node('localhost', :worker_2_port); SELECT 1 FROM master_add_node('localhost', :worker_2_port);