Repository: hbase Updated Branches: refs/heads/branch-2 22b90c4a6 -> 9e7ab9ffe
HBASE-19359 Revisit the default config of hbase client retries number Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/9e7ab9ff Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/9e7ab9ff Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/9e7ab9ff Branch: refs/heads/branch-2 Commit: 9e7ab9ffe2fc8dbbdc547fec314728f83dc7ed2f Parents: 22b90c4 Author: Guanghao Zhang <[email protected]> Authored: Tue Nov 28 21:08:19 2017 +0800 Committer: Michael Stack <[email protected]> Committed: Wed Nov 29 10:33:20 2017 -0800 ---------------------------------------------------------------------- .../src/main/java/org/apache/hadoop/hbase/client/Admin.java | 2 +- .../java/org/apache/hadoop/hbase/client/ConnectionUtils.java | 3 ++- .../src/main/java/org/apache/hadoop/hbase/HConstants.java | 7 ++++++- hbase-common/src/main/resources/hbase-default.xml | 2 +- .../src/main/java/org/apache/hadoop/hbase/master/HMaster.java | 2 +- .../org/apache/hadoop/hbase/regionserver/HRegionServer.java | 2 +- .../hbase/regionserver/handler/RegionReplicaFlushHandler.java | 3 ++- .../regionserver/RegionReplicaReplicationEndpoint.java | 5 +++-- .../regionserver/TestRegionReplicaReplicationEndpoint.java | 2 +- 9 files changed, 18 insertions(+), 10 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hbase/blob/9e7ab9ff/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Admin.java ---------------------------------------------------------------------- diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Admin.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Admin.java index d9f8e899..0567e8e 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Admin.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Admin.java @@ -2628,4 +2628,4 @@ public interface Admin extends Abortable, Closeable { * @return List of servers that are not cleared */ List<ServerName> clearDeadServers(final List<ServerName> servers) throws IOException; -} +} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/hbase/blob/9e7ab9ff/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ConnectionUtils.java ---------------------------------------------------------------------- diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ConnectionUtils.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ConnectionUtils.java index 345fac6..e27bf71 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ConnectionUtils.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ConnectionUtils.java @@ -116,7 +116,8 @@ public final class ConnectionUtils { HConstants.DEFAULT_HBASE_CLIENT_RETRIES_NUMBER); // Go big. Multiply by 10. If we can't get to meta after this many retries // then something seriously wrong. - int serversideMultiplier = c.getInt("hbase.client.serverside.retries.multiplier", 10); + int serversideMultiplier = c.getInt(HConstants.HBASE_CLIENT_SERVERSIDE_RETRIES_MULTIPLIER, + HConstants.DEFAULT_HBASE_CLIENT_SERVERSIDE_RETRIES_MULTIPLIER); int retries = hcRetries * serversideMultiplier; c.setInt(HConstants.HBASE_CLIENT_RETRIES_NUMBER, retries); log.info(sn + " server-side Connection retries=" + retries); http://git-wip-us.apache.org/repos/asf/hbase/blob/9e7ab9ff/hbase-common/src/main/java/org/apache/hadoop/hbase/HConstants.java ---------------------------------------------------------------------- diff --git a/hbase-common/src/main/java/org/apache/hadoop/hbase/HConstants.java b/hbase-common/src/main/java/org/apache/hadoop/hbase/HConstants.java index 589fae3..594a895 100644 --- a/hbase-common/src/main/java/org/apache/hadoop/hbase/HConstants.java +++ b/hbase-common/src/main/java/org/apache/hadoop/hbase/HConstants.java @@ -790,7 +790,12 @@ public final class HConstants { /** * Default value of {@link #HBASE_CLIENT_RETRIES_NUMBER}. */ - public static final int DEFAULT_HBASE_CLIENT_RETRIES_NUMBER = 35; + public static final int DEFAULT_HBASE_CLIENT_RETRIES_NUMBER = 10; + + public static final String HBASE_CLIENT_SERVERSIDE_RETRIES_MULTIPLIER = + "hbase.client.serverside.retries.multiplier"; + + public static final int DEFAULT_HBASE_CLIENT_SERVERSIDE_RETRIES_MULTIPLIER = 3; /** * Parameter name to set the default scanner caching for all clients. http://git-wip-us.apache.org/repos/asf/hbase/blob/9e7ab9ff/hbase-common/src/main/resources/hbase-default.xml ---------------------------------------------------------------------- diff --git a/hbase-common/src/main/resources/hbase-default.xml b/hbase-common/src/main/resources/hbase-default.xml index 400699f..c9fe83b 100644 --- a/hbase-common/src/main/resources/hbase-default.xml +++ b/hbase-common/src/main/resources/hbase-default.xml @@ -488,7 +488,7 @@ possible configurations would overwhelm and obscure the important. </property> <property> <name>hbase.client.retries.number</name> - <value>35</value> + <value>10</value> <description>Maximum retries. Used as maximum for all retryable operations such as the getting of a cell's value, starting a row update, etc. Retry interval is a rough function based on hbase.client.pause. At http://git-wip-us.apache.org/repos/asf/hbase/blob/9e7ab9ff/hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java ---------------------------------------------------------------------- diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java index cde3581..2b26a26 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java @@ -3533,4 +3533,4 @@ public class HMaster extends HRegionServer implements MasterServices { public SpaceQuotaSnapshotNotifier getSpaceQuotaSnapshotNotifier() { return this.spaceQuotaSnapshotNotifier; } -} +} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/hbase/blob/9e7ab9ff/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java ---------------------------------------------------------------------- diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java index 500f74f..5b94413 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java @@ -1957,7 +1957,7 @@ public class HRegionServer extends HasThread implements conf.getInt("hbase.log.replay.retries.number", 8)); // 8 retries take about 23 seconds sinkConf.setInt(HConstants.HBASE_RPC_TIMEOUT_KEY, conf.getInt("hbase.log.replay.rpc.timeout", 30000)); // default 30 seconds - sinkConf.setInt("hbase.client.serverside.retries.multiplier", 1); + sinkConf.setInt(HConstants.HBASE_CLIENT_SERVERSIDE_RETRIES_MULTIPLIER, 1); if (this.csm != null) { // SplitLogWorker needs csm. If none, don't start this. this.splitLogWorker = new SplitLogWorker(this, sinkConf, this, http://git-wip-us.apache.org/repos/asf/hbase/blob/9e7ab9ff/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/handler/RegionReplicaFlushHandler.java ---------------------------------------------------------------------- diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/handler/RegionReplicaFlushHandler.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/handler/RegionReplicaFlushHandler.java index aaefeb5..0d13aaf 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/handler/RegionReplicaFlushHandler.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/handler/RegionReplicaFlushHandler.java @@ -96,7 +96,8 @@ public class RegionReplicaFlushHandler extends EventHandler { int numRetries = conf.getInt(HConstants.HBASE_CLIENT_RETRIES_NUMBER, HConstants.DEFAULT_HBASE_CLIENT_RETRIES_NUMBER); if (numRetries > 10) { - int mult = conf.getInt("hbase.client.serverside.retries.multiplier", 10); + int mult = conf.getInt(HConstants.HBASE_CLIENT_SERVERSIDE_RETRIES_MULTIPLIER, + HConstants.DEFAULT_HBASE_CLIENT_SERVERSIDE_RETRIES_MULTIPLIER); numRetries = numRetries / mult; // reset if HRS has multiplied this already } return numRetries; http://git-wip-us.apache.org/repos/asf/hbase/blob/9e7ab9ff/hbase-server/src/main/java/org/apache/hadoop/hbase/replication/regionserver/RegionReplicaReplicationEndpoint.java ---------------------------------------------------------------------- diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/replication/regionserver/RegionReplicaReplicationEndpoint.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/replication/regionserver/RegionReplicaReplicationEndpoint.java index e130057..3d39146 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/replication/regionserver/RegionReplicaReplicationEndpoint.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/replication/regionserver/RegionReplicaReplicationEndpoint.java @@ -119,11 +119,12 @@ public class RegionReplicaReplicationEndpoint extends HBaseReplicationEndpoint { int defaultNumRetries = conf.getInt(HConstants.HBASE_CLIENT_RETRIES_NUMBER, HConstants.DEFAULT_HBASE_CLIENT_RETRIES_NUMBER); if (defaultNumRetries > 10) { - int mult = conf.getInt("hbase.client.serverside.retries.multiplier", 10); + int mult = conf.getInt(HConstants.HBASE_CLIENT_SERVERSIDE_RETRIES_MULTIPLIER, + HConstants.DEFAULT_HBASE_CLIENT_SERVERSIDE_RETRIES_MULTIPLIER); defaultNumRetries = defaultNumRetries / mult; // reset if HRS has multiplied this already } - conf.setInt("hbase.client.serverside.retries.multiplier", 1); + conf.setInt(HConstants.HBASE_CLIENT_SERVERSIDE_RETRIES_MULTIPLIER, 1); int numRetries = conf.getInt(CLIENT_RETRIES_NUMBER, defaultNumRetries); conf.setInt(HConstants.HBASE_CLIENT_RETRIES_NUMBER, numRetries); http://git-wip-us.apache.org/repos/asf/hbase/blob/9e7ab9ff/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/regionserver/TestRegionReplicaReplicationEndpoint.java ---------------------------------------------------------------------- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/regionserver/TestRegionReplicaReplicationEndpoint.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/regionserver/TestRegionReplicaReplicationEndpoint.java index 910449b..1c46b57 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/regionserver/TestRegionReplicaReplicationEndpoint.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/regionserver/TestRegionReplicaReplicationEndpoint.java @@ -101,7 +101,7 @@ public class TestRegionReplicaReplicationEndpoint { conf.setInt("replication.stats.thread.period.seconds", 5); conf.setBoolean("hbase.tests.use.shortcircuit.reads", false); conf.setInt(HConstants.HBASE_CLIENT_RETRIES_NUMBER, 5); // less number of retries is needed - conf.setInt("hbase.client.serverside.retries.multiplier", 1); + conf.setInt(HConstants.HBASE_CLIENT_SERVERSIDE_RETRIES_MULTIPLIER, 1); HTU.startMiniCluster(NB_SERVERS); }
