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]

Reply via email to