@@ -979,7 +979,6 @@ def test_manual_failover_process_no_leader_in_synchronous_mode(self):
979979 with patch ('patroni.ha.logger.warning' ) as mock_warning :
980980 self .ha .cluster = get_cluster_initialized_without_leader (failover = Failover (0 , '' , 'other' , None ),
981981 sync = ('leader1' , 'postgresql0' ))
982- self .p .sync_handler .current_state = Mock (return_value = (CaseInsensitiveSet (), CaseInsensitiveSet ()))
983982 self .ha .dcs .write_sync_state = Mock (return_value = SyncState .empty ())
984983 self .assertEqual (self .ha .run_cycle (), 'promoted self to leader by acquiring session lock' )
985984 self .assertEqual (mock_warning .call_args_list [0 ][0 ],
@@ -990,8 +989,6 @@ def test_manual_failover_process_no_leader_in_synchronous_mode(self):
990989 self .p .set_role (PostgresqlRole .REPLICA )
991990 self .ha .cluster = get_cluster_initialized_without_leader (failover = Failover (0 , '' , 'postgresql0' , None ),
992991 sync = ('leader1' , 'other' ))
993- self .p .sync_handler .current_state = Mock (return_value = (CaseInsensitiveSet (['leader1' ]),
994- CaseInsensitiveSet (['leader1' ])))
995992 self .assertEqual (self .ha .run_cycle (), 'promoted self to leader by acquiring session lock' )
996993
997994 def test_manual_switchover_process_no_leader_in_synchronous_mode (self ):
@@ -1366,7 +1363,8 @@ def test__process_multisync_replication(self):
13661363 self .ha .is_synchronous_mode = true
13671364
13681365 # Test sync standby not touched when picking the same node
1369- self .p .sync_handler .current_state = Mock (return_value = _SyncState ('priority' , 1 , 1 ,
1366+ self .p .sync_handler .current_state = Mock (return_value = _SyncState ('priority' , 1 ,
1367+ CaseInsensitiveSet (['other' ]),
13701368 CaseInsensitiveSet (['other' ]),
13711369 CaseInsensitiveSet (['other' ])))
13721370 self .ha .cluster = get_cluster_initialized_with_leader (sync = ('leader' , 'other' ))
@@ -1377,15 +1375,17 @@ def test__process_multisync_replication(self):
13771375 mock_cfg_set_sync .reset_mock ()
13781376
13791377 # Test sync standby is replaced when switching standbys
1380- self .p .sync_handler .current_state = Mock (return_value = _SyncState ('priority' , 0 , 0 , CaseInsensitiveSet (),
1378+ self .p .sync_handler .current_state = Mock (return_value = _SyncState ('priority' , 0 , CaseInsensitiveSet (),
1379+ CaseInsensitiveSet (),
13811380 CaseInsensitiveSet (['other2' ])))
13821381 self .ha .dcs .write_sync_state = Mock (return_value = SyncState .empty ())
13831382 self .ha .run_cycle ()
13841383 mock_set_sync .assert_called_once_with (CaseInsensitiveSet (['other2' ]))
13851384 mock_cfg_set_sync .assert_not_called ()
13861385
13871386 # Test sync standby is replaced when new standby is joined
1388- self .p .sync_handler .current_state = Mock (return_value = _SyncState ('priority' , 1 , 1 ,
1387+ self .p .sync_handler .current_state = Mock (return_value = _SyncState ('priority' , 1 ,
1388+ CaseInsensitiveSet (['other2' ]),
13891389 CaseInsensitiveSet (['other2' ]),
13901390 CaseInsensitiveSet (['other2' , 'other3' ])))
13911391 self .ha .dcs .write_sync_state = Mock (return_value = SyncState .empty ())
@@ -1408,7 +1408,8 @@ def test__process_multisync_replication(self):
14081408 self .ha .dcs .write_sync_state = Mock (return_value = SyncState .empty ())
14091409 self .ha .dcs .get_cluster = Mock (return_value = get_cluster_initialized_with_leader (sync = ('leader' , 'other' )))
14101410 # self.ha.cluster = get_cluster_initialized_with_leader(sync=('leader', 'other'))
1411- self .p .sync_handler .current_state = Mock (return_value = _SyncState ('priority' , 1 , 1 ,
1411+ self .p .sync_handler .current_state = Mock (return_value = _SyncState ('priority' , 1 ,
1412+ CaseInsensitiveSet (['other2' ]),
14121413 CaseInsensitiveSet (['other2' ]),
14131414 CaseInsensitiveSet (['other2' ])))
14141415 self .ha .run_cycle ()
@@ -1433,8 +1434,8 @@ def test__process_multisync_replication(self):
14331434 # Test sync set to '*' when synchronous_mode_strict is enabled
14341435 mock_set_sync .reset_mock ()
14351436 mock_cfg_set_sync .reset_mock ()
1436- self .p .sync_handler .current_state = Mock (return_value = _SyncState ('priority' , 0 , 0 , CaseInsensitiveSet (),
1437- CaseInsensitiveSet ()))
1437+ self .p .sync_handler .current_state = Mock (return_value = _SyncState ('priority' , 0 , CaseInsensitiveSet (),
1438+ CaseInsensitiveSet (), CaseInsensitiveSet () ))
14381439 with patch .object (global_config .__class__ , 'is_synchronous_mode_strict' , PropertyMock (return_value = True )):
14391440 self .ha .run_cycle ()
14401441 mock_set_sync .assert_called_once_with (CaseInsensitiveSet ('*' ))
@@ -1545,7 +1546,7 @@ def test_enable_synchronous_mode(self):
15451546 self .ha .is_synchronous_mode = true
15461547 self .ha .has_lock = true
15471548 self .p .name = 'leader'
1548- self .p .sync_handler .current_state = Mock (return_value = _SyncState ('priority' , 0 , 0 ,
1549+ self .p .sync_handler .current_state = Mock (return_value = _SyncState ('priority' , 0 , CaseInsensitiveSet () ,
15491550 CaseInsensitiveSet (), CaseInsensitiveSet ()))
15501551 self .ha .dcs .write_sync_state = Mock (return_value = SyncState .empty ())
15511552 with patch ('patroni.ha.logger.info' ) as mock_logger :
@@ -1562,7 +1563,7 @@ def test_inconsistent_synchronous_state(self):
15621563 self .ha .has_lock = true
15631564 self .p .name = 'leader'
15641565 self .ha .cluster = get_cluster_initialized_without_leader (sync = ('leader' , 'a' ))
1565- self .p .sync_handler .current_state = Mock (return_value = _SyncState ('priority' , 0 , 0 ,
1566+ self .p .sync_handler .current_state = Mock (return_value = _SyncState ('priority' , 0 , CaseInsensitiveSet () ,
15661567 CaseInsensitiveSet (), CaseInsensitiveSet ('a' )))
15671568 self .ha .dcs .write_sync_state = Mock (return_value = SyncState .empty ())
15681569 mock_set_sync = self .p .sync_handler .set_synchronous_standby_names = Mock ()
@@ -1790,7 +1791,8 @@ def test__process_quorum_replication(self):
17901791
17911792 mock_write_sync = self .ha .dcs .write_sync_state = Mock (return_value = None )
17921793 # Test /sync key is attempted to set and failed when missing or invalid
1793- self .p .sync_handler .current_state = Mock (return_value = _SyncState ('quorum' , 1 , 1 , CaseInsensitiveSet (['other' ]),
1794+ self .p .sync_handler .current_state = Mock (return_value = _SyncState ('quorum' , 1 , CaseInsensitiveSet (['other' ]),
1795+ CaseInsensitiveSet (['other' ]),
17941796 CaseInsensitiveSet (['other' ])))
17951797 self .ha .run_cycle ()
17961798 self .assertEqual (mock_write_sync .call_count , 1 )
@@ -1810,9 +1812,11 @@ def test__process_quorum_replication(self):
18101812 self .assertEqual (mock_write_sync .call_args_list [1 ][1 ], {'version' : None })
18111813 self .assertEqual (mock_set_sync .call_count , 0 )
18121814
1813- self .p .sync_handler .current_state = Mock (side_effect = [_SyncState ('quorum' , 1 , 0 , CaseInsensitiveSet (['foo' ]),
1815+ self .p .sync_handler .current_state = Mock (side_effect = [_SyncState ('quorum' , 1 , CaseInsensitiveSet (['foo' ]),
1816+ CaseInsensitiveSet (),
18141817 CaseInsensitiveSet (['other' ])),
1815- _SyncState ('quorum' , 1 , 1 , CaseInsensitiveSet (['foo' ]),
1818+ _SyncState ('quorum' , 1 , CaseInsensitiveSet (['foo' ]),
1819+ CaseInsensitiveSet (['foo' ]),
18161820 CaseInsensitiveSet (['foo' ]))])
18171821 mock_write_sync = self .ha .dcs .write_sync_state = Mock (return_value = SyncState (1 , 'leader' , 'foo' , 0 ))
18181822 self .ha .cluster = get_cluster_initialized_with_leader (sync = ('leader' , 'foo' ))
@@ -1827,8 +1831,9 @@ def test__process_quorum_replication(self):
18271831 self .assertEqual (mock_set_sync .call_args_list [0 ][0 ], ('ANY 1 (other)' ,))
18281832
18291833 # Test ANY 1 (*) when synchronous_mode_strict and no nodes available
1830- self .p .sync_handler .current_state = Mock (return_value = _SyncState ('quorum' , 1 , 0 ,
1834+ self .p .sync_handler .current_state = Mock (return_value = _SyncState ('quorum' , 1 ,
18311835 CaseInsensitiveSet (['other' , 'foo' ]),
1836+ CaseInsensitiveSet (),
18321837 CaseInsensitiveSet ()))
18331838 mock_write_sync .reset_mock ()
18341839 mock_set_sync .reset_mock ()
0 commit comments