public class LeaderElectorImp extends Object implements ILeaderElector
Constructor and Description |
---|
LeaderElectorImp(org.apache.storm.shade.org.apache.curator.framework.CuratorFramework zk,
String id,
LeaderListenerCallbackFactory leaderListenerCallbackFactory) |
Modifier and Type | Method and Description |
---|---|
void |
addToLeaderLockQueue()
queue up for leadership lock.
|
boolean |
awaitLeadership(long timeout,
TimeUnit timeUnit)
Wait for the caller to gain leadership.
|
void |
close()
Method called to allow for cleanup.
|
List<NimbusInfo> |
getAllNimbuses()
Get list of current nimbus addresses.
|
NimbusInfo |
getLeader()
Get the current leader's address.
|
boolean |
isLeader()
Decide if the caller currently has the leader lock.
|
void |
prepare(Map<String,Object> conf)
Method guaranteed to be called as part of initialization of leader elector instance.
|
void |
quitElectionFor(int delayMs)
Removes the caller from leadership election, relinquishing leadership if acquired, then requeues for leadership after the specified
delay.
|
public LeaderElectorImp(org.apache.storm.shade.org.apache.curator.framework.CuratorFramework zk, String id, LeaderListenerCallbackFactory leaderListenerCallbackFactory)
public void prepare(Map<String,Object> conf)
ILeaderElector
prepare
in interface ILeaderElector
conf
- configurationpublic void addToLeaderLockQueue() throws Exception
ILeaderElector
addToLeaderLockQueue
in interface ILeaderElector
Exception
public void quitElectionFor(int delayMs) throws Exception
ILeaderElector
quitElectionFor
in interface ILeaderElector
delayMs
- The delay to wait before re-entering the electionException
public boolean isLeader() throws Exception
ILeaderElector
isLeader
in interface ILeaderElector
Exception
public boolean awaitLeadership(long timeout, TimeUnit timeUnit) throws InterruptedException
ILeaderElector
awaitLeadership
in interface ILeaderElector
InterruptedException
public NimbusInfo getLeader()
ILeaderElector
getLeader
in interface ILeaderElector
public List<NimbusInfo> getAllNimbuses() throws Exception
ILeaderElector
getAllNimbuses
in interface ILeaderElector
Exception
public void close() throws Exception
ILeaderElector
close
in interface AutoCloseable
close
in interface ILeaderElector
Exception
Copyright © 2023 The Apache Software Foundation. All rights reserved.