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.
%if>
- | 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 |
%if>
- | 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) %>
+ |
%def>
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)