|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.hadoop.hbase.zookeeper.ZooKeeperWatcher
public class ZooKeeperWatcher
Acts as the single ZooKeeper Watcher. One instance of this is instantiated for each Master, RegionServer, and client process.
This is the only class that implements Watcher
. Other internal
classes which need to be notified of ZooKeeper events must register with
the local instance of this watcher via registerListener(org.apache.hadoop.hbase.zookeeper.ZooKeeperListener)
.
This class also holds and manages the connection to ZooKeeper. Code to deal with connection related events and exceptions are handled here.
Nested Class Summary |
---|
Nested classes/interfaces inherited from interface org.apache.zookeeper.Watcher |
---|
org.apache.zookeeper.Watcher.Event |
Field Summary | |
---|---|
String |
assignmentZNode
|
String |
backupMasterAddressesZNode
|
String |
baseZNode
|
String |
clientTableZNode
|
String |
clusterIdZNode
|
String |
clusterStateZNode
|
static ArrayList<org.apache.zookeeper.data.ACL> |
CREATOR_ALL_AND_WORLD_READABLE
|
String |
drainingZNode
|
String |
masterAddressZNode
|
String |
masterTableZNode
|
String |
masterTableZNode92
|
String |
rootServerZNode
|
String |
rsZNode
|
String |
splitLogZNode
|
Constructor Summary | |
---|---|
ZooKeeperWatcher(org.apache.hadoop.conf.Configuration conf,
String descriptor,
Abortable abortable)
Instantiate a ZooKeeper connection and watcher. |
|
ZooKeeperWatcher(org.apache.hadoop.conf.Configuration conf,
String descriptor,
Abortable abortable,
boolean canCreateBaseZNode)
Instantiate a ZooKeeper connection and watcher. |
Method Summary | |
---|---|
void |
abort(String why,
Throwable e)
Abort the server or client. |
void |
close()
Close the connection to ZooKeeper. |
org.apache.hadoop.conf.Configuration |
getConfiguration()
|
List<ZooKeeperListener> |
getListeners()
Get a copy of current registered listeners |
int |
getNumberOfListeners()
|
String |
getQuorum()
Get the quorum address of this instance. |
RecoverableZooKeeper |
getRecoverableZooKeeper()
Get the connection to ZooKeeper. |
void |
interruptedException(InterruptedException ie)
Handles InterruptedExceptions in client calls. |
boolean |
isAborted()
Check if the server or client was aborted. |
void |
keeperException(org.apache.zookeeper.KeeperException ke)
Handles KeeperExceptions in client calls. |
String |
prefix(String str)
Adds this instance's identifier as a prefix to the passed str |
void |
process(org.apache.zookeeper.WatchedEvent event)
Method called from ZooKeeper for events and connection status. |
void |
reconnectAfterExpiration()
|
void |
registerListener(ZooKeeperListener listener)
Register the specified listener to receive ZooKeeper events. |
void |
registerListenerFirst(ZooKeeperListener listener)
Register the specified listener to receive ZooKeeper events and add it as the first in the list of current listeners. |
void |
sync(String path)
Forces a synchronization of this ZooKeeper client connection. |
String |
toString()
|
void |
unregisterAllListeners()
Clean all existing listeners |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
public String baseZNode
public String rootServerZNode
public String rsZNode
public String drainingZNode
public String masterAddressZNode
public String backupMasterAddressesZNode
public String clusterStateZNode
public String assignmentZNode
public String masterTableZNode
public String clientTableZNode
public String masterTableZNode92
public String clusterIdZNode
public String splitLogZNode
public static final ArrayList<org.apache.zookeeper.data.ACL> CREATOR_ALL_AND_WORLD_READABLE
Constructor Detail |
---|
public ZooKeeperWatcher(org.apache.hadoop.conf.Configuration conf, String descriptor, Abortable abortable) throws ZooKeeperConnectionException, IOException
descriptor
- Descriptive string that is added to zookeeper sessionid
and used as identifier for this instance.
IOException
ZooKeeperConnectionException
public ZooKeeperWatcher(org.apache.hadoop.conf.Configuration conf, String descriptor, Abortable abortable, boolean canCreateBaseZNode) throws IOException, ZooKeeperConnectionException
descriptor
- Descriptive string that is added to zookeeper sessionid
and used as identifier for this instance.
IOException
ZooKeeperConnectionException
Method Detail |
---|
public String toString()
toString
in class Object
public String prefix(String str)
str
str
- String to amend.
public void registerListener(ZooKeeperListener listener)
listener
- public void registerListenerFirst(ZooKeeperListener listener)
listener
- public void unregisterAllListeners()
public List<ZooKeeperListener> getListeners()
public int getNumberOfListeners()
public RecoverableZooKeeper getRecoverableZooKeeper()
public void reconnectAfterExpiration() throws IOException, InterruptedException
IOException
InterruptedException
public String getQuorum()
public void process(org.apache.zookeeper.WatchedEvent event)
Valid events are passed along to listeners. Connection status changes are dealt with locally.
process
in interface org.apache.zookeeper.Watcher
public void sync(String path)
Executing this method before running other methods will ensure that the subsequent operations are up-to-date and consistent as of the time that the sync is complete.
This is used for compareAndSwap type operations where we need to read the data of an existing node and delete or transition that node, utilizing the previously read version and data. We want to ensure that the version read is up-to-date from when we begin the operation.
public void keeperException(org.apache.zookeeper.KeeperException ke) throws org.apache.zookeeper.KeeperException
This may be temporary but for now this gives one place to deal with these.
TODO: Currently this method rethrows the exception to let the caller handle
ke
-
org.apache.zookeeper.KeeperException
public void interruptedException(InterruptedException ie)
This may be temporary but for now this gives one place to deal with these.
TODO: Currently, this method does nothing. Is this ever expected to happen? Do we abort or can we let it run? Maybe this should be logged as WARN? It shouldn't happen?
ie
- public void close()
InterruptedException
public org.apache.hadoop.conf.Configuration getConfiguration()
public void abort(String why, Throwable e)
Abortable
abort
in interface Abortable
why
- Why we're aborting.e
- Throwable that caused abort. Can be null.public boolean isAborted()
Abortable
isAborted
in interface Abortable
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |