From eab1ab97455a3fff1b4f0a7b0072fa7055345775 Mon Sep 17 00:00:00 2001 From: XiChen <32928346+xichen01@users.noreply.github.com> Date: Mon, 7 Apr 2025 23:17:25 +0800 Subject: [PATCH 1/3] HDDS-12795. Improve Initial heartbeat and first election time configuration name --- .../apache/hadoop/hdds/HddsConfigKeys.java | 18 +++++++------- .../hadoop/hdds/conf/OzoneConfiguration.java | 2 ++ .../apache/hadoop/hdds/scm/ScmConfigKeys.java | 4 ++-- .../apache/hadoop/ozone/OzoneConfigKeys.java | 2 +- .../src/main/resources/ozone-default.xml | 10 ++++---- .../hadoop/hdds/utils/HddsServerUtil.java | 24 +++++++++---------- .../apache/hadoop/hdds/scm/ha/RatisUtil.java | 2 +- .../hdds/upgrade/TestScmHAFinalization.java | 2 +- .../recon/TestReconAndAdminContainerCLI.java | 4 ++-- .../hadoop/ozone/MiniOzoneClusterImpl.java | 2 +- .../hadoop/ozone/UniformDatanodesFactory.java | 8 +++---- 11 files changed, 40 insertions(+), 38 deletions(-) diff --git a/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/HddsConfigKeys.java b/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/HddsConfigKeys.java index c76cafda55c2..9bdea099c609 100644 --- a/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/HddsConfigKeys.java +++ b/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/HddsConfigKeys.java @@ -27,17 +27,17 @@ public final class HddsConfigKeys { "hdds.heartbeat.interval"; public static final String HDDS_HEARTBEAT_INTERVAL_DEFAULT = "30s"; - public static final String HDDS_INITIAL_HEARTBEAT_INTERVAL = - "hdds.initial.heartbeat.interval"; - public static final String HDDS_INITIAL_HEARTBEAT_INTERVAL_DEFAULT = + public static final String HDDS_HEARTBEAT_INTERVAL_INITIAL = + "hdds.heartbeat.interval.initial"; + public static final String HDDS_HEARTBEAT_INTERVAL_INITIAL_DEFAULT = "2s"; - public static final String HDDS_RECON_HEARTBEAT_INTERVAL = - "hdds.recon.heartbeat.interval"; - public static final String HDDS_RECON_HEARTBEAT_INTERVAL_DEFAULT = + public static final String HDDS_HEARTBEAT_INTERVAL_RECON = + "hdds.heartbeat.interval.recon"; + public static final String HDDS_HEARTBEAT_INTERVAL_RECON_DEFAULT = "60s"; - public static final String HDDS_RECON_INITIAL_HEARTBEAT_INTERVAL = - "hdds.recon.initial.heartbeat.interval"; - public static final String HDDS_RECON_INITIAL_HEARTBEAT_INTERVAL_DEFAULT = + public static final String HDDS_HEARTBEAT_INTERVAL_RECON_INITIAL = + "hdds.heartbeat.interval.recon.initial"; + public static final String HDDS_HEARTBEAT_INTERVAL_RECON_INITIAL_DEFAULT = "2s"; public static final String HDDS_NODE_REPORT_INTERVAL = "hdds.node.report.interval"; diff --git a/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/conf/OzoneConfiguration.java b/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/conf/OzoneConfiguration.java index 0e11be5477f4..448c7e4099cf 100644 --- a/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/conf/OzoneConfiguration.java +++ b/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/conf/OzoneConfiguration.java @@ -408,6 +408,8 @@ private static void addDeprecatedKeys() { HddsConfigKeys.HDDS_DATANODE_KERBEROS_KEYTAB_FILE_KEY), new DeprecationDelta("dfs.metrics.percentiles.intervals", HddsConfigKeys.HDDS_METRICS_PERCENTILES_INTERVALS_KEY), + new DeprecationDelta("hdds.recon.heartbeat.interval", + HddsConfigKeys.HDDS_HEARTBEAT_INTERVAL_RECON), }); } 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 34848a9d5f73..966a5759de1a 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 @@ -636,8 +636,8 @@ public final class ScmConfigKeys { = "hdds.container.ratis.statemachine.write.wait.interval"; public static final long HDDS_CONTAINER_RATIS_STATEMACHINE_WRITE_WAIT_INTERVAL_NS_DEFAULT = 10 * 60 * 1000_000_000L; - public static final String OZONE_SCM_HA_RATIS_SERVER_RPC_FIRST_ELECTION_TIMEOUT - = "ozone.scm.ha.raft.server.rpc.first-election.timeout"; + public static final String OZONE_SCM_HA_RATIS_LEADER_FIRST_ELECTION_TIMEOUT + = "ozone.scm.ha.ratis.leader.first-election.timeout"; /** * Never constructed. diff --git a/hadoop-hdds/common/src/main/java/org/apache/hadoop/ozone/OzoneConfigKeys.java b/hadoop-hdds/common/src/main/java/org/apache/hadoop/ozone/OzoneConfigKeys.java index 4db78e644eaf..4943a459bd8a 100644 --- a/hadoop-hdds/common/src/main/java/org/apache/hadoop/ozone/OzoneConfigKeys.java +++ b/hadoop-hdds/common/src/main/java/org/apache/hadoop/ozone/OzoneConfigKeys.java @@ -416,7 +416,7 @@ public final class OzoneConfigKeys { public static final long HDDS_RATIS_SNAPSHOT_THRESHOLD_DEFAULT = ScmConfigKeys.HDDS_RATIS_SNAPSHOT_THRESHOLD_DEFAULT; public static final String HDDS_RATIS_LEADER_FIRST_ELECTION_MINIMUM_TIMEOUT_DURATION_KEY = - "hdds.ratis.leader.first.election.minimum.timeout.duration"; + "hdds.ratis.leader.first-election.minimum.timeout.duration"; public static final String HDDS_DATANODE_PLUGINS_KEY = "hdds.datanode.plugins"; diff --git a/hadoop-hdds/common/src/main/resources/ozone-default.xml b/hadoop-hdds/common/src/main/resources/ozone-default.xml index 7e76cf68c72c..f7b69ed0b066 100644 --- a/hadoop-hdds/common/src/main/resources/ozone-default.xml +++ b/hadoop-hdds/common/src/main/resources/ozone-default.xml @@ -348,7 +348,7 @@ - hdds.ratis.leader.first.election.minimum.timeout.duration + hdds.ratis.leader.first-election.minimum.timeout.duration OZONE, RATIS, MANAGEMENT ratis Minimum timeout for the first election of a leader. @@ -1163,7 +1163,7 @@ - hdds.initial.heartbeat.interval + hdds.heartbeat.interval.initial 2s OZONE, MANAGEMENT @@ -1171,7 +1171,7 @@ - hdds.recon.heartbeat.interval + hdds.heartbeat.interval.recon 60s OZONE, MANAGEMENT, RECON @@ -1179,7 +1179,7 @@ - hdds.recon.initial.heartbeat.interval + hdds.heartbeat.interval.recon.initial 60s OZONE, MANAGEMENT, RECON @@ -3858,7 +3858,7 @@ election. Default is 1s. - ozone.scm.ha.raft.server.rpc.first-election.timeout + ozone.scm.ha.ratis.leader.first-election.timeout SCM, OZONE, HA, RATIS ratis timeout for the first election of a leader. diff --git a/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/utils/HddsServerUtil.java b/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/utils/HddsServerUtil.java index a48a7a33a7da..b6ed17ab78e1 100644 --- a/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/utils/HddsServerUtil.java +++ b/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/utils/HddsServerUtil.java @@ -19,12 +19,12 @@ import static org.apache.hadoop.hdds.HddsConfigKeys.HDDS_HEARTBEAT_INTERVAL; import static org.apache.hadoop.hdds.HddsConfigKeys.HDDS_HEARTBEAT_INTERVAL_DEFAULT; -import static org.apache.hadoop.hdds.HddsConfigKeys.HDDS_INITIAL_HEARTBEAT_INTERVAL; -import static org.apache.hadoop.hdds.HddsConfigKeys.HDDS_INITIAL_HEARTBEAT_INTERVAL_DEFAULT; -import static org.apache.hadoop.hdds.HddsConfigKeys.HDDS_RECON_HEARTBEAT_INTERVAL; -import static org.apache.hadoop.hdds.HddsConfigKeys.HDDS_RECON_HEARTBEAT_INTERVAL_DEFAULT; -import static org.apache.hadoop.hdds.HddsConfigKeys.HDDS_RECON_INITIAL_HEARTBEAT_INTERVAL; -import static org.apache.hadoop.hdds.HddsConfigKeys.HDDS_RECON_INITIAL_HEARTBEAT_INTERVAL_DEFAULT; +import static org.apache.hadoop.hdds.HddsConfigKeys.HDDS_HEARTBEAT_INTERVAL_INITIAL; +import static org.apache.hadoop.hdds.HddsConfigKeys.HDDS_HEARTBEAT_INTERVAL_INITIAL_DEFAULT; +import static org.apache.hadoop.hdds.HddsConfigKeys.HDDS_HEARTBEAT_INTERVAL_RECON; +import static org.apache.hadoop.hdds.HddsConfigKeys.HDDS_HEARTBEAT_INTERVAL_RECON_DEFAULT; +import static org.apache.hadoop.hdds.HddsConfigKeys.HDDS_HEARTBEAT_INTERVAL_RECON_INITIAL; +import static org.apache.hadoop.hdds.HddsConfigKeys.HDDS_HEARTBEAT_INTERVAL_RECON_INITIAL_DEFAULT; import static org.apache.hadoop.hdds.HddsUtils.getHostNameFromConfigKeys; import static org.apache.hadoop.hdds.HddsUtils.getPortNumberFromConfigKeys; import static org.apache.hadoop.hdds.scm.ScmConfigKeys.HDDS_DATANODE_DIR_KEY; @@ -279,8 +279,8 @@ public static long getScmHeartbeatInterval(ConfigurationSource conf) { * @return - HB interval in milli seconds. */ public static long getScmInitialHeartbeatInterval(ConfigurationSource conf) { - return conf.getTimeDuration(HDDS_INITIAL_HEARTBEAT_INTERVAL, - HDDS_INITIAL_HEARTBEAT_INTERVAL_DEFAULT, TimeUnit.MILLISECONDS); + return conf.getTimeDuration(HDDS_HEARTBEAT_INTERVAL_INITIAL, + HDDS_HEARTBEAT_INTERVAL_INITIAL_DEFAULT, TimeUnit.MILLISECONDS); } /** @@ -291,8 +291,8 @@ public static long getScmInitialHeartbeatInterval(ConfigurationSource conf) { * @return - HB interval in milli seconds. */ public static long getReconHeartbeatInterval(ConfigurationSource conf) { - return conf.getTimeDuration(HDDS_RECON_HEARTBEAT_INTERVAL, - HDDS_RECON_HEARTBEAT_INTERVAL_DEFAULT, TimeUnit.MILLISECONDS); + return conf.getTimeDuration(HDDS_HEARTBEAT_INTERVAL_RECON, + HDDS_HEARTBEAT_INTERVAL_RECON_DEFAULT, TimeUnit.MILLISECONDS); } /** @@ -303,8 +303,8 @@ public static long getReconHeartbeatInterval(ConfigurationSource conf) { * @return - HB interval in milli seconds. */ public static long getInitialReconHeartbeatInterval(ConfigurationSource conf) { - return conf.getTimeDuration(HDDS_RECON_INITIAL_HEARTBEAT_INTERVAL, - HDDS_RECON_INITIAL_HEARTBEAT_INTERVAL_DEFAULT, TimeUnit.MILLISECONDS); + return conf.getTimeDuration(HDDS_HEARTBEAT_INTERVAL_RECON_INITIAL, + HDDS_HEARTBEAT_INTERVAL_RECON_INITIAL_DEFAULT, TimeUnit.MILLISECONDS); } /** diff --git a/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/ha/RatisUtil.java b/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/ha/RatisUtil.java index 456d020f9fb8..cb1402ccd151 100644 --- a/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/ha/RatisUtil.java +++ b/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/ha/RatisUtil.java @@ -139,7 +139,7 @@ private static void setRaftRpcProperties(final RaftProperties properties, TimeUnit.MILLISECONDS), TimeUnit.MILLISECONDS)); RatisHelper.setFirstElectionTimeoutDuration( - ozoneConf, properties, ScmConfigKeys.OZONE_SCM_HA_RATIS_SERVER_RPC_FIRST_ELECTION_TIMEOUT); + ozoneConf, properties, ScmConfigKeys.OZONE_SCM_HA_RATIS_LEADER_FIRST_ELECTION_TIMEOUT); } /** diff --git a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/hdds/upgrade/TestScmHAFinalization.java b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/hdds/upgrade/TestScmHAFinalization.java index 1d24c559c56a..8c67b37fd80d 100644 --- a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/hdds/upgrade/TestScmHAFinalization.java +++ b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/hdds/upgrade/TestScmHAFinalization.java @@ -88,7 +88,7 @@ public void init(OzoneConfiguration conf, configurator.setUpgradeFinalizationExecutor(executor); conf.setInt(HDDS_SCM_INIT_DEFAULT_LAYOUT_VERSION, HDDSLayoutFeature.INITIAL_VERSION.layoutVersion()); - conf.set(ScmConfigKeys.OZONE_SCM_HA_RATIS_SERVER_RPC_FIRST_ELECTION_TIMEOUT, "5s"); + conf.set(ScmConfigKeys.OZONE_SCM_HA_RATIS_LEADER_FIRST_ELECTION_TIMEOUT, "5s"); MiniOzoneHAClusterImpl.Builder clusterBuilder = MiniOzoneCluster.newHABuilder(conf); clusterBuilder.setNumOfStorageContainerManagers(NUM_SCMS) diff --git a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/recon/TestReconAndAdminContainerCLI.java b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/recon/TestReconAndAdminContainerCLI.java index 2ce2a18691e4..1e4235f173d6 100644 --- a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/recon/TestReconAndAdminContainerCLI.java +++ b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/recon/TestReconAndAdminContainerCLI.java @@ -23,9 +23,9 @@ import static org.apache.hadoop.hdds.HddsConfigKeys.HDDS_COMMAND_STATUS_REPORT_INTERVAL; import static org.apache.hadoop.hdds.HddsConfigKeys.HDDS_CONTAINER_REPORT_INTERVAL; import static org.apache.hadoop.hdds.HddsConfigKeys.HDDS_HEARTBEAT_INTERVAL; +import static org.apache.hadoop.hdds.HddsConfigKeys.HDDS_HEARTBEAT_INTERVAL_RECON; import static org.apache.hadoop.hdds.HddsConfigKeys.HDDS_NODE_REPORT_INTERVAL; import static org.apache.hadoop.hdds.HddsConfigKeys.HDDS_PIPELINE_REPORT_INTERVAL; -import static org.apache.hadoop.hdds.HddsConfigKeys.HDDS_RECON_HEARTBEAT_INTERVAL; import static org.apache.hadoop.hdds.protocol.proto.HddsProtos.NodeOperationalState.IN_SERVICE; import static org.apache.hadoop.hdds.scm.ScmConfigKeys.OZONE_SCM_DATANODE_ADMIN_MONITOR_INTERVAL; import static org.apache.hadoop.hdds.scm.ScmConfigKeys.OZONE_SCM_DEADNODE_INTERVAL; @@ -466,7 +466,7 @@ private static void setupConfigKeys() { CONF.set(ScmConfigKeys.OZONE_SCM_PIPELINE_SCRUB_INTERVAL, "2s"); CONF.set(ScmConfigKeys.OZONE_SCM_PIPELINE_DESTROY_TIMEOUT, "5s"); - CONF.setTimeDuration(HDDS_RECON_HEARTBEAT_INTERVAL, + CONF.setTimeDuration(HDDS_HEARTBEAT_INTERVAL_RECON, 1, TimeUnit.SECONDS); CONF.setTimeDuration(OZONE_RECON_OM_SNAPSHOT_TASK_INTERVAL_DELAY, 1, TimeUnit.SECONDS); diff --git a/hadoop-ozone/mini-cluster/src/main/java/org/apache/hadoop/ozone/MiniOzoneClusterImpl.java b/hadoop-ozone/mini-cluster/src/main/java/org/apache/hadoop/ozone/MiniOzoneClusterImpl.java index cef2724de2a5..b607a34aedfa 100644 --- a/hadoop-ozone/mini-cluster/src/main/java/org/apache/hadoop/ozone/MiniOzoneClusterImpl.java +++ b/hadoop-ozone/mini-cluster/src/main/java/org/apache/hadoop/ozone/MiniOzoneClusterImpl.java @@ -774,7 +774,7 @@ protected void configureSCM() { "3s"); conf.setInt(ScmConfigKeys.OZONE_SCM_RATIS_PORT_KEY, getFreePort()); conf.setInt(ScmConfigKeys.OZONE_SCM_GRPC_PORT_KEY, getFreePort()); - conf.setIfUnset(ScmConfigKeys.OZONE_SCM_HA_RATIS_SERVER_RPC_FIRST_ELECTION_TIMEOUT, "1s"); + conf.setIfUnset(ScmConfigKeys.OZONE_SCM_HA_RATIS_LEADER_FIRST_ELECTION_TIMEOUT, "1s"); } private void configureOM() { diff --git a/hadoop-ozone/mini-cluster/src/main/java/org/apache/hadoop/ozone/UniformDatanodesFactory.java b/hadoop-ozone/mini-cluster/src/main/java/org/apache/hadoop/ozone/UniformDatanodesFactory.java index fed26e641389..18508a134873 100644 --- a/hadoop-ozone/mini-cluster/src/main/java/org/apache/hadoop/ozone/UniformDatanodesFactory.java +++ b/hadoop-ozone/mini-cluster/src/main/java/org/apache/hadoop/ozone/UniformDatanodesFactory.java @@ -19,8 +19,8 @@ import static org.apache.hadoop.hdds.HddsConfigKeys.HDDS_DATANODE_CLIENT_ADDRESS_KEY; import static org.apache.hadoop.hdds.HddsConfigKeys.HDDS_DATANODE_HTTP_ADDRESS_KEY; -import static org.apache.hadoop.hdds.HddsConfigKeys.HDDS_INITIAL_HEARTBEAT_INTERVAL; -import static org.apache.hadoop.hdds.HddsConfigKeys.HDDS_RECON_INITIAL_HEARTBEAT_INTERVAL; +import static org.apache.hadoop.hdds.HddsConfigKeys.HDDS_HEARTBEAT_INTERVAL_INITIAL; +import static org.apache.hadoop.hdds.HddsConfigKeys.HDDS_HEARTBEAT_INTERVAL_RECON_INITIAL; import static org.apache.hadoop.hdds.HddsConfigKeys.OZONE_METADATA_DIRS; import static org.apache.hadoop.hdds.scm.ScmConfigKeys.HDDS_DATANODE_DIR_DU_RESERVED; import static org.apache.hadoop.hdds.scm.ScmConfigKeys.HDDS_DATANODE_DIR_KEY; @@ -118,8 +118,8 @@ public OzoneConfiguration apply(OzoneConfiguration conf) throws IOException { dnConf.setInt(TESTING_DATANODE_VERSION_CURRENT, currentVersion.toProtoValue()); } dnConf.set(HDDS_RATIS_LEADER_FIRST_ELECTION_MINIMUM_TIMEOUT_DURATION_KEY, "1s"); - dnConf.set(HDDS_INITIAL_HEARTBEAT_INTERVAL, "500ms"); - dnConf.set(HDDS_RECON_INITIAL_HEARTBEAT_INTERVAL, "500ms"); + dnConf.set(HDDS_HEARTBEAT_INTERVAL_INITIAL, "500ms"); + dnConf.set(HDDS_HEARTBEAT_INTERVAL_RECON_INITIAL, "500ms"); return dnConf; } From dd25c94ec22e42bc7942120e7ea85965e7b6d38f Mon Sep 17 00:00:00 2001 From: "Doroszlai, Attila" Date: Mon, 28 Apr 2025 13:34:45 +0200 Subject: [PATCH 2/3] keep original constant names --- .../apache/hadoop/hdds/HddsConfigKeys.java | 12 +++++----- .../hadoop/hdds/conf/OzoneConfiguration.java | 2 +- .../apache/hadoop/hdds/scm/ScmConfigKeys.java | 2 +- .../hadoop/hdds/utils/HddsServerUtil.java | 24 +++++++++---------- .../apache/hadoop/hdds/scm/ha/RatisUtil.java | 2 +- .../hdds/upgrade/TestScmHAFinalization.java | 2 +- .../recon/TestReconAndAdminContainerCLI.java | 4 ++-- .../hadoop/ozone/MiniOzoneClusterImpl.java | 2 +- .../hadoop/ozone/UniformDatanodesFactory.java | 8 +++---- 9 files changed, 29 insertions(+), 29 deletions(-) diff --git a/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/HddsConfigKeys.java b/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/HddsConfigKeys.java index 99abd469a6c2..76ab889e566e 100644 --- a/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/HddsConfigKeys.java +++ b/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/HddsConfigKeys.java @@ -27,17 +27,17 @@ public final class HddsConfigKeys { "hdds.heartbeat.interval"; public static final String HDDS_HEARTBEAT_INTERVAL_DEFAULT = "30s"; - public static final String HDDS_HEARTBEAT_INTERVAL_INITIAL = + public static final String HDDS_INITIAL_HEARTBEAT_INTERVAL = "hdds.heartbeat.interval.initial"; - public static final String HDDS_HEARTBEAT_INTERVAL_INITIAL_DEFAULT = + public static final String HDDS_INITIAL_HEARTBEAT_INTERVAL_DEFAULT = "2s"; - public static final String HDDS_HEARTBEAT_INTERVAL_RECON = + public static final String HDDS_RECON_HEARTBEAT_INTERVAL = "hdds.heartbeat.interval.recon"; - public static final String HDDS_HEARTBEAT_INTERVAL_RECON_DEFAULT = + public static final String HDDS_RECON_HEARTBEAT_INTERVAL_DEFAULT = "60s"; - public static final String HDDS_HEARTBEAT_INTERVAL_RECON_INITIAL = + public static final String HDDS_RECON_INITIAL_HEARTBEAT_INTERVAL = "hdds.heartbeat.interval.recon.initial"; - public static final String HDDS_HEARTBEAT_INTERVAL_RECON_INITIAL_DEFAULT = + public static final String HDDS_RECON_INITIAL_HEARTBEAT_INTERVAL_DEFAULT = "2s"; public static final String HDDS_NODE_REPORT_INTERVAL = "hdds.node.report.interval"; diff --git a/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/conf/OzoneConfiguration.java b/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/conf/OzoneConfiguration.java index d9a129a7c3b2..6959641c84f4 100644 --- a/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/conf/OzoneConfiguration.java +++ b/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/conf/OzoneConfiguration.java @@ -410,7 +410,7 @@ private static void addDeprecatedKeys() { new DeprecationDelta("dfs.metrics.percentiles.intervals", HddsConfigKeys.HDDS_METRICS_PERCENTILES_INTERVALS_KEY), new DeprecationDelta("hdds.recon.heartbeat.interval", - HddsConfigKeys.HDDS_HEARTBEAT_INTERVAL_RECON), + HddsConfigKeys.HDDS_RECON_HEARTBEAT_INTERVAL), }); } 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 23b6988187b3..090382be15e7 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 @@ -625,7 +625,7 @@ public final class ScmConfigKeys { = "hdds.container.ratis.statemachine.write.wait.interval"; public static final long HDDS_CONTAINER_RATIS_STATEMACHINE_WRITE_WAIT_INTERVAL_NS_DEFAULT = 10 * 60 * 1000_000_000L; - public static final String OZONE_SCM_HA_RATIS_LEADER_FIRST_ELECTION_TIMEOUT + public static final String OZONE_SCM_HA_RATIS_SERVER_RPC_FIRST_ELECTION_TIMEOUT = "ozone.scm.ha.ratis.leader.first-election.timeout"; /** diff --git a/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/utils/HddsServerUtil.java b/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/utils/HddsServerUtil.java index 1e7f6e715e18..9a780be8b3d4 100644 --- a/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/utils/HddsServerUtil.java +++ b/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/utils/HddsServerUtil.java @@ -19,12 +19,12 @@ import static org.apache.hadoop.hdds.HddsConfigKeys.HDDS_HEARTBEAT_INTERVAL; import static org.apache.hadoop.hdds.HddsConfigKeys.HDDS_HEARTBEAT_INTERVAL_DEFAULT; -import static org.apache.hadoop.hdds.HddsConfigKeys.HDDS_HEARTBEAT_INTERVAL_INITIAL; -import static org.apache.hadoop.hdds.HddsConfigKeys.HDDS_HEARTBEAT_INTERVAL_INITIAL_DEFAULT; -import static org.apache.hadoop.hdds.HddsConfigKeys.HDDS_HEARTBEAT_INTERVAL_RECON; -import static org.apache.hadoop.hdds.HddsConfigKeys.HDDS_HEARTBEAT_INTERVAL_RECON_DEFAULT; -import static org.apache.hadoop.hdds.HddsConfigKeys.HDDS_HEARTBEAT_INTERVAL_RECON_INITIAL; -import static org.apache.hadoop.hdds.HddsConfigKeys.HDDS_HEARTBEAT_INTERVAL_RECON_INITIAL_DEFAULT; +import static org.apache.hadoop.hdds.HddsConfigKeys.HDDS_INITIAL_HEARTBEAT_INTERVAL; +import static org.apache.hadoop.hdds.HddsConfigKeys.HDDS_INITIAL_HEARTBEAT_INTERVAL_DEFAULT; +import static org.apache.hadoop.hdds.HddsConfigKeys.HDDS_RECON_HEARTBEAT_INTERVAL; +import static org.apache.hadoop.hdds.HddsConfigKeys.HDDS_RECON_HEARTBEAT_INTERVAL_DEFAULT; +import static org.apache.hadoop.hdds.HddsConfigKeys.HDDS_RECON_INITIAL_HEARTBEAT_INTERVAL; +import static org.apache.hadoop.hdds.HddsConfigKeys.HDDS_RECON_INITIAL_HEARTBEAT_INTERVAL_DEFAULT; import static org.apache.hadoop.hdds.HddsUtils.getHostNameFromConfigKeys; import static org.apache.hadoop.hdds.HddsUtils.getPortNumberFromConfigKeys; import static org.apache.hadoop.hdds.scm.ScmConfigKeys.HDDS_DATANODE_DIR_KEY; @@ -275,8 +275,8 @@ public static long getScmHeartbeatInterval(ConfigurationSource conf) { * @return - HB interval in milli seconds. */ public static long getScmInitialHeartbeatInterval(ConfigurationSource conf) { - return conf.getTimeDuration(HDDS_HEARTBEAT_INTERVAL_INITIAL, - HDDS_HEARTBEAT_INTERVAL_INITIAL_DEFAULT, TimeUnit.MILLISECONDS); + return conf.getTimeDuration(HDDS_INITIAL_HEARTBEAT_INTERVAL, + HDDS_INITIAL_HEARTBEAT_INTERVAL_DEFAULT, TimeUnit.MILLISECONDS); } /** @@ -287,8 +287,8 @@ public static long getScmInitialHeartbeatInterval(ConfigurationSource conf) { * @return - HB interval in milli seconds. */ public static long getReconHeartbeatInterval(ConfigurationSource conf) { - return conf.getTimeDuration(HDDS_HEARTBEAT_INTERVAL_RECON, - HDDS_HEARTBEAT_INTERVAL_RECON_DEFAULT, TimeUnit.MILLISECONDS); + return conf.getTimeDuration(HDDS_RECON_HEARTBEAT_INTERVAL, + HDDS_RECON_HEARTBEAT_INTERVAL_DEFAULT, TimeUnit.MILLISECONDS); } /** @@ -299,8 +299,8 @@ public static long getReconHeartbeatInterval(ConfigurationSource conf) { * @return - HB interval in milli seconds. */ public static long getInitialReconHeartbeatInterval(ConfigurationSource conf) { - return conf.getTimeDuration(HDDS_HEARTBEAT_INTERVAL_RECON_INITIAL, - HDDS_HEARTBEAT_INTERVAL_RECON_INITIAL_DEFAULT, TimeUnit.MILLISECONDS); + return conf.getTimeDuration(HDDS_RECON_INITIAL_HEARTBEAT_INTERVAL, + HDDS_RECON_INITIAL_HEARTBEAT_INTERVAL_DEFAULT, TimeUnit.MILLISECONDS); } /** diff --git a/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/ha/RatisUtil.java b/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/ha/RatisUtil.java index 46111df90c0f..a482ae34f239 100644 --- a/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/ha/RatisUtil.java +++ b/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/ha/RatisUtil.java @@ -138,7 +138,7 @@ private static void setRaftRpcProperties(final RaftProperties properties, TimeUnit.MILLISECONDS), TimeUnit.MILLISECONDS)); RatisHelper.setFirstElectionTimeoutDuration( - ozoneConf, properties, ScmConfigKeys.OZONE_SCM_HA_RATIS_LEADER_FIRST_ELECTION_TIMEOUT); + ozoneConf, properties, ScmConfigKeys.OZONE_SCM_HA_RATIS_SERVER_RPC_FIRST_ELECTION_TIMEOUT); } /** diff --git a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/hdds/upgrade/TestScmHAFinalization.java b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/hdds/upgrade/TestScmHAFinalization.java index 0c8f3b4be810..bebddd34877d 100644 --- a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/hdds/upgrade/TestScmHAFinalization.java +++ b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/hdds/upgrade/TestScmHAFinalization.java @@ -89,7 +89,7 @@ public void init(OzoneConfiguration conf, configurator.setUpgradeFinalizationExecutor(executor); conf.setInt(HDDS_SCM_INIT_DEFAULT_LAYOUT_VERSION, HDDSLayoutFeature.INITIAL_VERSION.layoutVersion()); - conf.set(ScmConfigKeys.OZONE_SCM_HA_RATIS_LEADER_FIRST_ELECTION_TIMEOUT, "5s"); + conf.set(ScmConfigKeys.OZONE_SCM_HA_RATIS_SERVER_RPC_FIRST_ELECTION_TIMEOUT, "5s"); MiniOzoneHAClusterImpl.Builder clusterBuilder = MiniOzoneCluster.newHABuilder(conf); clusterBuilder.setNumOfStorageContainerManagers(NUM_SCMS) diff --git a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/recon/TestReconAndAdminContainerCLI.java b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/recon/TestReconAndAdminContainerCLI.java index 2eb298d45ad1..3f7ea803775e 100644 --- a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/recon/TestReconAndAdminContainerCLI.java +++ b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/recon/TestReconAndAdminContainerCLI.java @@ -22,9 +22,9 @@ import static org.apache.hadoop.hdds.HddsConfigKeys.HDDS_COMMAND_STATUS_REPORT_INTERVAL; import static org.apache.hadoop.hdds.HddsConfigKeys.HDDS_CONTAINER_REPORT_INTERVAL; import static org.apache.hadoop.hdds.HddsConfigKeys.HDDS_HEARTBEAT_INTERVAL; -import static org.apache.hadoop.hdds.HddsConfigKeys.HDDS_HEARTBEAT_INTERVAL_RECON; import static org.apache.hadoop.hdds.HddsConfigKeys.HDDS_NODE_REPORT_INTERVAL; import static org.apache.hadoop.hdds.HddsConfigKeys.HDDS_PIPELINE_REPORT_INTERVAL; +import static org.apache.hadoop.hdds.HddsConfigKeys.HDDS_RECON_HEARTBEAT_INTERVAL; import static org.apache.hadoop.hdds.protocol.proto.HddsProtos.NodeOperationalState.IN_SERVICE; import static org.apache.hadoop.hdds.scm.ScmConfigKeys.OZONE_SCM_DATANODE_ADMIN_MONITOR_INTERVAL; import static org.apache.hadoop.hdds.scm.ScmConfigKeys.OZONE_SCM_DEADNODE_INTERVAL; @@ -461,7 +461,7 @@ private static void setupConfigKeys() { CONF.set(ScmConfigKeys.OZONE_SCM_PIPELINE_SCRUB_INTERVAL, "2s"); CONF.set(ScmConfigKeys.OZONE_SCM_PIPELINE_DESTROY_TIMEOUT, "5s"); - CONF.setTimeDuration(HDDS_HEARTBEAT_INTERVAL_RECON, + CONF.setTimeDuration(HDDS_RECON_HEARTBEAT_INTERVAL, 1, TimeUnit.SECONDS); CONF.setTimeDuration(OZONE_RECON_OM_SNAPSHOT_TASK_INTERVAL_DELAY, 1, TimeUnit.SECONDS); diff --git a/hadoop-ozone/mini-cluster/src/main/java/org/apache/hadoop/ozone/MiniOzoneClusterImpl.java b/hadoop-ozone/mini-cluster/src/main/java/org/apache/hadoop/ozone/MiniOzoneClusterImpl.java index 0e38cf7c60e1..ef097ab57995 100644 --- a/hadoop-ozone/mini-cluster/src/main/java/org/apache/hadoop/ozone/MiniOzoneClusterImpl.java +++ b/hadoop-ozone/mini-cluster/src/main/java/org/apache/hadoop/ozone/MiniOzoneClusterImpl.java @@ -774,7 +774,7 @@ protected void configureSCM() { "3s"); conf.setInt(ScmConfigKeys.OZONE_SCM_RATIS_PORT_KEY, getFreePort()); conf.setInt(ScmConfigKeys.OZONE_SCM_GRPC_PORT_KEY, getFreePort()); - conf.setIfUnset(ScmConfigKeys.OZONE_SCM_HA_RATIS_LEADER_FIRST_ELECTION_TIMEOUT, "1s"); + conf.setIfUnset(ScmConfigKeys.OZONE_SCM_HA_RATIS_SERVER_RPC_FIRST_ELECTION_TIMEOUT, "1s"); } private void configureOM() { diff --git a/hadoop-ozone/mini-cluster/src/main/java/org/apache/hadoop/ozone/UniformDatanodesFactory.java b/hadoop-ozone/mini-cluster/src/main/java/org/apache/hadoop/ozone/UniformDatanodesFactory.java index bccc49183fed..771d2b190ce3 100644 --- a/hadoop-ozone/mini-cluster/src/main/java/org/apache/hadoop/ozone/UniformDatanodesFactory.java +++ b/hadoop-ozone/mini-cluster/src/main/java/org/apache/hadoop/ozone/UniformDatanodesFactory.java @@ -19,8 +19,8 @@ import static org.apache.hadoop.hdds.HddsConfigKeys.HDDS_DATANODE_CLIENT_ADDRESS_KEY; import static org.apache.hadoop.hdds.HddsConfigKeys.HDDS_DATANODE_HTTP_ADDRESS_KEY; -import static org.apache.hadoop.hdds.HddsConfigKeys.HDDS_HEARTBEAT_INTERVAL_INITIAL; -import static org.apache.hadoop.hdds.HddsConfigKeys.HDDS_HEARTBEAT_INTERVAL_RECON_INITIAL; +import static org.apache.hadoop.hdds.HddsConfigKeys.HDDS_INITIAL_HEARTBEAT_INTERVAL; +import static org.apache.hadoop.hdds.HddsConfigKeys.HDDS_RECON_INITIAL_HEARTBEAT_INTERVAL; import static org.apache.hadoop.hdds.HddsConfigKeys.OZONE_METADATA_DIRS; import static org.apache.hadoop.hdds.scm.ScmConfigKeys.HDDS_DATANODE_DIR_DU_RESERVED; import static org.apache.hadoop.hdds.scm.ScmConfigKeys.HDDS_DATANODE_DIR_KEY; @@ -117,8 +117,8 @@ public OzoneConfiguration apply(OzoneConfiguration conf) throws IOException { dnConf.setInt(TESTING_DATANODE_VERSION_CURRENT, currentVersion.toProtoValue()); } dnConf.set(HDDS_RATIS_LEADER_FIRST_ELECTION_MINIMUM_TIMEOUT_DURATION_KEY, "1s"); - dnConf.set(HDDS_HEARTBEAT_INTERVAL_INITIAL, "500ms"); - dnConf.set(HDDS_HEARTBEAT_INTERVAL_RECON_INITIAL, "500ms"); + dnConf.set(HDDS_INITIAL_HEARTBEAT_INTERVAL, "500ms"); + dnConf.set(HDDS_RECON_INITIAL_HEARTBEAT_INTERVAL, "500ms"); return dnConf; } From 7b6d8fe29212f9b783436e10f8ad6604e602c91e Mon Sep 17 00:00:00 2001 From: "Doroszlai, Attila" Date: Thu, 1 May 2025 19:38:41 +0200 Subject: [PATCH 3/3] apply suggestion from review --- .../java/org/apache/hadoop/hdds/HddsConfigKeys.java | 6 +++--- .../java/org/apache/hadoop/hdds/scm/ScmConfigKeys.java | 2 +- .../java/org/apache/hadoop/ozone/OzoneConfigKeys.java | 2 +- .../common/src/main/resources/ozone-default.xml | 10 +++++----- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/HddsConfigKeys.java b/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/HddsConfigKeys.java index 76ab889e566e..22c6cfb7facd 100644 --- a/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/HddsConfigKeys.java +++ b/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/HddsConfigKeys.java @@ -28,15 +28,15 @@ public final class HddsConfigKeys { public static final String HDDS_HEARTBEAT_INTERVAL_DEFAULT = "30s"; public static final String HDDS_INITIAL_HEARTBEAT_INTERVAL = - "hdds.heartbeat.interval.initial"; + "hdds.heartbeat.initial-interval"; public static final String HDDS_INITIAL_HEARTBEAT_INTERVAL_DEFAULT = "2s"; public static final String HDDS_RECON_HEARTBEAT_INTERVAL = - "hdds.heartbeat.interval.recon"; + "hdds.heartbeat.recon.interval"; public static final String HDDS_RECON_HEARTBEAT_INTERVAL_DEFAULT = "60s"; public static final String HDDS_RECON_INITIAL_HEARTBEAT_INTERVAL = - "hdds.heartbeat.interval.recon.initial"; + "hdds.heartbeat.recon.initial-interval"; public static final String HDDS_RECON_INITIAL_HEARTBEAT_INTERVAL_DEFAULT = "2s"; public static final String HDDS_NODE_REPORT_INTERVAL = 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 090382be15e7..44229338ec64 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 @@ -626,7 +626,7 @@ public final class ScmConfigKeys { public static final long HDDS_CONTAINER_RATIS_STATEMACHINE_WRITE_WAIT_INTERVAL_NS_DEFAULT = 10 * 60 * 1000_000_000L; public static final String OZONE_SCM_HA_RATIS_SERVER_RPC_FIRST_ELECTION_TIMEOUT - = "ozone.scm.ha.ratis.leader.first-election.timeout"; + = "ozone.scm.ha.raft.server.rpc.first-election.timeout"; /** * Never constructed. diff --git a/hadoop-hdds/common/src/main/java/org/apache/hadoop/ozone/OzoneConfigKeys.java b/hadoop-hdds/common/src/main/java/org/apache/hadoop/ozone/OzoneConfigKeys.java index 9d508cc97f35..dbb913668833 100644 --- a/hadoop-hdds/common/src/main/java/org/apache/hadoop/ozone/OzoneConfigKeys.java +++ b/hadoop-hdds/common/src/main/java/org/apache/hadoop/ozone/OzoneConfigKeys.java @@ -406,7 +406,7 @@ public final class OzoneConfigKeys { public static final long HDDS_RATIS_SNAPSHOT_THRESHOLD_DEFAULT = ScmConfigKeys.HDDS_RATIS_SNAPSHOT_THRESHOLD_DEFAULT; public static final String HDDS_RATIS_LEADER_FIRST_ELECTION_MINIMUM_TIMEOUT_DURATION_KEY = - "hdds.ratis.leader.first-election.minimum.timeout.duration"; + "hdds.raft.server.rpc.first-election.timeout"; public static final String HDDS_DATANODE_PLUGINS_KEY = "hdds.datanode.plugins"; diff --git a/hadoop-hdds/common/src/main/resources/ozone-default.xml b/hadoop-hdds/common/src/main/resources/ozone-default.xml index dd1988507da9..b250771f815d 100644 --- a/hadoop-hdds/common/src/main/resources/ozone-default.xml +++ b/hadoop-hdds/common/src/main/resources/ozone-default.xml @@ -339,7 +339,7 @@ - hdds.ratis.leader.first-election.minimum.timeout.duration + hdds.raft.server.rpc.first-election.timeout OZONE, RATIS, MANAGEMENT ratis Minimum timeout for the first election of a leader. @@ -1154,7 +1154,7 @@ - hdds.heartbeat.interval.initial + hdds.heartbeat.initial-interval 2s OZONE, MANAGEMENT @@ -1162,7 +1162,7 @@ - hdds.heartbeat.interval.recon + hdds.heartbeat.recon.interval 60s OZONE, MANAGEMENT, RECON @@ -1170,7 +1170,7 @@ - hdds.heartbeat.interval.recon.initial + hdds.heartbeat.recon.initial-interval 60s OZONE, MANAGEMENT, RECON @@ -3881,7 +3881,7 @@ election. Default is 1s. - ozone.scm.ha.ratis.leader.first-election.timeout + ozone.scm.ha.raft.server.rpc.first-election.timeout SCM, OZONE, HA, RATIS ratis timeout for the first election of a leader.