diff --git src/main/java/org/apache/hadoop/hbase/replication/regionserver/ReplicationHLogReaderManager.java src/main/java/org/apache/hadoop/hbase/replication/regionserver/ReplicationHLogReaderManager.java index ae5c3bd..06b4935 100644 --- src/main/java/org/apache/hadoop/hbase/replication/regionserver/ReplicationHLogReaderManager.java +++ src/main/java/org/apache/hadoop/hbase/replication/regionserver/ReplicationHLogReaderManager.java @@ -63,6 +63,7 @@ public class ReplicationHLogReaderManager { // Detect if this is a new file, if so get a new reader else // reset the current reader so that we see the new data if (this.reader == null || !this.lastPath.equals(path)) { + this.closeReader(); this.reader = HLog.getReader(this.fs, path, this.conf); this.lastPath = path; } else { diff --git src/main/java/org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.java src/main/java/org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.java index 138dfd2..84648fb 100644 --- src/main/java/org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.java +++ src/main/java/org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.java @@ -363,6 +363,7 @@ public class ReplicationSource extends Thread } } finally { try { + this.reader = null; this.repLogReader.closeReader(); } catch (IOException e) { gotIOE = true;