mirror of https://github.com/citusdata/citus.git
Fix multi_repair_shards. There's already a group/shardid entry, pg11 gives us back the inserted one, pg12 gives us the preexisting one
parent
66ce2d2d2d
commit
5e835e7565
|
@ -66,13 +66,11 @@ SELECT master_copy_shard_placement(:newshardid, 'localhost', :worker_1_port, 'lo
|
||||||
|
|
||||||
INSERT INTO customer_engagements VALUES (4, '04-01-2015', 'fourth event');
|
INSERT INTO customer_engagements VALUES (4, '04-01-2015', 'fourth event');
|
||||||
ROLLBACK;
|
ROLLBACK;
|
||||||
-- add a fake healthy placement for the tests
|
-- deactivate placement
|
||||||
INSERT INTO pg_dist_placement (groupid, shardid, shardstate, shardlength)
|
UPDATE pg_dist_placement SET shardstate = 1 WHERE groupid = :worker_2_group and shardid = :newshardid;
|
||||||
VALUES (:worker_2_group, :newshardid, 1, 0);
|
|
||||||
SELECT master_copy_shard_placement(:newshardid, 'localhost', :worker_1_port, 'localhost', :worker_2_port);
|
SELECT master_copy_shard_placement(:newshardid, 'localhost', :worker_1_port, 'localhost', :worker_2_port);
|
||||||
ERROR: target placement must be in inactive state
|
ERROR: target placement must be in inactive state
|
||||||
DELETE FROM pg_dist_placement
|
UPDATE pg_dist_placement SET shardstate = 3 WHERE groupid = :worker_2_group and shardid = :newshardid;
|
||||||
WHERE groupid = :worker_2_group AND shardid = :newshardid AND shardstate = 1;
|
|
||||||
-- also try to copy from an inactive placement
|
-- also try to copy from an inactive placement
|
||||||
SELECT master_copy_shard_placement(:newshardid, 'localhost', :worker_2_port, 'localhost', :worker_1_port);
|
SELECT master_copy_shard_placement(:newshardid, 'localhost', :worker_2_port, 'localhost', :worker_1_port);
|
||||||
ERROR: source placement must be in finalized state
|
ERROR: source placement must be in finalized state
|
||||||
|
|
|
@ -62,15 +62,12 @@ SELECT master_copy_shard_placement(:newshardid, 'localhost', :worker_1_port, 'lo
|
||||||
INSERT INTO customer_engagements VALUES (4, '04-01-2015', 'fourth event');
|
INSERT INTO customer_engagements VALUES (4, '04-01-2015', 'fourth event');
|
||||||
ROLLBACK;
|
ROLLBACK;
|
||||||
|
|
||||||
-- add a fake healthy placement for the tests
|
-- deactivate placement
|
||||||
|
UPDATE pg_dist_placement SET shardstate = 1 WHERE groupid = :worker_2_group and shardid = :newshardid;
|
||||||
INSERT INTO pg_dist_placement (groupid, shardid, shardstate, shardlength)
|
|
||||||
VALUES (:worker_2_group, :newshardid, 1, 0);
|
|
||||||
|
|
||||||
SELECT master_copy_shard_placement(:newshardid, 'localhost', :worker_1_port, 'localhost', :worker_2_port);
|
SELECT master_copy_shard_placement(:newshardid, 'localhost', :worker_1_port, 'localhost', :worker_2_port);
|
||||||
|
|
||||||
DELETE FROM pg_dist_placement
|
UPDATE pg_dist_placement SET shardstate = 3 WHERE groupid = :worker_2_group and shardid = :newshardid;
|
||||||
WHERE groupid = :worker_2_group AND shardid = :newshardid AND shardstate = 1;
|
|
||||||
|
|
||||||
-- also try to copy from an inactive placement
|
-- also try to copy from an inactive placement
|
||||||
SELECT master_copy_shard_placement(:newshardid, 'localhost', :worker_2_port, 'localhost', :worker_1_port);
|
SELECT master_copy_shard_placement(:newshardid, 'localhost', :worker_2_port, 'localhost', :worker_1_port);
|
||||||
|
|
Loading…
Reference in New Issue