diff --git a/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/scm/ScmConfigKeys.java b/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/scm/ScmConfigKeys.java
index a456d821b8cc..240a76b7e485 100644
--- a/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/scm/ScmConfigKeys.java
+++ b/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/scm/ScmConfigKeys.java
@@ -443,78 +443,6 @@ public final class ScmConfigKeys {
= "ozone.scm.grpc.port";
public static final int OZONE_SCM_GRPC_PORT_DEFAULT
= 9895;
- public static final String OZONE_SCM_RATIS_RPC_TYPE_KEY
- = "ozone.scm.ratis.rpc.type";
- public static final String OZONE_SCM_RATIS_RPC_TYPE_DEFAULT
- = "GRPC";
-
- // SCM Ratis Log configurations
- public static final String OZONE_SCM_RATIS_STORAGE_DIR
- = "ozone.scm.ratis.storage.dir";
- public static final String OZONE_SCM_RATIS_SEGMENT_SIZE_KEY
- = "ozone.scm.ratis.segment.size";
- public static final String OZONE_SCM_RATIS_SEGMENT_SIZE_DEFAULT
- = "16KB";
- public static final String OZONE_SCM_RATIS_SEGMENT_PREALLOCATED_SIZE_KEY
- = "ozone.scm.ratis.segment.preallocated.size";
- public static final String OZONE_SCM_RATIS_SEGMENT_PREALLOCATED_SIZE_DEFAULT
- = "16KB";
-
- // SCM Ratis Log Appender configurations
- public static final String
- OZONE_SCM_RATIS_LOG_APPENDER_QUEUE_NUM_ELEMENTS =
- "ozone.scm.ratis.log.appender.queue.num-elements";
- public static final int
- OZONE_SCM_RATIS_LOG_APPENDER_QUEUE_NUM_ELEMENTS_DEFAULT = 1024;
- public static final String OZONE_SCM_RATIS_LOG_APPENDER_QUEUE_BYTE_LIMIT =
- "ozone.scm.ratis.log.appender.queue.byte-limit";
- public static final String
- OZONE_SCM_RATIS_LOG_APPENDER_QUEUE_BYTE_LIMIT_DEFAULT = "32MB";
- public static final String OZONE_SCM_RATIS_LOG_PURGE_GAP =
- "ozone.scm.ratis.log.purge.gap";
- public static final int OZONE_SCM_RATIS_LOG_PURGE_GAP_DEFAULT = 1000000;
-
- // SCM Ratis server configurations
- public static final String OZONE_SCM_RATIS_SERVER_REQUEST_TIMEOUT_KEY
- = "ozone.scm.ratis.server.request.timeout";
- public static final TimeDuration
- OZONE_SCM_RATIS_SERVER_REQUEST_TIMEOUT_DEFAULT
- = TimeDuration.valueOf(3000, TimeUnit.MILLISECONDS);
- public static final String
- OZONE_SCM_RATIS_SERVER_RETRY_CACHE_TIMEOUT_KEY
- = "ozone.scm.ratis.server.retry.cache.timeout";
- public static final TimeDuration
- OZONE_SCM_RATIS_SERVER_RETRY_CACHE_TIMEOUT_DEFAULT
- = TimeDuration.valueOf(600000, TimeUnit.MILLISECONDS);
- public static final String OZONE_SCM_RATIS_MINIMUM_TIMEOUT_KEY
- = "ozone.scm.ratis.minimum.timeout";
- public static final TimeDuration OZONE_SCM_RATIS_MINIMUM_TIMEOUT_DEFAULT
- = TimeDuration.valueOf(1, TimeUnit.SECONDS);
-
- public static final String OZONE_SCM_RATIS_REQUEST_TIMEOUT_KEY
- = "ozone.scm.ratis.minimum.timeout";
- public static final String OZONE_SCM_RATIS_REQUEST_TIMEOUT_DEFAULT
- = "30s";
-
- // SCM Ratis Leader Election configurations
- public static final String
- OZONE_SCM_LEADER_ELECTION_MINIMUM_TIMEOUT_DURATION_KEY =
- "ozone.scm.ratis.leader.election.minimum.timeout.duration";
- public static final TimeDuration
- OZONE_SCM_LEADER_ELECTION_MINIMUM_TIMEOUT_DURATION_DEFAULT =
- TimeDuration.valueOf(1, TimeUnit.SECONDS);
- public static final String OZONE_SCM_RATIS_SERVER_FAILURE_TIMEOUT_DURATION_KEY
- = "ozone.scm.ratis.server.failure.timeout.duration";
- public static final TimeDuration
- OZONE_SCM_RATIS_SERVER_FAILURE_TIMEOUT_DURATION_DEFAULT
- = TimeDuration.valueOf(120, TimeUnit.SECONDS);
-
- // SCM Leader server role check interval
- public static final String OZONE_SCM_RATIS_SERVER_ROLE_CHECK_INTERVAL_KEY
- = "ozone.scm.ratis.server.role.check.interval";
- public static final TimeDuration
- OZONE_SCM_RATIS_SERVER_ROLE_CHECK_INTERVAL_DEFAULT
- = TimeDuration.valueOf(15, TimeUnit.SECONDS);
public static final String OZONE_SCM_DATANODE_ADMIN_MONITOR_INTERVAL =
"ozone.scm.datanode.admin.monitor.interval";
diff --git a/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/scm/ha/SCMHAConfiguration.java b/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/scm/ha/SCMHAConfiguration.java
index d1d2e887b646..1f0dfe53e6ec 100644
--- a/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/scm/ha/SCMHAConfiguration.java
+++ b/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/scm/ha/SCMHAConfiguration.java
@@ -132,11 +132,11 @@ public class SCMHAConfiguration {
@Config(key = "ratis.request.timeout",
type = ConfigType.TIME,
- defaultValue = "3000ms",
+ defaultValue = "30s",
tags = {SCM, OZONE, HA, RATIS},
description = "The timeout duration for SCM's Ratis server RPC."
)
- private long ratisRequestTimeout = 3000L;
+ private long ratisRequestTimeout = 30 * 1000L;
@Config(key = "ratis.server.retry.cache.timeout",
type = ConfigType.TIME,
diff --git a/hadoop-hdds/common/src/main/resources/ozone-default.xml b/hadoop-hdds/common/src/main/resources/ozone-default.xml
index a66ee9368775..2d6b98826835 100644
--- a/hadoop-hdds/common/src/main/resources/ozone-default.xml
+++ b/hadoop-hdds/common/src/main/resources/ozone-default.xml
@@ -2053,128 +2053,6 @@
-
- ozone.scm.ratis.rpc.type
- GRPC
- OZONE, SCM, HA, RATIS
- Ratis supports different kinds of transports like netty, GRPC,
- Hadoop RPC etc. This picks one of those for this cluster.
-
-
-
-
- ozone.scm.ratis.storage.dir
-
- OZONE, SCM, HA, RATIS, STORAGE
- This directory is used for storing SCM's Ratis metadata like
- logs. If this is not set then default metadata dirs is used. A warning
- will be logged if this not set. Ideally, this should be mapped to a
- fast disk like an SSD.
- If undefined, SCM ratis storage dir will fallback to ozone.metadata.dirs.
- This fallback approach is not recommended for production environments.
-
-
-
-
- ozone.scm.ratis.segment.size
- 16KB
- OZONE, SCM, HA, RATIS, PERFORMANCE
- The size of the raft segment used by Apache Ratis on SCM.
- (16 KB by default)
-
-
-
-
- ozone.scm.ratis.segment.preallocated.size
- 16KB
- OZONE, SCM, HA, RATIS, PERFORMANCE
- The size of the buffer which is preallocated for raft segment
- used by Apache Ratis on SCM.(16 KB by default)
-
-
-
-
- ozone.scm.ratis.log.appender.queue.num-elements
- 1024
- OZONE, DEBUG, SCM, HA, RATIS
- Number of operation pending with Raft's Log Worker.
-
-
-
- ozone.scm.ratis.log.appender.queue.byte-limit
- 32MB
- OZONE, DEBUG, SCM, HA, RATIS
- Byte limit for Raft's Log Worker queue.
-
-
-
- ozone.scm.ratis.log.purge.gap
- 1000000
- OZONE, SCM, HA, RATIS
- The minimum gap between log indices for Raft server to purge
- its log segments after taking snapshot.
-
-
-
- ozone.scm.ratis.server.request.timeout
- 3s
- OZONE, SCM, HA, RATIS
- The timeout duration for SCM's ratis server request.
-
-
-
- ozone.scm.ratis.server.retry.cache.timeout
- 600000ms
- OZONE, SCM, HA, RATIS
- Retry Cache entry timeout for SCM's ratis server.
-
-
-
- ozone.scm.ratis.minimum.timeout
- 1s
- OZONE, SCM, HA, RATIS
- The minimum timeout duration for SCM's Ratis server rpc.
-
-
-
-
- ozone.scm.ratis.minimum.timeout
- 30s
- OZONE, SCM, HA, RATIS
- The request timeout duration for SCM's Ratis server request.
-
-
-
-
- ozone.scm.ratis.leader.election.minimum.timeout.duration
- 1s
- OZONE, SCM, HA, RATIS
- The minimum timeout duration for SCM ratis leader election.
- Default is 1s.
-
-
-
-
- ozone.scm.ratis.server.failure.timeout.duration
- 120s
- OZONE, SCM, HA, RATIS
- The timeout duration for ratis server failure detection,
- once the threshold has reached, the ratis state machine will be informed
- about the failure in the ratis ring.
-
-
-
-
- ozone.scm.ratis.server.role.check.interval
- 15s
- OZONE, SCM, HA, RATIS
- The interval between SCM leader performing a role
- check on its ratis server. Ratis server informs SCM if it
- loses the leader role. The scheduled check is an secondary
- check to ensure that the leader role is updated periodically
- .
-
-
hdds.metadata.dir
diff --git a/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/ha/SCMRatisServerImpl.java b/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/ha/SCMRatisServerImpl.java
index 063c007c0e89..6ab46f54c2c7 100644
--- a/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/ha/SCMRatisServerImpl.java
+++ b/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/ha/SCMRatisServerImpl.java
@@ -34,7 +34,6 @@
import org.apache.hadoop.hdds.conf.OzoneConfiguration;
import org.apache.hadoop.hdds.protocol.proto.SCMRatisProtocol.RequestType;
import org.apache.hadoop.hdds.scm.AddSCMRequest;
-import org.apache.hadoop.hdds.scm.ScmConfigKeys;
import org.apache.hadoop.hdds.scm.server.StorageContainerManager;
import org.apache.hadoop.net.NetUtils;
import org.apache.hadoop.hdds.security.x509.SecurityConfig;
@@ -206,10 +205,9 @@ public SCMRatisResponse submitRequest(SCMRatisRequest request)
.setType(RaftClientRequest.writeRequestType())
.build();
// any request submitted to
- final long requestTimeout = scm.getConfiguration()
- .getTimeDuration(ScmConfigKeys.OZONE_SCM_RATIS_REQUEST_TIMEOUT_KEY,
- ScmConfigKeys.OZONE_SCM_RATIS_REQUEST_TIMEOUT_DEFAULT,
- TimeUnit.MILLISECONDS);
+ final long requestTimeout =
+ scm.getConfiguration().getObject(SCMHAConfiguration.class)
+ .getRatisRequestTimeout();
final RaftClientReply raftClientReply =
server.submitClientRequestAsync(raftClientRequest)
.get(requestTimeout, TimeUnit.MILLISECONDS);