diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.java index 2373751afbb1..c7dfbd38210c 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.java @@ -421,7 +421,7 @@ WALEntryFilter getWalEntryFilter() { return walEntryFilter; } - protected final void uncaughtException(Thread t, Throwable e, ReplicationSourceManager manager, + private void uncaughtException(Thread t, Throwable e, ReplicationSourceManager manager, String peerId) { OOMEChecker.exitIfOOME(e, getClass().getSimpleName()); LOG.error("Unexpected exception in {} currentPath={}", t.getName(), getCurrentPath(), e); @@ -539,15 +539,10 @@ private void initialize() { } if (!this.isSourceActive()) { + // this means the server is shutting down or the source is terminated, just give up + // initializing setSourceStartupStatus(false); - if (Thread.currentThread().isInterrupted()) { - // If source is not running and thread is interrupted this means someone has tried to - // remove this peer. - return; - } - - retryStartup.set(!this.abortOnError); - throw new IllegalStateException("Source should be active."); + return; } sleepMultiplier = 1; @@ -569,15 +564,12 @@ private void initialize() { } if (!this.isSourceActive()) { + // this means the server is shutting down or the source is terminated, just give up + // initializing setSourceStartupStatus(false); - if (Thread.currentThread().isInterrupted()) { - // If source is not running and thread is interrupted this means someone has tried to - // remove this peer. - return; - } - retryStartup.set(!this.abortOnError); - throw new IllegalStateException("Source should be active."); + return; } + LOG.info("{} queueId={} (queues={}) is replicating from cluster={} to cluster={}", logPeerId(), this.replicationQueueInfo.getQueueId(), logQueue.getNumQueues(), clusterId, peerClusterId); initializeWALEntryFilter(peerClusterId);