diff --git a/features/citus.feature b/features/citus.feature index 0ee08fdf..35ccebbe 100644 --- a/features/citus.feature +++ b/features/citus.feature @@ -16,14 +16,15 @@ Feature: citus Scenario: coordinator failover updates pg_dist_node Given I run patronictl.py failover batman --group 0 --candidate postgres1 --force Then postgres1 role is the primary after 10 seconds + And "members/postgres0" key in a group 0 in DCS has state=running after 15 seconds And replication works from postgres1 to postgres0 after 15 seconds - And "sync" key in a group 0 in DCS has sync_standby=postgres0 after 15 seconds And postgres1 is registered in the postgres2 as the primary in group 0 after 5 seconds - When I run patronictl.py failover batman --group 0 --candidate postgres0 --force + And "sync" key in a group 0 in DCS has sync_standby=postgres0 after 15 seconds + When I run patronictl.py switchover batman --group 0 --candidate postgres0 --force Then postgres0 role is the primary after 10 seconds And replication works from postgres0 to postgres1 after 15 seconds - And "sync" key in a group 0 in DCS has sync_standby=postgres1 after 15 seconds And postgres0 is registered in the postgres2 as the primary in group 0 after 5 seconds + And "sync" key in a group 0 in DCS has sync_standby=postgres1 after 15 seconds Scenario: worker switchover doesn't break client queries on the coordinator Given I create a distributed table on postgres0 @@ -31,16 +32,17 @@ Feature: citus When I run patronictl.py switchover batman --group 1 --force Then I receive a response returncode 0 And postgres3 role is the primary after 10 seconds + And "members/postgres2" key in a group 1 in DCS has state=running after 15 seconds And replication works from postgres3 to postgres2 after 15 seconds - And "sync" key in a group 1 in DCS has sync_standby=postgres2 after 15 seconds And postgres3 is registered in the postgres0 as the primary in group 1 after 5 seconds + And "sync" key in a group 1 in DCS has sync_standby=postgres2 after 15 seconds And a thread is still alive When I run patronictl.py switchover batman --group 1 --force Then I receive a response returncode 0 And postgres2 role is the primary after 10 seconds And replication works from postgres2 to postgres3 after 15 seconds - And "sync" key in a group 1 in DCS has sync_standby=postgres3 after 15 seconds And postgres2 is registered in the postgres0 as the primary in group 1 after 5 seconds + And "sync" key in a group 1 in DCS has sync_standby=postgres3 after 15 seconds And a thread is still alive When I stop a thread Then a distributed table on postgres0 has expected rows