This is an automated email from the ASF dual-hosted git repository.
adoroszlai pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ozone.git
The following commit(s) were added to refs/heads/master by this push:
new 8133be836a HDDS-11798. Move SafeModeRule names to respective rules
(#7742)
8133be836a is described below
commit 8133be836a4e1d6903c0b4b302ea2df896f063dc
Author: Nandakumar Vadivelu <[email protected]>
AuthorDate: Sat Jan 25 20:22:59 2025 +0530
HDDS-11798. Move SafeModeRule names to respective rules (#7742)
---
.../hdds/scm/safemode/ContainerSafeModeRule.java | 8 +++--
.../hdds/scm/safemode/DataNodeSafeModeRule.java | 6 ++--
.../scm/safemode/HealthyPipelineSafeModeRule.java | 7 +++--
.../safemode/OneReplicaPipelineSafeModeRule.java | 6 ++--
.../hdds/scm/safemode/SafeModeRuleFactory.java | 35 ++++++++--------------
5 files changed, 30 insertions(+), 32 deletions(-)
diff --git
a/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/safemode/ContainerSafeModeRule.java
b/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/safemode/ContainerSafeModeRule.java
index b66b6e9f0f..c8583c5b61 100644
---
a/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/safemode/ContainerSafeModeRule.java
+++
b/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/safemode/ContainerSafeModeRule.java
@@ -58,6 +58,9 @@ public class ContainerSafeModeRule extends
SafeModeExitRule<NodeRegistrationContainerReport> {
public static final Logger LOG =
LoggerFactory.getLogger(ContainerSafeModeRule.class);
+
+ private static final String NAME = "ContainerSafeModeRule";
+
private final ContainerManager containerManager;
// Required cutoff % for containers with at least 1 reported replica.
private final double safeModeCutoff;
@@ -71,12 +74,11 @@ public class ContainerSafeModeRule extends
private double ratisMaxContainer;
private double ecMaxContainer;
- public ContainerSafeModeRule(final String ruleName,
- final EventQueue eventQueue,
+ public ContainerSafeModeRule(final EventQueue eventQueue,
final ConfigurationSource conf,
final ContainerManager containerManager,
final SCMSafeModeManager manager) {
- super(manager, ruleName, eventQueue);
+ super(manager, NAME, eventQueue);
this.safeModeCutoff = getSafeModeCutoff(conf);
this.containerManager = containerManager;
this.ratisContainers = new HashSet<>();
diff --git
a/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/safemode/DataNodeSafeModeRule.java
b/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/safemode/DataNodeSafeModeRule.java
index b03fedb647..04a9251303 100644
---
a/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/safemode/DataNodeSafeModeRule.java
+++
b/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/safemode/DataNodeSafeModeRule.java
@@ -35,16 +35,18 @@
public class DataNodeSafeModeRule extends
SafeModeExitRule<NodeRegistrationContainerReport> {
+ private static final String NAME = "DataNodeSafeModeRule";
+
// Min DataNodes required to exit safe mode.
private int requiredDns;
private int registeredDns = 0;
// Set to track registered DataNodes.
private HashSet<UUID> registeredDnSet;
- public DataNodeSafeModeRule(String ruleName, EventQueue eventQueue,
+ public DataNodeSafeModeRule(EventQueue eventQueue,
ConfigurationSource conf,
SCMSafeModeManager manager) {
- super(manager, ruleName, eventQueue);
+ super(manager, NAME, eventQueue);
requiredDns = conf.getInt(
HddsConfigKeys.HDDS_SCM_SAFEMODE_MIN_DATANODE,
HddsConfigKeys.HDDS_SCM_SAFEMODE_MIN_DATANODE_DEFAULT);
diff --git
a/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/safemode/HealthyPipelineSafeModeRule.java
b/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/safemode/HealthyPipelineSafeModeRule.java
index e9f25f3a94..855963ccb3 100644
---
a/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/safemode/HealthyPipelineSafeModeRule.java
+++
b/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/safemode/HealthyPipelineSafeModeRule.java
@@ -50,6 +50,9 @@ public class HealthyPipelineSafeModeRule extends
SafeModeExitRule<Pipeline> {
public static final Logger LOG =
LoggerFactory.getLogger(HealthyPipelineSafeModeRule.class);
+
+ private static final String NAME = "HealthyPipelineSafeModeRule";
+
private int healthyPipelineThresholdCount;
private int currentHealthyPipelineCount = 0;
private final double healthyPipelinesPercent;
@@ -59,10 +62,10 @@ public class HealthyPipelineSafeModeRule extends
SafeModeExitRule<Pipeline> {
private final SCMContext scmContext;
private final Set<PipelineID> unProcessedPipelineSet = new HashSet<>();
- HealthyPipelineSafeModeRule(String ruleName, EventQueue eventQueue,
+ HealthyPipelineSafeModeRule(EventQueue eventQueue,
PipelineManager pipelineManager, SCMSafeModeManager manager,
ConfigurationSource configuration, SCMContext scmContext) {
- super(manager, ruleName, eventQueue);
+ super(manager, NAME, eventQueue);
this.pipelineManager = pipelineManager;
this.scmContext = scmContext;
healthyPipelinesPercent =
diff --git
a/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/safemode/OneReplicaPipelineSafeModeRule.java
b/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/safemode/OneReplicaPipelineSafeModeRule.java
index 08fe4d59d6..d27c19c19f 100644
---
a/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/safemode/OneReplicaPipelineSafeModeRule.java
+++
b/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/safemode/OneReplicaPipelineSafeModeRule.java
@@ -50,6 +50,7 @@ public class OneReplicaPipelineSafeModeRule extends
private static final Logger LOG =
LoggerFactory.getLogger(OneReplicaPipelineSafeModeRule.class);
+ private static final String NAME = "AtleastOneDatanodeReportedRule";
private int thresholdCount;
private final Set<PipelineID> reportedPipelineIDSet = new HashSet<>();
@@ -59,10 +60,9 @@ public class OneReplicaPipelineSafeModeRule extends
private final double pipelinePercent;
- public OneReplicaPipelineSafeModeRule(String ruleName, EventQueue eventQueue,
- PipelineManager pipelineManager,
+ public OneReplicaPipelineSafeModeRule(EventQueue eventQueue, PipelineManager
pipelineManager,
SCMSafeModeManager safeModeManager, ConfigurationSource configuration) {
- super(safeModeManager, ruleName, eventQueue);
+ super(safeModeManager, NAME, eventQueue);
pipelinePercent =
configuration.getDouble(
diff --git
a/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/safemode/SafeModeRuleFactory.java
b/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/safemode/SafeModeRuleFactory.java
index 8e75f51b96..8693f114ec 100644
---
a/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/safemode/SafeModeRuleFactory.java
+++
b/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/safemode/SafeModeRuleFactory.java
@@ -25,8 +25,6 @@
import org.apache.hadoop.hdds.scm.ha.SCMContext;
import org.apache.hadoop.hdds.scm.pipeline.PipelineManager;
import org.apache.hadoop.hdds.server.events.EventQueue;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
import java.util.ArrayList;
import java.util.List;
@@ -37,16 +35,6 @@
public final class SafeModeRuleFactory {
- private static final Logger LOG =
LoggerFactory.getLogger(SafeModeRuleFactory.class);
-
- // TODO: Move the rule names to respective rules. (HDDS-11798)
- private static final String CONT_EXIT_RULE = "ContainerSafeModeRule";
- private static final String DN_EXIT_RULE = "DataNodeSafeModeRule";
- private static final String HEALTHY_PIPELINE_EXIT_RULE =
- "HealthyPipelineSafeModeRule";
- private static final String ATLEAST_ONE_DATANODE_REPORTED_PIPELINE_EXIT_RULE
=
- "AtleastOneDatanodeReportedRule";
-
private final ConfigurationSource config;
private final SCMContext scmContext;
private final EventQueue eventQueue;
@@ -80,11 +68,15 @@ private SafeModeRuleFactory(final ConfigurationSource
config,
private void loadRules() {
// TODO: Use annotation to load the rules. (HDDS-11730)
- safeModeRules.add(new ContainerSafeModeRule(CONT_EXIT_RULE, eventQueue,
config,
- containerManager, safeModeManager));
- SafeModeExitRule<?> dnRule = new DataNodeSafeModeRule(DN_EXIT_RULE,
eventQueue, config, safeModeManager);
- safeModeRules.add(dnRule);
- preCheckRules.add(dnRule);
+ SafeModeExitRule<?> containerRule = new ContainerSafeModeRule(eventQueue,
+ config, containerManager, safeModeManager);
+ SafeModeExitRule<?> datanodeRule = new DataNodeSafeModeRule(eventQueue,
+ config, safeModeManager);
+
+ safeModeRules.add(containerRule);
+ safeModeRules.add(datanodeRule);
+
+ preCheckRules.add(datanodeRule);
// TODO: Move isRuleEnabled check to the Rule implementation. (HDDS-11799)
if (config.getBoolean(
@@ -92,11 +84,10 @@ private void loadRules() {
HddsConfigKeys.HDDS_SCM_SAFEMODE_PIPELINE_AVAILABILITY_CHECK_DEFAULT)
&& pipelineManager != null) {
- safeModeRules.add(new
HealthyPipelineSafeModeRule(HEALTHY_PIPELINE_EXIT_RULE,
- eventQueue, pipelineManager, safeModeManager, config, scmContext));
- safeModeRules.add(new OneReplicaPipelineSafeModeRule(
- ATLEAST_ONE_DATANODE_REPORTED_PIPELINE_EXIT_RULE, eventQueue,
- pipelineManager, safeModeManager, config));
+ safeModeRules.add(new HealthyPipelineSafeModeRule(eventQueue,
pipelineManager,
+ safeModeManager, config, scmContext));
+ safeModeRules.add(new OneReplicaPipelineSafeModeRule(eventQueue,
pipelineManager,
+ safeModeManager, config));
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]