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

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


The following commit(s) were added to refs/heads/branch-2 by this push:
     new 31da0f21e3f HBASE-28608 More sensible client meta operation timeout 
default (#6481)
31da0f21e3f is described below

commit 31da0f21e3f61b5364785fc92f325eaabc64afe8
Author: droudnitsky <[email protected]>
AuthorDate: Thu Nov 21 09:34:13 2024 -0500

    HBASE-28608 More sensible client meta operation timeout default (#6481)
    
    Co-authored-by: Daniel Roudnitsky <[email protected]>
    Signed-off-by: Duo Zhang <[email protected]>
---
 .../hadoop/hbase/client/ConnectionConfiguration.java       |  3 ++-
 .../hbase/client/TestAsyncConnectionConfiguration.java     | 14 +++++++++++++-
 .../hadoop/hbase/client/TestConnectionConfiguration.java   | 12 ++++++++++++
 3 files changed, 27 insertions(+), 2 deletions(-)

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 2a6651b5dde..12b8115585d 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
@@ -121,7 +121,8 @@ public class ConnectionConfiguration {
       WRITE_BUFFER_PERIODIC_FLUSH_TIMERTICK_MS, 
WRITE_BUFFER_PERIODIC_FLUSH_TIMERTICK_MS_DEFAULT);
 
     this.metaOperationTimeout = 
conf.getInt(HConstants.HBASE_CLIENT_META_OPERATION_TIMEOUT,
-      HConstants.DEFAULT_HBASE_CLIENT_OPERATION_TIMEOUT);
+      conf.getInt(HConstants.HBASE_CLIENT_OPERATION_TIMEOUT,
+        HConstants.DEFAULT_HBASE_CLIENT_OPERATION_TIMEOUT));
 
     this.operationTimeout = 
conf.getInt(HConstants.HBASE_CLIENT_OPERATION_TIMEOUT,
       HConstants.DEFAULT_HBASE_CLIENT_OPERATION_TIMEOUT);
diff --git 
a/hbase-client/src/test/java/org/apache/hadoop/hbase/client/TestAsyncConnectionConfiguration.java
 
b/hbase-client/src/test/java/org/apache/hadoop/hbase/client/TestAsyncConnectionConfiguration.java
index f4c9fc059bd..cd7a9a8321f 100644
--- 
a/hbase-client/src/test/java/org/apache/hadoop/hbase/client/TestAsyncConnectionConfiguration.java
+++ 
b/hbase-client/src/test/java/org/apache/hadoop/hbase/client/TestAsyncConnectionConfiguration.java
@@ -32,7 +32,7 @@ import org.junit.Test;
 import org.junit.experimental.categories.Category;
 
 /**
- * See HBASE-24513.
+ * See HBASE-24513, HBASE-28608.
  */
 @Category({ ClientTests.class, SmallTests.class })
 public class TestAsyncConnectionConfiguration {
@@ -69,4 +69,16 @@ public class TestAsyncConnectionConfiguration {
     assertEquals(expected, config.getReadRpcTimeoutNs());
     assertEquals(expected, config.getWriteRpcTimeoutNs());
   }
+
+  @Test
+  public void testDefaultMetaOperationTimeout() {
+    Configuration conf = HBaseConfiguration.create();
+    long timeoutMs = 1000;
+    conf.setLong(HConstants.HBASE_CLIENT_OPERATION_TIMEOUT, timeoutMs);
+    AsyncConnectionConfiguration config = new 
AsyncConnectionConfiguration(conf);
+    long expected = TimeUnit.MILLISECONDS.toNanos(timeoutMs);
+    assertEquals(expected, config.getOperationTimeoutNs());
+    assertEquals(expected, config.getMetaOperationTimeoutNs());
+  }
+
 }
diff --git 
a/hbase-client/src/test/java/org/apache/hadoop/hbase/client/TestConnectionConfiguration.java
 
b/hbase-client/src/test/java/org/apache/hadoop/hbase/client/TestConnectionConfiguration.java
index d3031fe85c7..6b4b916e56d 100644
--- 
a/hbase-client/src/test/java/org/apache/hadoop/hbase/client/TestConnectionConfiguration.java
+++ 
b/hbase-client/src/test/java/org/apache/hadoop/hbase/client/TestConnectionConfiguration.java
@@ -22,6 +22,7 @@ import static org.junit.Assert.assertTrue;
 
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.hbase.HBaseClassTestRule;
+import org.apache.hadoop.hbase.HBaseConfiguration;
 import org.apache.hadoop.hbase.HConstants;
 import org.apache.hadoop.hbase.testclassification.ClientTests;
 import org.apache.hadoop.hbase.testclassification.SmallTests;
@@ -51,4 +52,15 @@ public class TestConnectionConfiguration {
     config = new ConnectionConfiguration(conf);
     assertEquals(timeoutMs, config.getPauseMillisForServerOverloaded());
   }
+
+  @Test
+  public void testDefaultMetaOperationTimeout() {
+    Configuration conf = HBaseConfiguration.create();
+    long clientOperationTimeoutMs = 1000;
+    conf.setLong(HConstants.HBASE_CLIENT_OPERATION_TIMEOUT, 
clientOperationTimeoutMs);
+    ConnectionConfiguration config = new ConnectionConfiguration(conf);
+    assertEquals(clientOperationTimeoutMs, config.getOperationTimeout());
+    assertEquals(clientOperationTimeoutMs, config.getMetaOperationTimeout());
+  }
+
 }

Reply via email to