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 8d906a5ac0 HDDS-10087. Clean up code in NodeDecommissionManager (#5953)
8d906a5ac0 is described below

commit 8d906a5ac0afe2c7ab8fe9ea1594407ae4d6ea64
Author: jianghuazhu <[email protected]>
AuthorDate: Thu Jan 11 02:14:47 2024 +0800

    HDDS-10087. Clean up code in NodeDecommissionManager (#5953)
---
 .../hdds/scm/node/NodeDecommissionManager.java     | 51 ++++++++--------------
 .../hdds/scm/server/StorageContainerManager.java   |  2 +-
 .../hdds/scm/node/TestNodeDecommissionManager.java |  2 +-
 3 files changed, 19 insertions(+), 36 deletions(-)

diff --git 
a/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/node/NodeDecommissionManager.java
 
b/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/node/NodeDecommissionManager.java
index f48841bc67..c98cc63c46 100644
--- 
a/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/node/NodeDecommissionManager.java
+++ 
b/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/node/NodeDecommissionManager.java
@@ -24,7 +24,6 @@ import org.apache.hadoop.hdds.protocol.DatanodeDetails;
 import org.apache.hadoop.hdds.protocol.proto.HddsProtos.NodeOperationalState;
 import org.apache.hadoop.hdds.scm.DatanodeAdminError;
 import org.apache.hadoop.hdds.scm.ScmConfigKeys;
-import org.apache.hadoop.hdds.scm.container.ContainerManager;
 import org.apache.hadoop.hdds.scm.container.replication.ReplicationManager;
 import org.apache.hadoop.hdds.scm.ha.SCMContext;
 import org.apache.hadoop.hdds.scm.node.states.NodeNotFoundException;
@@ -51,25 +50,20 @@ import java.util.stream.Collectors;
  */
 public class NodeDecommissionManager {
 
-  private ScheduledExecutorService executor;
-  private DatanodeAdminMonitor monitor;
+  private final ScheduledExecutorService executor;
+  private final DatanodeAdminMonitor monitor;
 
-  private NodeManager nodeManager;
-  //private ContainerManager containerManager;
-  private SCMContext scmContext;
-  private EventPublisher eventQueue;
-  private ReplicationManager replicationManager;
-  private OzoneConfiguration conf;
-  private boolean useHostnames;
-  private long monitorInterval;
+  private final NodeManager nodeManager;
+  private final SCMContext scmContext;
+  private final boolean useHostnames;
 
   // Decommissioning and Maintenance mode progress related metrics.
-  private NodeDecommissionMetrics metrics;
+  private final NodeDecommissionMetrics metrics;
 
   private static final Logger LOG =
       LoggerFactory.getLogger(NodeDecommissionManager.class);
 
-  static class HostDefinition {
+  static final class HostDefinition {
     private String rawHostname;
     private String hostname;
     private int port;
@@ -119,12 +113,7 @@ public class NodeDecommissionManager {
       try {
         host = new HostDefinition(hostString);
         addr = InetAddress.getByName(host.getHostname());
-      } catch (InvalidHostStringException e) {
-        LOG.warn("Unable to resolve host {} ", hostString, e);
-        errors.add(new DatanodeAdminError(hostString,
-            e.getMessage()));
-        continue;
-      } catch (UnknownHostException e) {
+      } catch (InvalidHostStringException | UnknownHostException e) {
         LOG.warn("Unable to resolve host {} ", hostString, e);
         errors.add(new DatanodeAdminError(hostString,
             e.getMessage()));
@@ -262,15 +251,10 @@ public class NodeDecommissionManager {
   }
 
   public NodeDecommissionManager(OzoneConfiguration config, NodeManager nm,
-             ContainerManager containerManager, SCMContext scmContext,
+             SCMContext scmContext,
              EventPublisher eventQueue, ReplicationManager rm) {
     this.nodeManager = nm;
-    conf = config;
-    //this.containerManager = containerManager;
     this.scmContext = scmContext;
-    this.eventQueue = eventQueue;
-    this.replicationManager = rm;
-    this.metrics = null;
 
     executor = Executors.newScheduledThreadPool(1,
         new ThreadFactoryBuilder()
@@ -280,11 +264,11 @@ public class NodeDecommissionManager {
             .build()
     );
 
-    useHostnames = conf.getBoolean(
+    useHostnames = config.getBoolean(
         DFSConfigKeys.DFS_DATANODE_USE_DN_HOSTNAME,
         DFSConfigKeys.DFS_DATANODE_USE_DN_HOSTNAME_DEFAULT);
 
-    monitorInterval = conf.getTimeDuration(
+    long monitorInterval = config.getTimeDuration(
         ScmConfigKeys.OZONE_SCM_DATANODE_ADMIN_MONITOR_INTERVAL,
         ScmConfigKeys.OZONE_SCM_DATANODE_ADMIN_MONITOR_INTERVAL_DEFAULT,
         TimeUnit.SECONDS);
@@ -292,16 +276,16 @@ public class NodeDecommissionManager {
       LOG.warn("{} must be greater than zero, defaulting to {}",
           ScmConfigKeys.OZONE_SCM_DATANODE_ADMIN_MONITOR_INTERVAL,
           ScmConfigKeys.OZONE_SCM_DATANODE_ADMIN_MONITOR_INTERVAL_DEFAULT);
-      conf.set(ScmConfigKeys.OZONE_SCM_DATANODE_ADMIN_MONITOR_INTERVAL,
+      config.set(ScmConfigKeys.OZONE_SCM_DATANODE_ADMIN_MONITOR_INTERVAL,
           ScmConfigKeys.OZONE_SCM_DATANODE_ADMIN_MONITOR_INTERVAL_DEFAULT);
-      monitorInterval = conf.getTimeDuration(
+      monitorInterval = config.getTimeDuration(
           ScmConfigKeys.OZONE_SCM_DATANODE_ADMIN_MONITOR_INTERVAL,
           ScmConfigKeys.OZONE_SCM_DATANODE_ADMIN_MONITOR_INTERVAL_DEFAULT,
           TimeUnit.SECONDS);
     }
 
-    monitor = new DatanodeAdminMonitorImpl(conf, eventQueue, nodeManager,
-        replicationManager);
+    monitor = new DatanodeAdminMonitorImpl(config, eventQueue, nodeManager,
+        rm);
     this.metrics = NodeDecommissionMetrics.create();
     monitor.setMetrics(this.metrics);
     executor.scheduleAtFixedRate(monitor, monitorInterval, monitorInterval,
@@ -342,7 +326,6 @@ public class NodeDecommissionManager {
    * be in DECOMMISSIONING or ENTERING_MAINTENANCE state. In that case, it
    * needs to be added back into the monitor to track its progress.
    * @param dn Datanode to add back to tracking.
-   * @throws NodeNotFoundException
    */
   public synchronized void continueAdminForNode(DatanodeDetails dn)
       throws NodeNotFoundException {
@@ -379,7 +362,7 @@ public class NodeDecommissionManager {
   }
 
   public synchronized List<DatanodeAdminError> recommissionNodes(
-      List<String> nodes) throws InvalidHostStringException {
+      List<String> nodes) {
     List<DatanodeAdminError> errors = new ArrayList<>();
     List<DatanodeDetails> dns = mapHostnamesToDatanodes(nodes, errors);
     for (DatanodeDetails dn : dns) {
@@ -416,7 +399,7 @@ public class NodeDecommissionManager {
   }
 
   public synchronized List<DatanodeAdminError> startMaintenanceNodes(
-      List<String> nodes, int endInHours) throws InvalidHostStringException {
+      List<String> nodes, int endInHours) {
     List<DatanodeAdminError> errors = new ArrayList<>();
     List<DatanodeDetails> dns = mapHostnamesToDatanodes(nodes, errors);
     for (DatanodeDetails dn : dns) {
diff --git 
a/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/server/StorageContainerManager.java
 
b/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/server/StorageContainerManager.java
index 34f2274a32..1a3ea2515f 100644
--- 
a/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/server/StorageContainerManager.java
+++ 
b/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/server/StorageContainerManager.java
@@ -847,7 +847,7 @@ public final class StorageContainerManager extends 
ServiceRuntimeInfoImpl
     }
 
     scmDecommissionManager = new NodeDecommissionManager(conf, scmNodeManager,
-        containerManager, scmContext, eventQueue, replicationManager);
+        scmContext, eventQueue, replicationManager);
 
     statefulServiceStateManager = StatefulServiceStateManagerImpl.newBuilder()
         .setStatefulServiceConfig(
diff --git 
a/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/node/TestNodeDecommissionManager.java
 
b/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/node/TestNodeDecommissionManager.java
index 02b0ffdeb2..332d762a4c 100644
--- 
a/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/node/TestNodeDecommissionManager.java
+++ 
b/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/node/TestNodeDecommissionManager.java
@@ -64,7 +64,7 @@ public class TestNodeDecommissionManager {
     conf = new OzoneConfiguration();
     conf.set(HddsConfigKeys.OZONE_METADATA_DIRS, dir.getAbsolutePath());
     nodeManager = createNodeManager(conf);
-    decom = new NodeDecommissionManager(conf, nodeManager, null,
+    decom = new NodeDecommissionManager(conf, nodeManager,
         SCMContext.emptyContext(), new EventQueue(), null);
   }
 


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to