Repository: hbase
Updated Branches:
  refs/heads/branch-1.3 cd3afa5a0 -> dcb47c9b7


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

Branch: refs/heads/branch-1.3
Commit: dcb47c9b715c2331abe7e8ccbc1b69f24168dd97
Parents: cd3afa5
Author: Gary Helmling <[email protected]>
Authored: Wed Sep 21 17:43:41 2016 -0700
Committer: Gary Helmling <[email protected]>
Committed: Tue Oct 11 14:51:14 2016 -0700

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


http://git-wip-us.apache.org/repos/asf/hbase/blob/dcb47c9b/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 7b8a7e9..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)) {

Reply via email to