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

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


The following commit(s) were added to refs/heads/branch-3 by this push:
     new 618db2d1ea6 HBASE-29561 Add a config name for HBASE-29401 (#7259)
618db2d1ea6 is described below

commit 618db2d1ea64a7f792db28ecbf8c3570f49adbf9
Author: chaijunjie0101 <[email protected]>
AuthorDate: Fri Sep 5 09:17:15 2025 +0800

    HBASE-29561 Add a config name for HBASE-29401 (#7259)
    
    Signed-off-by: Duo Zhang <[email protected]>
    (cherry picked from commit 8808e38de876838d7502ef070622ba8f6b35bc1f)
---
 .../org/apache/hadoop/hbase/client/AsyncNonMetaRegionLocator.java  | 5 +++--
 .../org/apache/hadoop/hbase/client/ConnectionConfiguration.java    | 3 +++
 hbase-common/src/main/resources/hbase-default.xml                  | 7 +++++++
 3 files changed, 13 insertions(+), 2 deletions(-)

diff --git 
a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncNonMetaRegionLocator.java
 
b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncNonMetaRegionLocator.java
index 8c23ef181bf..e26fb837b89 100644
--- 
a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncNonMetaRegionLocator.java
+++ 
b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncNonMetaRegionLocator.java
@@ -25,6 +25,7 @@ import static org.apache.hadoop.hbase.HConstants.ZEROES;
 import static org.apache.hadoop.hbase.TableName.META_TABLE_NAME;
 import static 
org.apache.hadoop.hbase.client.AsyncRegionLocatorHelper.createRegionLocations;
 import static org.apache.hadoop.hbase.client.AsyncRegionLocatorHelper.isGood;
+import static 
org.apache.hadoop.hbase.client.ConnectionConfiguration.HBASE_CLIENT_META_CACHE_INVALIDATE_INTERVAL;
 import static 
org.apache.hadoop.hbase.client.ConnectionUtils.createClosestRowAfter;
 import static org.apache.hadoop.hbase.client.ConnectionUtils.isEmptyStopRow;
 import static org.apache.hadoop.hbase.client.RegionInfo.createRegionName;
@@ -267,8 +268,8 @@ class AsyncNonMetaRegionLocator {
     // Suggest set it to 24h or a higher value, because disable/delete table 
usually not very
     // frequently.
     this.retryTimer = retryTimer;
-    long metaCacheInvalidateInterval = conn.getConfiguration()
-      .getLong("hbase.client.connection.metacache.invalidate-interval.ms", 0L);
+    long metaCacheInvalidateInterval =
+      
conn.getConfiguration().getLong(HBASE_CLIENT_META_CACHE_INVALIDATE_INTERVAL, 
0L);
     if (metaCacheInvalidateInterval > 0) {
       TimerTask invalidateMetaCacheTask = 
getInvalidateMetaCacheTask(metaCacheInvalidateInterval);
       this.retryTimer.newTimeout(invalidateMetaCacheTask, 
metaCacheInvalidateInterval,
diff --git 
a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ConnectionConfiguration.java
 
b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ConnectionConfiguration.java
index 068f0e459a2..545a85b16c9 100644
--- 
a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ConnectionConfiguration.java
+++ 
b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ConnectionConfiguration.java
@@ -57,6 +57,9 @@ public class ConnectionConfiguration {
   public static final String HBASE_CLIENT_META_SCANNER_TIMEOUT =
     "hbase.client.meta.scanner.timeout.period";
 
+  public static final String HBASE_CLIENT_META_CACHE_INVALIDATE_INTERVAL =
+    "hbase.client.connection.metacache.invalidate-interval.ms";
+
   private final long writeBufferSize;
   private final long writeBufferPeriodicFlushTimeoutMs;
   private final long writeBufferPeriodicFlushTimerTickMs;
diff --git a/hbase-common/src/main/resources/hbase-default.xml 
b/hbase-common/src/main/resources/hbase-default.xml
index ab700587ffa..d015ceb2d45 100644
--- a/hbase-common/src/main/resources/hbase-default.xml
+++ b/hbase-common/src/main/resources/hbase-default.xml
@@ -1129,6 +1129,13 @@ possible configurations would overwhelm and obscure the 
important.
       RetriesExhaustedException. But if the total time being blocking reach 
the operation timeout
       before retries exhausted, it will break early and throw 
SocketTimeoutException.</description>
   </property>
+  <property>
+    <name>hbase.client.connection.metacache.invalidate-interval.ms</name>
+    <value>0</value>
+    <description>Interval in milliseconds of checking and invalidating meta 
cache when table
+      disabled or dropped, when set to zero means disable checking, suggest 
set it to 24h
+      or a higher value, because disable/delete table usually not very 
frequently.</description>
+  </property>
   <property>
     <name>hbase.cells.scanned.per.heartbeat.check</name>
     <value>10000</value>

Reply via email to