Python kazoo.client.KazooState.LOST Examples
The following are 7
code examples of kazoo.client.KazooState.LOST().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
kazoo.client.KazooState
, or try the search function
.
Example #1
Source File: lock.py From panoptes with Apache License 2.0 | 6 votes |
def _lock_listener(self, state): """ Listener to handle ZK disconnection/reconnection. Since I don't know of safe way to check if a lock is still in ZK after a reconnect, we simply release the lock and try and re-acquire it. Args: state (kazoo.client.KazooState): The state of the ZK connection Returns: None """ if state in [KazooState.LOST, KazooState.SUSPENDED]: self._logger.warn(u'Disconnected from Zookeeper, waiting to reconnect lock for {}'.format(str(self))) self._locked = False elif state == KazooState.CONNECTED: self._logger.warn( u'Reconnected to Zookeeper, trying to release and re-acquire lock for {}'.format(str(self))) self._context.zookeeper_client.handler.spawn(self._release_and_reacquire) else: self._logger.warn(u'Got unknown state "{}" from Zookeeper'.format(state))
Example #2
Source File: kazoo.py From iris with BSD 2-Clause "Simplified" License | 6 votes |
def event_listener(self, state): if state == KazooState.LOST or state == KazooState.SUSPENDED: logger.info('ZK state transitioned to %s. Resetting master status.', state) # cancel pending attempts to acquire lock which will break and leave # us in bad state self.lock.cancel() # make us try to re-acquire lock during next iteration when we're connected if self.lock.is_acquired: self.lock.is_acquired = False # make us try to rejoin the party during next iteration when we're connected if self.party.participating: self.party.participating = False # in the meantime we're not master self.is_master = None
Example #3
Source File: zookeeper_watcher.py From scrapy-cluster with MIT License | 5 votes |
def state_listener(self, state): ''' Restarts the session if we get anything besides CONNECTED ''' if state == KazooState.SUSPENDED: self.set_valid(False) self.call_error(self.BAD_CONNECTION) elif state == KazooState.LOST and not self.do_not_restart: self.threaded_start() elif state == KazooState.CONNECTED: # This is going to throw a SUSPENDED kazoo error # which will cause the sessions to be wiped and re established. # Used b/c of massive connection pool issues self.zoo_client.stop()
Example #4
Source File: zktx.py From pykit with MIT License | 5 votes |
def _on_conn_change(self, state): logger.debug('state changed: {state}'.format(state=state,)) with self.state_lock: if state == KazooState.LOST or state == KazooState.SUSPENDED: self.connected = False
Example #5
Source File: leader.py From paasta with Apache License 2.0 | 5 votes |
def connection_listener(self, state: KazooState) -> None: self.log.warning(f"Zookeeper connection transitioned to: {state}") if state == KazooState.SUSPENDED: self.log.warning( "Zookeeper connection suspended, waiting to see if it recovers." ) if not self.waiting_for_reconnect: self.waiting_for_reconnect = True reconnection_checker = PaastaThread(target=self.reconnection_listener) reconnection_checker.daemon = True reconnection_checker.start() elif state == KazooState.LOST: self.log.error("Leadership lost, quitting!") self._terminate()
Example #6
Source File: test_leader.py From paasta with Apache License 2.0 | 5 votes |
def test_connection_listener(self): with mock.patch( "paasta_tools.deployd.leader.PaastaThread", autospec=True ) as mock_paasta_thread: self.election.connection_listener(KazooState.CONNECTED) self.election.connection_listener(KazooState.SUSPENDED) mock_paasta_thread.assert_called_with( target=self.election.reconnection_listener ) assert self.election.waiting_for_reconnect self.election.connection_listener(KazooState.LOST) self.mock_control.put.assert_called_with("ABORT")
Example #7
Source File: zookeeper.py From patroni with MIT License | 5 votes |
def session_listener(self, state): if state in [KazooState.SUSPENDED, KazooState.LOST]: self.cluster_watcher(None)