Repository: hbase Updated Branches: refs/heads/branch-1 b47ded3b4 -> 4f29c2303
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) {