public LeaderElector(ZKWatcher watcher, String serverName) { setDaemon(true); setName("ZKSecretWatcher-leaderElector"); zkLeader = new ZKLeaderManager(watcher, ZNodePaths.joinZNode(zkWatcher.getRootKeyZNode(), "keymaster"), Bytes.toBytes(serverName), this); }
@Override public void run() { while (!stopped) { zkLeader.start(); zkLeader.waitToBecomeLeader(); master.set(true); while (master.get() && !stopped) { try { Thread.sleep(10); } catch (InterruptedException ignored) {} } } }
@Override public void stop(String reason) { if (stopped) { return; } stopped = true; // prevent further key generation when stopping if (isMaster) { zkLeader.stepDownAsLeader(); } isMaster = false; LOG.info("Stopping leader election, because: "+reason); interrupt(); }
@Override public void nodeDeleted(String path) { if (leaderZNode.equals(path) && !candidate.isStopped()) { handleLeaderChange(); } }
@Override public void nodeCreated(String path) { if (leaderZNode.equals(path) && !candidate.isStopped()) { handleLeaderChange(); } }
@Override public void run() { zkLeader.start(); zkLeader.waitToBecomeLeader(); isMaster = true; while (!stopped) { long now = EnvironmentEdgeManager.currentTime(); // clear any expired removeExpiredKeys(); long localLastKeyUpdate = getLastKeyUpdate(); if (localLastKeyUpdate + keyUpdateInterval < now) { // roll a new master key rollCurrentKey(); } try { Thread.sleep(5000); } catch (InterruptedException ie) { if (LOG.isDebugEnabled()) { LOG.debug("Interrupted waiting for next update", ie); } } } } }
public MockLeader(ZKWatcher watcher, int index) { setDaemon(true); setName("TestZKLeaderManager-leader-" + index); this.index = index; this.watcher = watcher; this.zkLeader = new ZKLeaderManager(watcher, LEADER_ZNODE, Bytes.toBytes(index), this); }
public void abdicate() { zkLeader.stepDownAsLeader(); master.set(false); }
@Override public void nodeDeleted(String path) { if (leaderZNode.equals(path) && !candidate.isStopped()) { handleLeaderChange(); } }
@Override public void run() { while (!stopped) { zkLeader.start(); zkLeader.waitToBecomeLeader(); master.set(true); while (master.get() && !stopped) { try { Thread.sleep(10); } catch (InterruptedException ignored) {} } } }
public LeaderElector(ZooKeeperWatcher watcher, String serverName) { setDaemon(true); setName("ZKSecretWatcher-leaderElector"); zkLeader = new ZKLeaderManager(watcher, ZKUtil.joinZNode(zkWatcher.getRootKeyZNode(), "keymaster"), Bytes.toBytes(serverName), this); }
public void abdicate() { zkLeader.stepDownAsLeader(); master.set(false); }
@Override public void nodeCreated(String path) { if (leaderZNode.equals(path) && !candidate.isStopped()) { handleLeaderChange(); } }
@Override public void run() { while (!stopped) { zkLeader.start(); zkLeader.waitToBecomeLeader(); master.set(true); while (master.get() && !stopped) { try { Thread.sleep(10); } catch (InterruptedException ignored) {} } } }
public MockLeader(ZKWatcher watcher, int index) { setDaemon(true); setName("TestZKLeaderManager-leader-" + index); this.index = index; this.watcher = watcher; this.zkLeader = new ZKLeaderManager(watcher, LEADER_ZNODE, Bytes.toBytes(index), this); }
public void abdicate() { zkLeader.stepDownAsLeader(); master.set(false); }
@Override public void nodeCreated(String path) { if (leaderZNode.equals(path) && !candidate.isStopped()) { handleLeaderChange(); } }
public void run() { zkLeader.start(); zkLeader.waitToBecomeLeader(); isMaster = true; while (!stopped) { long now = EnvironmentEdgeManager.currentTime(); // clear any expired removeExpiredKeys(); long localLastKeyUpdate = getLastKeyUpdate(); if (localLastKeyUpdate + keyUpdateInterval < now) { // roll a new master key rollCurrentKey(); } try { Thread.sleep(5000); } catch (InterruptedException ie) { if (LOG.isDebugEnabled()) { LOG.debug("Interrupted waiting for next update", ie); } } } } }
public MockLeader(ZKWatcher watcher, int index) { setDaemon(true); setName("TestZKLeaderManager-leader-" + index); this.index = index; this.watcher = watcher; this.zkLeader = new ZKLeaderManager(watcher, LEADER_ZNODE, Bytes.toBytes(index), this); }
@Override public void stop(String reason) { if (stopped) { return; } stopped = true; // prevent further key generation when stopping if (isMaster) { zkLeader.stepDownAsLeader(); } isMaster = false; LOG.info("Stopping leader election, because: "+reason); interrupt(); }