You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by la...@apache.org on 2016/11/01 19:49:33 UTC

[09/50] [abbrv] hbase git commit: HBASE-16146 Remove thread local usage in Counter

HBASE-16146 Remove thread local usage in Counter


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

Branch: refs/heads/branch-1
Commit: 4f29c230384b82b64ef4ad9ba61497747436799f
Parents: b47ded3
Author: Gary Helmling <ga...@apache.org>
Authored: Wed Sep 21 17:43:41 2016 -0700
Committer: Gary Helmling <ga...@apache.org>
Committed: Tue Oct 11 14:47:02 2016 -0700

----------------------------------------------------------------------
 .../org/apache/hadoop/hbase/util/Counter.java   | 21 +-------------------
 .../org/apache/hadoop/hbase/ipc/RpcServer.java  |  1 -
 2 files changed, 1 insertion(+), 21 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hbase/blob/4f29c230/hbase-common/src/main/java/org/apache/hadoop/hbase/util/Counter.java
----------------------------------------------------------------------
diff --git a/hbase-common/src/main/java/org/apache/hadoop/hbase/util/Counter.java b/hbase-common/src/main/java/org/apache/hadoop/hbase/util/Counter.java
index 92c0a8f..ce0fddd 100644
--- a/hbase-common/src/main/java/org/apache/hadoop/hbase/util/Counter.java
+++ b/hbase-common/src/main/java/org/apache/hadoop/hbase/util/Counter.java
@@ -108,25 +108,12 @@ public class Counter {
     return h;
   }
 
-  private static class IndexHolder {
-    int index = hash();
-  }
-
-  private final ThreadLocal<IndexHolder> indexHolderThreadLocal =
-      new ThreadLocal<IndexHolder>() {
-    @Override
-    protected IndexHolder initialValue() {
-      return new IndexHolder();
-    }
-  };
-
   public void add(long delta) {
     Container container = containerRef.get();
     Cell[] cells = container.cells;
     int mask = cells.length - 1;
 
-    IndexHolder indexHolder = indexHolderThreadLocal.get();
-    int baseIndex = indexHolder.index;
+    int baseIndex = hash();
     if(cells[baseIndex & mask].add(delta)) {
       return;
     }
@@ -139,8 +126,6 @@ public class Counter {
       index++;
     }
 
-    indexHolder.index = index;
-
     if(index - baseIndex >= cells.length &&
         cells.length < MAX_CELLS_LENGTH &&
         container.demoted.compareAndSet(false, true)) {
@@ -181,10 +166,6 @@ public class Counter {
     return sum;
   }
 
-  public void destroy() {
-    indexHolderThreadLocal.remove();
-  }
-
   @Override
   public String toString() {
     Cell[] cells = containerRef.get().cells;

http://git-wip-us.apache.org/repos/asf/hbase/blob/4f29c230/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/RpcServer.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/RpcServer.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/RpcServer.java
index f7cc85f..564639f 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/RpcServer.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/RpcServer.java
@@ -2011,7 +2011,6 @@ public class RpcServer implements RpcServerInterface, ConfigurationObserver {
           LOG.trace(ignored);
         }
       }
-      rpcCount.destroy();
     }
 
     private UserGroupInformation createUser(ConnectionHeader head) {