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)) {
