From 53ac39e652232b0028e85ca1bdc9016edd3dadf0 Mon Sep 17 00:00:00 2001 From: Biju Nair Date: Wed, 6 Sep 2017 12:16:05 -0400 Subject: [PATCH] HBASE-18737 Display configured max size of cache on RS UI --- .../apache/hadoop/hbase/io/hfile/MemcachedBlockCache.java | 5 +++++ .../hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.jamon | 13 +++++++++---- .../hadoop/hbase/tmpl/regionserver/RSStatusTmpl.jamon | 6 +++--- .../hadoop/hbase/tmpl/regionserver/ServerMetricsTmpl.jamon | 4 +++- .../java/org/apache/hadoop/hbase/io/hfile/BlockCache.java | 6 ++++++ .../apache/hadoop/hbase/io/hfile/CombinedBlockCache.java | 5 +++++ .../org/apache/hadoop/hbase/io/hfile/LruBlockCache.java | 2 ++ .../apache/hadoop/hbase/io/hfile/bucket/BucketCache.java | 1 + .../hadoop/hbase/regionserver/TestHeapMemoryManager.java | 5 +++++ 9 files changed, 39 insertions(+), 8 deletions(-) diff --git a/hbase-external-blockcache/src/main/java/org/apache/hadoop/hbase/io/hfile/MemcachedBlockCache.java b/hbase-external-blockcache/src/main/java/org/apache/hadoop/hbase/io/hfile/MemcachedBlockCache.java index f50a117887..4357262893 100644 --- a/hbase-external-blockcache/src/main/java/org/apache/hadoop/hbase/io/hfile/MemcachedBlockCache.java +++ b/hbase-external-blockcache/src/main/java/org/apache/hadoop/hbase/io/hfile/MemcachedBlockCache.java @@ -195,6 +195,11 @@ public class MemcachedBlockCache implements BlockCache { } @Override + public long getMaxSize() { + return 0; + } + + @Override public long getFreeSize() { return 0; } diff --git a/hbase-server/src/main/jamon/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.jamon b/hbase-server/src/main/jamon/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.jamon index 3d2606b57e..e7fd378c38 100644 --- a/hbase-server/src/main/jamon/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.jamon +++ b/hbase-server/src/main/jamon/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.jamon @@ -326,25 +326,30 @@ are combined counts. Request count is sum of hits and misses.

- Count + Cache Size Limit + <% TraditionalBinaryPrefix.long2String(bc.getMaxSize(), "B", 1) %> + Max size of cache + + + Block Count <% String.format("%,d", bc.getBlockCount()) %> Count of Blocks <%if !bucketCache %> - Count + Data Block Count <% String.format("%,d", bc.getDataBlockCount()) %> Count of DATA Blocks - Size + Size of Blocks <% TraditionalBinaryPrefix.long2String(bc.getCurrentSize(), "B", 1) %> Size of Blocks <%if !bucketCache %> - Size + Size of Data Blocks <% TraditionalBinaryPrefix.long2String(bc.getCurrentDataSize(), "B", 1) %> Size of DATA Blocks diff --git a/hbase-server/src/main/jamon/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.jamon b/hbase-server/src/main/jamon/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.jamon index b98f50dbf9..a8d4003146 100644 --- a/hbase-server/src/main/jamon/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.jamon +++ b/hbase-server/src/main/jamon/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.jamon @@ -109,12 +109,12 @@ org.apache.hadoop.hbase.zookeeper.MasterAddressTracker;
- <& ../common/TaskMonitorTmpl; filter = filter &> +

Block Cache

+ <& BlockCacheTmpl; cacheConfig = regionServer.getCacheConfig(); config = regionServer.getConfiguration() &>
-

Block Cache

- <& BlockCacheTmpl; cacheConfig = regionServer.getCacheConfig(); config = regionServer.getConfiguration() &> + <& ../common/TaskMonitorTmpl; filter = filter &>
diff --git a/hbase-server/src/main/jamon/org/apache/hadoop/hbase/tmpl/regionserver/ServerMetricsTmpl.jamon b/hbase-server/src/main/jamon/org/apache/hadoop/hbase/tmpl/regionserver/ServerMetricsTmpl.jamon index e345de55e2..a270fc7cf4 100644 --- a/hbase-server/src/main/jamon/org/apache/hadoop/hbase/tmpl/regionserver/ServerMetricsTmpl.jamon +++ b/hbase-server/src/main/jamon/org/apache/hadoop/hbase/tmpl/regionserver/ServerMetricsTmpl.jamon @@ -127,7 +127,9 @@ MetricsRegionServerWrapper mWrap; <% TraditionalBinaryPrefix.long2String(DirectMemoryUtils.getDirectMemorySize(), "B", 1) %> - <% TraditionalBinaryPrefix.long2String(mWrap.getMemstoreSize(), "B", 1) %> + + <% TraditionalBinaryPrefix.long2String(mWrap.getMemstoreSize(), "B", 1) %> + diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/BlockCache.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/BlockCache.java index 35cec262b1..2c2b039d11 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/BlockCache.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/BlockCache.java @@ -90,6 +90,12 @@ public interface BlockCache extends Iterable { long size(); /** + * Returns the Max size of the block cache, in bytes. + * @return size of cache, in bytes + */ + long getMaxSize(); + + /** * Returns the free size of the block cache, in bytes. * @return free space in cache, in bytes */ diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.java index 391dcae5d6..ec8e5a00b2 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.java @@ -112,6 +112,11 @@ public class CombinedBlockCache implements ResizableBlockCache, HeapSize { } @Override + public long getMaxSize() { + return lruCache.getMaxSize() + l2Cache.getMaxSize(); + } + + @Override public long getFreeSize() { return lruCache.getFreeSize() + l2Cache.getFreeSize(); } diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/LruBlockCache.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/LruBlockCache.java index 5375e421fa..3fbe44b0b4 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/LruBlockCache.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/LruBlockCache.java @@ -830,6 +830,8 @@ public class LruBlockCache implements ResizableBlockCache, HeapSize { * Get the maximum size of this cache. * @return max size in bytes */ + + @Override public long getMaxSize() { return this.maxSize; } diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.java index c12a826d16..b9d8bf1369 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.java @@ -348,6 +348,7 @@ public class BucketCache implements BlockCache, HeapSize { return this.cacheEnabled; } + @Override public long getMaxSize() { return this.cacheCapacity; } diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHeapMemoryManager.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHeapMemoryManager.java index 24a995ed77..00ec9c85f2 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHeapMemoryManager.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHeapMemoryManager.java @@ -586,6 +586,11 @@ public class TestHeapMemoryManager { } @Override + public long getMaxSize() { + return 0; + } + + @Override public long getFreeSize() { return 0; } -- 2.11.0 (Apple Git-81)