@InterfaceAudience.Private public class ReplicationPeerManager extends Object
Used to add/remove a replication peer.
| Modifier and Type | Field and Description |
|---|---|
private ConcurrentMap<String,ReplicationPeerDescription> |
peers |
private ReplicationPeerStorage |
peerStorage |
private ReplicationQueueStorage |
queueStorage |
| Constructor and Description |
|---|
ReplicationPeerManager(ReplicationPeerStorage peerStorage,
ReplicationQueueStorage queueStorage,
ConcurrentMap<String,ReplicationPeerDescription> peers) |
| Modifier and Type | Method and Description |
|---|---|
void |
addPeer(String peerId,
ReplicationPeerConfig peerConfig,
boolean enabled) |
private void |
checkClusterKey(String clusterKey) |
private void |
checkConfiguredWALEntryFilters(ReplicationPeerConfig peerConfig) |
private void |
checkNamespacesAndTableCfsConfigConflict(Set<String> namespaces,
Map<TableName,? extends Collection<String>> tableCfs)
Set a namespace in the peer config means that all tables in this namespace will be replicated
to the peer cluster.
|
private void |
checkPeerConfig(ReplicationPeerConfig peerConfig) |
private ReplicationPeerDescription |
checkPeerExists(String peerId) |
private void |
checkQueuesDeleted(String peerId) |
static ReplicationPeerManager |
create(ZKWatcher zk,
org.apache.hadoop.conf.Configuration conf) |
void |
disablePeer(String peerId) |
void |
enablePeer(String peerId) |
Optional<ReplicationPeerConfig> |
getPeerConfig(String peerId) |
ReplicationQueueStorage |
getQueueStorage() |
List<String> |
getSerialPeerIdsBelongsTo(TableName tableName) |
private boolean |
isStringEquals(String s1,
String s2)
For replication peer cluster key or endpoint class, null and empty string is same.
|
List<ReplicationPeerDescription> |
listPeers(Pattern pattern) |
(package private) void |
preAddPeer(String peerId,
ReplicationPeerConfig peerConfig) |
(package private) void |
preDisablePeer(String peerId) |
(package private) void |
preEnablePeer(String peerId) |
(package private) ReplicationPeerConfig |
preRemovePeer(String peerId) |
(package private) ReplicationPeerDescription |
preUpdatePeerConfig(String peerId,
ReplicationPeerConfig peerConfig)
Return the old peer description.
|
(package private) void |
removeAllLastPushedSeqIds(String peerId) |
(package private) void |
removeAllQueuesAndHFileRefs(String peerId) |
void |
removePeer(String peerId) |
private void |
setPeerState(String peerId,
boolean enabled) |
void |
updatePeerConfig(String peerId,
ReplicationPeerConfig peerConfig) |
private final ReplicationPeerStorage peerStorage
private final ReplicationQueueStorage queueStorage
private final ConcurrentMap<String,ReplicationPeerDescription> peers
ReplicationPeerManager(ReplicationPeerStorage peerStorage, ReplicationQueueStorage queueStorage, ConcurrentMap<String,ReplicationPeerDescription> peers)
private void checkQueuesDeleted(String peerId) throws ReplicationException, DoNotRetryIOException
void preAddPeer(String peerId, ReplicationPeerConfig peerConfig) throws DoNotRetryIOException, ReplicationException
private ReplicationPeerDescription checkPeerExists(String peerId) throws DoNotRetryIOException
DoNotRetryIOExceptionReplicationPeerConfig preRemovePeer(String peerId) throws DoNotRetryIOException
DoNotRetryIOExceptionvoid preEnablePeer(String peerId) throws DoNotRetryIOException
DoNotRetryIOExceptionvoid preDisablePeer(String peerId) throws DoNotRetryIOException
DoNotRetryIOExceptionReplicationPeerDescription preUpdatePeerConfig(String peerId, ReplicationPeerConfig peerConfig) throws DoNotRetryIOException
DoNotRetryIOExceptionpublic void addPeer(String peerId, ReplicationPeerConfig peerConfig, boolean enabled) throws ReplicationException
ReplicationExceptionpublic void removePeer(String peerId) throws ReplicationException
ReplicationExceptionprivate void setPeerState(String peerId, boolean enabled) throws ReplicationException
ReplicationExceptionpublic void enablePeer(String peerId) throws ReplicationException
ReplicationExceptionpublic void disablePeer(String peerId) throws ReplicationException
ReplicationExceptionpublic void updatePeerConfig(String peerId, ReplicationPeerConfig peerConfig) throws ReplicationException
ReplicationExceptionpublic List<ReplicationPeerDescription> listPeers(Pattern pattern)
public Optional<ReplicationPeerConfig> getPeerConfig(String peerId)
void removeAllLastPushedSeqIds(String peerId) throws ReplicationException
ReplicationExceptionvoid removeAllQueuesAndHFileRefs(String peerId) throws ReplicationException
ReplicationExceptionprivate void checkPeerConfig(ReplicationPeerConfig peerConfig) throws DoNotRetryIOException
DoNotRetryIOExceptionprivate void checkNamespacesAndTableCfsConfigConflict(Set<String> namespaces, Map<TableName,? extends Collection<String>> tableCfs) throws DoNotRetryIOException
Set a exclude namespace in the peer config means that all tables in this namespace can't be replicated to the peer cluster.
DoNotRetryIOExceptionprivate void checkConfiguredWALEntryFilters(ReplicationPeerConfig peerConfig) throws DoNotRetryIOException
DoNotRetryIOExceptionprivate void checkClusterKey(String clusterKey) throws DoNotRetryIOException
DoNotRetryIOExceptionpublic List<String> getSerialPeerIdsBelongsTo(TableName tableName)
public ReplicationQueueStorage getQueueStorage()
public static ReplicationPeerManager create(ZKWatcher zk, org.apache.hadoop.conf.Configuration conf) throws ReplicationException
ReplicationExceptionprivate boolean isStringEquals(String s1, String s2)
StringUtils.equals(CharSequence, CharSequence) directly.Copyright © 2007–2020 The Apache Software Foundation. All rights reserved.