From a238a922fd2c3398748b5254d182676d664c8b8b Mon Sep 17 00:00:00 2001 From: chenheng Date: Wed, 17 Aug 2016 11:06:34 +0800 Subject: [PATCH] HBASE-15635 Mean age of Blocks in cache (seconds) on webUI should be greater than zero --- .../org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.jamon | 6 +----- .../main/java/org/apache/hadoop/hbase/io/hfile/BlockCacheUtil.java | 6 +++++- .../src/main/java/org/apache/hadoop/hbase/io/hfile/CacheStats.java | 4 +++- .../java/org/apache/hadoop/hbase/regionserver/HRegionServer.java | 2 +- 4 files changed, 10 insertions(+), 8 deletions(-) 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 49a1e1b..daa5d76 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 @@ -177,7 +177,6 @@ org.apache.hadoop.util.StringUtils.TraditionalBinaryPrefix; <%java> AgeSnapshot ageAtEvictionSnapshot = bc.getStats().getAgeAtEvictionSnapshot(); // Only show if non-zero mean and stddev as is the case in combinedblockcache - double mean = ageAtEvictionSnapshot.getMean(); Evicted @@ -189,13 +188,11 @@ org.apache.hadoop.util.StringUtils.TraditionalBinaryPrefix; <% String.format("%,d", bc.getStats().getEvictionCount()) %> The total number of times an eviction has occurred -<%if mean > 0 %> Mean - <% String.format("%,d", (long)(ageAtEvictionSnapshot.getMean()/(1000000 * 1000))) %> + <% String.format("%,d", (long)ageAtEvictionSnapshot.getMean()) %> Mean age of Blocks at eviction time (seconds) - <%def hits_tmpl> @@ -288,7 +285,6 @@ are combined counts. Request count is sum of hits and misses.

boolean evictions; <%java> - final long nanosPerSecond = 1000000000; String bcUrl = "http://hbase.apache.org/devapidocs/" + bc.getClass().getName().replaceAll("\\.", "/") + ".html"; String bcName = bc.getClass().getSimpleName(); org.apache.hadoop.hbase.io.hfile.BlockCacheUtil.CachedBlocksByFile cbsbf = diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/BlockCacheUtil.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/BlockCacheUtil.java index e31c340..3c11149 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/BlockCacheUtil.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/BlockCacheUtil.java @@ -39,6 +39,10 @@ import org.codehaus.jackson.map.SerializationConfig; */ @InterfaceAudience.Private public class BlockCacheUtil { + + + public static final long NANOS_PER_SECOND = 1000000000; + /** * Needed generating JSON. */ @@ -224,7 +228,7 @@ public class BlockCacheUtil { this.dataBlockCount++; this.dataSize += cb.getSize(); } - long age = this.now - cb.getCachedTime(); + long age = (this.now - cb.getCachedTime())/NANOS_PER_SECOND; this.hist.add(age, 1); return false; } diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/CacheStats.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/CacheStats.java index 8de2a03..04f6a1e 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/CacheStats.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/CacheStats.java @@ -248,7 +248,9 @@ public class CacheStats { } public void evicted(final long t, boolean primary) { - if (t > this.startTime) this.ageAtEviction.add(t - this.startTime,1); + if (t > this.startTime) { + this.ageAtEviction.add((t - this.startTime) / BlockCacheUtil.NANOS_PER_SECOND, 1); + } this.evictedBlockCount.increment(); if (primary) { primaryEvictedBlockCount.increment(); diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java index 89bfbf3..2ac136d 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java @@ -623,7 +623,7 @@ public class HRegionServer extends HasThread implements this.configurationManager = new ConfigurationManager(); this.secureBulkLoadManager = new SecureBulkLoadManager(this.conf); - this.secureBulkLoadManager.start(); +// this.secureBulkLoadManager.start(); rpcServices.start(); putUpWebUI(); -- 1.9.3 (Apple Git-50)