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 <[email protected]> Authored: Wed Sep 21 17:43:41 2016 -0700 Committer: Gary Helmling <[email protected]> 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;
