You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by ga...@apache.org on 2016/10/11 21:37:31 UTC

hbase git commit: HBASE-16146 Remove thread local usage in Counter

Repository: hbase
Updated Branches:
  refs/heads/master fef3c908d -> 7b0acc292


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/7b0acc29
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/7b0acc29
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/7b0acc29

Branch: refs/heads/master
Commit: 7b0acc292e1854b09c6cedc4dae1f6dae07779bf
Parents: fef3c90
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:29:56 2016 -0700

----------------------------------------------------------------------
 .../org/apache/hadoop/hbase/util/Counter.java   | 21 +-------------------
 1 file changed, 1 insertion(+), 20 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hbase/blob/7b0acc29/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 d4cfe26e..0d3a5c6 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
@@ -110,25 +110,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;
     }
@@ -141,8 +128,6 @@ public class Counter {
       index++;
     }
 
-    indexHolder.index = index;
-
     if(index - baseIndex >= cells.length &&
         cells.length < MAX_CELLS_LENGTH &&
         container.demoted.compareAndSet(false, true)) {
@@ -183,10 +168,6 @@ public class Counter {
     return sum;
   }
 
-  public void destroy() {
-    indexHolderThreadLocal.remove();
-  }
-
   @Override
   public String toString() {
     Cell[] cells = containerRef.get().cells;