You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by ap...@apache.org on 2022/10/17 21:31:14 UTC

[hbase] branch branch-2.4 updated (8d81f87cad7 -> cbad5f595c1)

This is an automated email from the ASF dual-hosted git repository.

apurtell pushed a change to branch branch-2.4
in repository https://gitbox.apache.org/repos/asf/hbase.git


    from 8d81f87cad7 HBASE-27431 Remove TestRemoteTable.testLimitedScan (#4832)
     new 39c596fe7a0 HBASE-27426 - Fix ZKWatcher shutdown seqence to avoid InterruptExcept… (#4829)
     new cbad5f595c1 HBASE-27159 Emit source metrics for BlockCacheExpressHitPercent (#4830)

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../hadoop/hbase/regionserver/MetricsRegionServerSource.java |  6 ++++++
 .../hbase/regionserver/MetricsRegionServerWrapper.java       | 10 ++++++++++
 .../hbase/regionserver/MetricsRegionServerSourceImpl.java    |  5 +++++
 .../hbase/regionserver/MetricsRegionServerWrapperImpl.java   | 10 ++++++++++
 .../hbase/regionserver/MetricsRegionServerWrapperStub.java   | 10 ++++++++++
 .../hadoop/hbase/regionserver/TestMetricsRegionServer.java   |  2 ++
 .../java/org/apache/hadoop/hbase/zookeeper/ZKWatcher.java    | 12 ++++++++++--
 7 files changed, 53 insertions(+), 2 deletions(-)


[hbase] 02/02: HBASE-27159 Emit source metrics for BlockCacheExpressHitPercent (#4830)

Posted by ap...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

apurtell pushed a commit to branch branch-2.4
in repository https://gitbox.apache.org/repos/asf/hbase.git

commit cbad5f595c1e36ebe5975c5958b30c191259f514
Author: d-c-manning <67...@users.noreply.github.com>
AuthorDate: Mon Oct 17 14:18:37 2022 -0700

    HBASE-27159 Emit source metrics for BlockCacheExpressHitPercent (#4830)
    
    Signed-off-by: Andrew Purtell <ap...@apache.org>
---
 .../hadoop/hbase/regionserver/MetricsRegionServerSource.java   |  6 ++++++
 .../hadoop/hbase/regionserver/MetricsRegionServerWrapper.java  | 10 ++++++++++
 .../hbase/regionserver/MetricsRegionServerSourceImpl.java      |  5 +++++
 .../hbase/regionserver/MetricsRegionServerWrapperImpl.java     | 10 ++++++++++
 .../hbase/regionserver/MetricsRegionServerWrapperStub.java     | 10 ++++++++++
 .../hadoop/hbase/regionserver/TestMetricsRegionServer.java     |  2 ++
 6 files changed, 43 insertions(+)

diff --git a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.java b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.java
index 56b92056a02..95b272c6b66 100644
--- a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.java
+++ b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.java
@@ -315,12 +315,18 @@ public interface MetricsRegionServerSource extends BaseSource, JvmPauseMonitorSo
   String BLOCK_CACHE_HIT_COUNT_DESC = "Count of the hit on the block cache.";
   String BLOCK_CACHE_PRIMARY_HIT_COUNT = "blockCacheHitCountPrimary";
   String BLOCK_CACHE_PRIMARY_HIT_COUNT_DESC = "Count of hit on primary replica in the block cache.";
+  String BLOCK_CACHE_HIT_CACHING_COUNT = "blockCacheHitCachingCount";
+  String BLOCK_CACHE_HIT_CACHING_COUNT_DESC =
+    "Count of the hit on the block cache, for cacheable requests.";
   String BLOCK_CACHE_MISS_COUNT = "blockCacheMissCount";
   String BLOCK_COUNT_MISS_COUNT_DESC =
     "Number of requests for a block that missed the block cache.";
   String BLOCK_CACHE_PRIMARY_MISS_COUNT = "blockCacheMissCountPrimary";
   String BLOCK_COUNT_PRIMARY_MISS_COUNT_DESC =
     "Number of requests for a block of primary replica that missed the block cache.";
+  String BLOCK_CACHE_MISS_CACHING_COUNT = "blockCacheMissCachingCount";
+  String BLOCK_COUNT_MISS_CACHING_COUNT_DESC =
+    "Number of requests for a block that missed the block cache, for cacheable requests.";
   String BLOCK_CACHE_EVICTION_COUNT = "blockCacheEvictionCount";
   String BLOCK_CACHE_EVICTION_COUNT_DESC =
     "Count of the number of blocks evicted from the block cache."
diff --git a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.java b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.java
index 40a10f1cbf5..ea1664ccaaa 100644
--- a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.java
+++ b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.java
@@ -244,6 +244,11 @@ public interface MetricsRegionServerWrapper {
    */
   long getBlockCachePrimaryHitCount();
 
+  /**
+   * Get the count of hits to the block cache, for cacheable requests only.
+   */
+  long getBlockCacheHitCachingCount();
+
   /**
    * Get the count of misses to the block cache.
    */
@@ -254,6 +259,11 @@ public interface MetricsRegionServerWrapper {
    */
   long getBlockCachePrimaryMissCount();
 
+  /**
+   * Get the count of misses to the block cache, for cacheable requests only.
+   */
+  long getBlockCacheMissCachingCount();
+
   /**
    * Get the number of items evicted from the block cache.
    */
diff --git a/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSourceImpl.java b/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSourceImpl.java
index 1d81fbb78cb..6c01436d523 100644
--- a/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSourceImpl.java
+++ b/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSourceImpl.java
@@ -360,11 +360,16 @@ public class MetricsRegionServerSourceImpl extends BaseSourceImpl
           rsWrap.getBlockCacheHitCount())
         .addCounter(Interns.info(BLOCK_CACHE_PRIMARY_HIT_COUNT, BLOCK_CACHE_PRIMARY_HIT_COUNT_DESC),
           rsWrap.getBlockCachePrimaryHitCount())
+        .addCounter(Interns.info(BLOCK_CACHE_HIT_CACHING_COUNT, BLOCK_CACHE_HIT_CACHING_COUNT_DESC),
+          rsWrap.getBlockCacheHitCachingCount())
         .addCounter(Interns.info(BLOCK_CACHE_MISS_COUNT, BLOCK_COUNT_MISS_COUNT_DESC),
           rsWrap.getBlockCacheMissCount())
         .addCounter(
           Interns.info(BLOCK_CACHE_PRIMARY_MISS_COUNT, BLOCK_COUNT_PRIMARY_MISS_COUNT_DESC),
           rsWrap.getBlockCachePrimaryMissCount())
+        .addCounter(
+          Interns.info(BLOCK_CACHE_MISS_CACHING_COUNT, BLOCK_COUNT_MISS_CACHING_COUNT_DESC),
+          rsWrap.getBlockCacheMissCachingCount())
         .addCounter(Interns.info(BLOCK_CACHE_EVICTION_COUNT, BLOCK_CACHE_EVICTION_COUNT_DESC),
           rsWrap.getBlockCacheEvictedCount())
         .addCounter(
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.java
index 713b76abec5..068d51646d3 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.java
@@ -318,6 +318,11 @@ class MetricsRegionServerWrapperImpl implements MetricsRegionServerWrapper {
     return this.cacheStats != null ? this.cacheStats.getPrimaryHitCount() : 0L;
   }
 
+  @Override
+  public long getBlockCacheHitCachingCount() {
+    return this.cacheStats != null ? this.cacheStats.getHitCachingCount() : 0L;
+  }
+
   @Override
   public long getBlockCacheMissCount() {
     return this.cacheStats != null ? this.cacheStats.getMissCount() : 0L;
@@ -328,6 +333,11 @@ class MetricsRegionServerWrapperImpl implements MetricsRegionServerWrapper {
     return this.cacheStats != null ? this.cacheStats.getPrimaryMissCount() : 0L;
   }
 
+  @Override
+  public long getBlockCacheMissCachingCount() {
+    return this.cacheStats != null ? this.cacheStats.getMissCachingCount() : 0L;
+  }
+
   @Override
   public long getBlockCacheEvictedCount() {
     return this.cacheStats != null ? this.cacheStats.getEvictedCount() : 0L;
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperStub.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperStub.java
index 4fe7d3d6f0b..e88d8f2d773 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperStub.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperStub.java
@@ -279,6 +279,11 @@ public class MetricsRegionServerWrapperStub implements MetricsRegionServerWrappe
     return 422;
   }
 
+  @Override
+  public long getBlockCacheHitCachingCount() {
+    return 16;
+  }
+
   @Override
   public long getBlockCacheMissCount() {
     return 417;
@@ -289,6 +294,11 @@ public class MetricsRegionServerWrapperStub implements MetricsRegionServerWrappe
     return 421;
   }
 
+  @Override
+  public long getBlockCacheMissCachingCount() {
+    return 17;
+  }
+
   @Override
   public long getBlockCacheEvictedCount() {
     return 418;
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMetricsRegionServer.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMetricsRegionServer.java
index 926ac834360..922b16630e3 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMetricsRegionServer.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMetricsRegionServer.java
@@ -108,7 +108,9 @@ public class TestMetricsRegionServer {
     HELPER.assertGauge("blockCacheDataBlockCount", 300, serverSource);
     HELPER.assertGauge("blockCacheSize", 415, serverSource);
     HELPER.assertCounter("blockCacheHitCount", 416, serverSource);
+    HELPER.assertCounter("blockCacheHitCachingCount", 16, serverSource);
     HELPER.assertCounter("blockCacheMissCount", 417, serverSource);
+    HELPER.assertCounter("blockCacheMissCachingCount", 17, serverSource);
     HELPER.assertCounter("blockCacheEvictionCount", 418, serverSource);
     HELPER.assertGauge("blockCacheCountHitPercent", 98, serverSource);
     HELPER.assertGauge("blockCacheExpressHitPercent", 97, serverSource);


[hbase] 01/02: HBASE-27426 - Fix ZKWatcher shutdown seqence to avoid InterruptExcept… (#4829)

Posted by ap...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

apurtell pushed a commit to branch branch-2.4
in repository https://gitbox.apache.org/repos/asf/hbase.git

commit 39c596fe7a08a5af2ed381993f6c9acb936ec265
Author: Victor <vl...@gmail.com>
AuthorDate: Mon Oct 17 13:26:09 2022 -0700

    HBASE-27426 - Fix ZKWatcher shutdown seqence to avoid InterruptExcept… (#4829)
    
    Signed-off-by: Andrew Purtell <ap...@apache.org>
    Signed-off-by: Viraj Jasani <vj...@apache.org>
    Co-authored-by: Victor Li <vi...@salesforce.com>
---
 .../java/org/apache/hadoop/hbase/zookeeper/ZKWatcher.java    | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/hbase-zookeeper/src/main/java/org/apache/hadoop/hbase/zookeeper/ZKWatcher.java b/hbase-zookeeper/src/main/java/org/apache/hadoop/hbase/zookeeper/ZKWatcher.java
index 1fc5fa3ddb7..f6bff056271 100644
--- a/hbase-zookeeper/src/main/java/org/apache/hadoop/hbase/zookeeper/ZKWatcher.java
+++ b/hbase-zookeeper/src/main/java/org/apache/hadoop/hbase/zookeeper/ZKWatcher.java
@@ -730,12 +730,20 @@ public class ZKWatcher implements Watcher, Abortable, Closeable {
    */
   @Override
   public void close() {
+    zkEventProcessor.shutdown();
     try {
-      recoverableZooKeeper.close();
+      if (!zkEventProcessor.awaitTermination(15, TimeUnit.SECONDS)) {
+        LOG.warn("ZKWatcher event processor has not finished to terminate.");
+        zkEventProcessor.shutdownNow();
+      }
     } catch (InterruptedException e) {
       Thread.currentThread().interrupt();
     } finally {
-      zkEventProcessor.shutdownNow();
+      try {
+        recoverableZooKeeper.close();
+      } catch (InterruptedException e) {
+        Thread.currentThread().interrupt();
+      }
     }
   }