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:17 UTC

[hbase] branch branch-2.5 updated (511e0105ae1 -> b9ec644e516)

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

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


    from 511e0105ae1 HBASE-27432 TestUsersOperationsWithSecureHadoop fails after HBASE-27411
     new 6a40867804a HBASE-27426 - Fix ZKWatcher shutdown seqence to avoid InterruptExcept… (#4829)
     new b9ec644e516 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.5
in repository https://gitbox.apache.org/repos/asf/hbase.git

commit b9ec644e516466a7dd53df47b29058952264a728
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 fb08dcc190d..debddcf1b56 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
@@ -329,12 +329,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 e2a50cec892..1e5c6c409ed 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
@@ -289,6 +289,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.
    */
@@ -299,6 +304,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 bfb4bce506a..9852f00b56e 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
@@ -370,11 +370,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 79ed5204ab2..26d3c050807 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
@@ -328,6 +328,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;
@@ -338,6 +343,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 bf514ef53b1..3ed0dab52e7 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
@@ -322,6 +322,11 @@ public class MetricsRegionServerWrapperStub implements MetricsRegionServerWrappe
     return 422;
   }
 
+  @Override
+  public long getBlockCacheHitCachingCount() {
+    return 16;
+  }
+
   @Override
   public long getBlockCacheMissCount() {
     return 417;
@@ -332,6 +337,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 82d50900376..891ae280511 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
@@ -111,7 +111,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.5
in repository https://gitbox.apache.org/repos/asf/hbase.git

commit 6a40867804ab968f3daa645dbc3b0aebdfa48eec
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 9608ffc17c6..f499d0f9487 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
@@ -735,12 +735,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();
+      }
     }
   }