Search in sources :

Example 6 with ReplicationPeerImpl

use of org.apache.hadoop.hbase.replication.ReplicationPeerImpl in project hbase by apache.

the class SyncReplicationPeerInfoProviderImpl method checkState.

@Override
public boolean checkState(TableName table, BiPredicate<SyncReplicationState, SyncReplicationState> checker) {
    String peerId = mapping.getPeerId(table);
    if (peerId == null) {
        return false;
    }
    ReplicationPeerImpl peer = replicationPeers.getPeer(peerId);
    if (peer == null) {
        return false;
    }
    Pair<SyncReplicationState, SyncReplicationState> states = peer.getSyncReplicationStateAndNewState();
    return checker.test(states.getFirst(), states.getSecond());
}
Also used : ReplicationPeerImpl(org.apache.hadoop.hbase.replication.ReplicationPeerImpl) SyncReplicationState(org.apache.hadoop.hbase.replication.SyncReplicationState)

Example 7 with ReplicationPeerImpl

use of org.apache.hadoop.hbase.replication.ReplicationPeerImpl in project hbase by apache.

the class SyncReplicationPeerInfoProviderImpl method getPeerIdAndRemoteWALDir.

@Override
public Optional<Pair<String, String>> getPeerIdAndRemoteWALDir(TableName table) {
    if (table == null) {
        return Optional.empty();
    }
    String peerId = mapping.getPeerId(table);
    if (peerId == null) {
        return Optional.empty();
    }
    ReplicationPeerImpl peer = replicationPeers.getPeer(peerId);
    if (peer == null) {
        return Optional.empty();
    }
    Pair<SyncReplicationState, SyncReplicationState> states = peer.getSyncReplicationStateAndNewState();
    if ((states.getFirst() == SyncReplicationState.ACTIVE && states.getSecond() == SyncReplicationState.NONE) || (states.getFirst() == SyncReplicationState.DOWNGRADE_ACTIVE && states.getSecond() == SyncReplicationState.ACTIVE)) {
        return Optional.of(Pair.newPair(peerId, peer.getPeerConfig().getRemoteWALDir()));
    } else {
        return Optional.empty();
    }
}
Also used : ReplicationPeerImpl(org.apache.hadoop.hbase.replication.ReplicationPeerImpl) SyncReplicationState(org.apache.hadoop.hbase.replication.SyncReplicationState)

Aggregations

ReplicationPeerImpl (org.apache.hadoop.hbase.replication.ReplicationPeerImpl)7 SyncReplicationState (org.apache.hadoop.hbase.replication.SyncReplicationState)5 ReplicationException (org.apache.hadoop.hbase.replication.ReplicationException)4 Lock (java.util.concurrent.locks.Lock)3 PeerState (org.apache.hadoop.hbase.replication.ReplicationPeer.PeerState)3 Path (org.apache.hadoop.fs.Path)2 ReplicationPeers (org.apache.hadoop.hbase.replication.ReplicationPeers)2 IOException (java.io.IOException)1 InterruptedIOException (java.io.InterruptedIOException)1 HashMap (java.util.HashMap)1 NavigableSet (java.util.NavigableSet)1 SortedSet (java.util.SortedSet)1 ConcurrentHashMap (java.util.concurrent.ConcurrentHashMap)1 FSDataInputStream (org.apache.hadoop.fs.FSDataInputStream)1 FSDataOutputStream (org.apache.hadoop.fs.FSDataOutputStream)1 FileSystem (org.apache.hadoop.fs.FileSystem)1 LogRoller (org.apache.hadoop.hbase.regionserver.LogRoller)1 ReplicationPeerConfig (org.apache.hadoop.hbase.replication.ReplicationPeerConfig)1 ReplicationQueueInfo (org.apache.hadoop.hbase.replication.ReplicationQueueInfo)1