diff --git a/CHANGES.txt b/CHANGES.txt index 458af10993b..7999377d429 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -777,6 +777,8 @@ Release 0.90.0 - Unreleased defaults to false HBASE-3355 Stopping a stopped cluster leaks an HMaster HBASE-3356 Add more checks in replication if RS is stopped + HBASE-3358 Recovered replication queue wait on themselves when terminating + HBASE-3359 LogRoller not added as a WAL listener when replication is enabled IMPROVEMENTS diff --git a/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java b/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java index 26b4c10a626..8248f5febfb 100644 --- a/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java +++ b/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java @@ -1103,7 +1103,6 @@ public class HRegionServer implements HRegionInterface, HBaseRPCErrorHandler, this.hlogRoller = new LogRoller(this, this); listeners.add(this.hlogRoller); if (this.replicationHandler != null) { - listeners = new ArrayList(); // Replication handler is an implementation of WALActionsListener. listeners.add(this.replicationHandler); } diff --git a/src/main/java/org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.java b/src/main/java/org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.java index 80cfddcffe3..1a041127aa4 100644 --- a/src/main/java/org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.java +++ b/src/main/java/org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.java @@ -605,7 +605,8 @@ public class ReplicationSource extends Thread return true; } else if (this.queueRecovered) { this.manager.closeRecoveredQueue(this); - this.terminate("Finished recovering the queue"); + LOG.info("Finished recovering the queue"); + this.running = false; return true; } return false;