@InterfaceAudience.Private public class ReplicationPeerZKImpl extends Object implements ReplicationPeer, Abortable, Closeable
Modifier and Type | Class and Description |
---|---|
class |
ReplicationPeerZKImpl.PeerStateTracker
Tracker for state of this peer
|
class |
ReplicationPeerZKImpl.TableCFsTracker
Tracker for (table, cf-list) map of this peer
|
ReplicationPeer.PeerState
Constructor and Description |
---|
ReplicationPeerZKImpl(Configuration conf,
String id,
ReplicationPeerConfig peerConfig)
Constructor that takes all the objects required to communicate with the
specified peer, except for the region server addresses.
|
Modifier and Type | Method and Description |
---|---|
void |
abort(String why,
Throwable e)
Abort the server or client.
|
void |
close() |
Configuration |
getConfiguration()
Get the configuration object required to communicate with this peer
|
String |
getId()
Get the identifier of this peer
|
ReplicationPeerConfig |
getPeerConfig()
Get the peer config object
|
ReplicationPeer.PeerState |
getPeerState()
Returns the state of the peer
|
Map<TableName,List<String>> |
getTableCFs()
Get replicable (table, cf-list) map of this peer
|
boolean |
isAborted()
Check if the server or client was aborted.
|
static boolean |
isStateEnabled(byte[] bytes)
Parse the raw data from ZK to get a peer's state
|
void |
startStateTracker(ZooKeeperWatcher zookeeper,
String peerStateNode)
start a state tracker to check whether this peer is enabled or not
|
void |
startTableCFsTracker(ZooKeeperWatcher zookeeper,
String tableCFsNode)
start a table-cfs tracker to listen the (table, cf-list) map change
|
public ReplicationPeerZKImpl(Configuration conf, String id, ReplicationPeerConfig peerConfig) throws ReplicationException
conf
- configuration object to this peerid
- string representation of this peer's identifierpeerConfig
- configuration for the replication peerReplicationException
public void startStateTracker(ZooKeeperWatcher zookeeper, String peerStateNode) throws KeeperException
zookeeper
- zk watcher for the local clusterpeerStateNode
- path to zk node which stores peer stateKeeperException
public void startTableCFsTracker(ZooKeeperWatcher zookeeper, String tableCFsNode) throws KeeperException
zookeeper
- zk watcher for the local clustertableCFsNode
- path to zk node which stores table-cfsKeeperException
public ReplicationPeer.PeerState getPeerState()
ReplicationPeer
getPeerState
in interface ReplicationPeer
public String getId()
getId
in interface ReplicationPeer
public ReplicationPeerConfig getPeerConfig()
getPeerConfig
in interface ReplicationPeer
public Configuration getConfiguration()
getConfiguration
in interface ReplicationPeer
public Map<TableName,List<String>> getTableCFs()
getTableCFs
in interface ReplicationPeer
public void abort(String why, Throwable e)
Abortable
public boolean isAborted()
Abortable
public void close() throws IOException
close
in interface Closeable
close
in interface AutoCloseable
IOException
public static boolean isStateEnabled(byte[] bytes) throws DeserializationException
bytes
- raw ZK databytes
are those of a pb serialized ENABLED state.DeserializationException