Repository: hbase
Updated Branches:
  refs/heads/branch-1 c695d1c24 -> e5df9bb2e
  refs/heads/branch-1.0 dc47beb6c -> fb09dead1
  refs/heads/branch-1.1 7a67e6c9d -> 47c0105d6
  refs/heads/master b886bac53 -> f8893e001


HBASE-13703 ReplicateContext should not be a member of ReplicationSource.


Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/f8893e00
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/f8893e00
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/f8893e00

Branch: refs/heads/master
Commit: f8893e0012031a8c623d9da3839e757006878396
Parents: b886bac
Author: Lars Hofhansl <[email protected]>
Authored: Thu May 21 21:56:21 2015 -0700
Committer: Lars Hofhansl <[email protected]>
Committed: Thu May 21 21:56:21 2015 -0700

----------------------------------------------------------------------
 .../apache/hadoop/hbase/replication/ReplicationEndpoint.java   | 2 +-
 .../hbase/replication/regionserver/ReplicationSource.java      | 6 ++----
 2 files changed, 3 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hbase/blob/f8893e00/hbase-server/src/main/java/org/apache/hadoop/hbase/replication/ReplicationEndpoint.java
----------------------------------------------------------------------
diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/replication/ReplicationEndpoint.java
 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/replication/ReplicationEndpoint.java
index 978e853..e8a7ddc 100644
--- 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/replication/ReplicationEndpoint.java
+++ 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/replication/ReplicationEndpoint.java
@@ -134,7 +134,7 @@ public interface ReplicationEndpoint extends Service {
    * A context for {@link ReplicationEndpoint#replicate(ReplicateContext)} 
method.
    */
   @InterfaceAudience.LimitedPrivate(HBaseInterfaceAudience.REPLICATION)
-  class ReplicateContext {
+  static class ReplicateContext {
     List<Entry> entries;
     int size;
     @InterfaceAudience.Private

http://git-wip-us.apache.org/repos/asf/hbase/blob/f8893e00/hbase-server/src/main/java/org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.java
----------------------------------------------------------------------
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 4603fa8..f7230ab 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
@@ -131,8 +131,6 @@ public class ReplicationSource extends Thread
   private ReplicationEndpoint replicationEndpoint;
   // A filter (or a chain of filters) for the WAL entries.
   private WALEntryFilter walEntryFilter;
-  // Context for ReplicationEndpoint#replicate()
-  private ReplicationEndpoint.ReplicateContext replicateContext;
   // throttler
   private ReplicationThrottler throttler;
 
@@ -187,8 +185,6 @@ public class ReplicationSource extends Thread
     this.peerId = this.replicationQueueInfo.getPeerId();
     this.logQueueWarnThreshold = 
this.conf.getInt("replication.source.log.queue.warn", 2);
     this.replicationEndpoint = replicationEndpoint;
-
-    this.replicateContext = new ReplicationEndpoint.ReplicateContext();
   }
 
   private void decorateConf() {
@@ -689,6 +685,8 @@ public class ReplicationSource extends Thread
             this.throttler.resetStartTick();
           }
         }
+        // create replicateContext here, so the entries can be GC'd upon 
return from this call stack
+        ReplicationEndpoint.ReplicateContext replicateContext = new 
ReplicationEndpoint.ReplicateContext();
         replicateContext.setEntries(entries).setSize(currentSize);
 
         long startTimeNs = System.nanoTime();

Reply via email to