Skip to content

Commit 31da0f2

Browse files
droudnitskyDaniel Roudnitsky
andauthored
HBASE-28608 More sensible client meta operation timeout default (#6481)
Co-authored-by: Daniel Roudnitsky <droudnitsky1@bloomberg.net> Signed-off-by: Duo Zhang <zhangduo@apache.org>
1 parent e23c4c9 commit 31da0f2

File tree

3 files changed

+27
-2
lines changed

3 files changed

+27
-2
lines changed

hbase-client/src/main/java/org/apache/hadoop/hbase/client/ConnectionConfiguration.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,8 @@ public class ConnectionConfiguration {
121121
WRITE_BUFFER_PERIODIC_FLUSH_TIMERTICK_MS, WRITE_BUFFER_PERIODIC_FLUSH_TIMERTICK_MS_DEFAULT);
122122

123123
this.metaOperationTimeout = conf.getInt(HConstants.HBASE_CLIENT_META_OPERATION_TIMEOUT,
124-
HConstants.DEFAULT_HBASE_CLIENT_OPERATION_TIMEOUT);
124+
conf.getInt(HConstants.HBASE_CLIENT_OPERATION_TIMEOUT,
125+
HConstants.DEFAULT_HBASE_CLIENT_OPERATION_TIMEOUT));
125126

126127
this.operationTimeout = conf.getInt(HConstants.HBASE_CLIENT_OPERATION_TIMEOUT,
127128
HConstants.DEFAULT_HBASE_CLIENT_OPERATION_TIMEOUT);

hbase-client/src/test/java/org/apache/hadoop/hbase/client/TestAsyncConnectionConfiguration.java

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
import org.junit.experimental.categories.Category;
3333

3434
/**
35-
* See HBASE-24513.
35+
* See HBASE-24513, HBASE-28608.
3636
*/
3737
@Category({ ClientTests.class, SmallTests.class })
3838
public class TestAsyncConnectionConfiguration {
@@ -69,4 +69,16 @@ public void testDefaultReadWriteRpcTimeout() {
6969
assertEquals(expected, config.getReadRpcTimeoutNs());
7070
assertEquals(expected, config.getWriteRpcTimeoutNs());
7171
}
72+
73+
@Test
74+
public void testDefaultMetaOperationTimeout() {
75+
Configuration conf = HBaseConfiguration.create();
76+
long timeoutMs = 1000;
77+
conf.setLong(HConstants.HBASE_CLIENT_OPERATION_TIMEOUT, timeoutMs);
78+
AsyncConnectionConfiguration config = new AsyncConnectionConfiguration(conf);
79+
long expected = TimeUnit.MILLISECONDS.toNanos(timeoutMs);
80+
assertEquals(expected, config.getOperationTimeoutNs());
81+
assertEquals(expected, config.getMetaOperationTimeoutNs());
82+
}
83+
7284
}

hbase-client/src/test/java/org/apache/hadoop/hbase/client/TestConnectionConfiguration.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222

2323
import org.apache.hadoop.conf.Configuration;
2424
import org.apache.hadoop.hbase.HBaseClassTestRule;
25+
import org.apache.hadoop.hbase.HBaseConfiguration;
2526
import org.apache.hadoop.hbase.HConstants;
2627
import org.apache.hadoop.hbase.testclassification.ClientTests;
2728
import org.apache.hadoop.hbase.testclassification.SmallTests;
@@ -51,4 +52,15 @@ public void itHandlesDeprecatedPauseForCQTBE() {
5152
config = new ConnectionConfiguration(conf);
5253
assertEquals(timeoutMs, config.getPauseMillisForServerOverloaded());
5354
}
55+
56+
@Test
57+
public void testDefaultMetaOperationTimeout() {
58+
Configuration conf = HBaseConfiguration.create();
59+
long clientOperationTimeoutMs = 1000;
60+
conf.setLong(HConstants.HBASE_CLIENT_OPERATION_TIMEOUT, clientOperationTimeoutMs);
61+
ConnectionConfiguration config = new ConnectionConfiguration(conf);
62+
assertEquals(clientOperationTimeoutMs, config.getOperationTimeout());
63+
assertEquals(clientOperationTimeoutMs, config.getMetaOperationTimeout());
64+
}
65+
5466
}

0 commit comments

Comments
 (0)