This is an automated email from the ASF dual-hosted git repository.

siddhant 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 366d07461a HDDS-10859. Improve error messages when decommission and 
maintenance fail-early (#6678)
366d07461a is described below

commit 366d07461af11a62b2b19b12ea40000a4fed589b
Author: Tejaskriya <[email protected]>
AuthorDate: Thu May 16 14:46:59 2024 +0530

    HDDS-10859. Improve error messages when decommission and maintenance 
fail-early (#6678)
---
 .../hdds/scm/node/NodeDecommissionManager.java      | 21 ++++++++++-----------
 1 file changed, 10 insertions(+), 11 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 96628aa6cf..df224d1d44 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
@@ -327,7 +327,6 @@ public class NodeDecommissionManager {
       boolean decommissionPossible = checkIfDecommissionPossible(dns, errors);
       if (!decommissionPossible) {
         LOG.error("Cannot decommission nodes as sufficient node are not 
available.");
-        errors.add(new DatanodeAdminError("AllHosts", "Sufficient nodes are 
not available."));
         return errors;
       }
     } else {
@@ -436,10 +435,11 @@ public class NodeDecommissionManager {
           }
           int reqNodes = cif.getReplicationConfig().getRequiredNodes();
           if ((inServiceTotal - numDecom) < reqNodes) {
-            LOG.info("Cannot decommission nodes. Tried to decommission {} 
nodes of which valid nodes = {}. " +
-                    "Cluster state: In-service nodes = {}, nodes required for 
replication = {}. " +
-                    "Failing due to datanode : {}, container : {}",
-                dns.size(), numDecom, inServiceTotal, reqNodes, dn, cid);
+            String errorMsg = "Insufficient nodes. Tried to decommission " + 
dns.size() +
+                " nodes of which " + numDecom + " nodes were valid. Cluster 
has " + inServiceTotal +
+                " IN-SERVICE nodes, " + reqNodes + " of which are required for 
minimum replication. ";
+            LOG.info(errorMsg + "Failing due to datanode : {}, container : 
{}", dn, cid);
+            errors.add(new DatanodeAdminError("AllHosts", errorMsg));
             return false;
           }
         }
@@ -495,7 +495,6 @@ public class NodeDecommissionManager {
       boolean maintenancePossible = checkIfMaintenancePossible(dns, errors);
       if (!maintenancePossible) {
         LOG.error("Cannot put nodes to maintenance as sufficient node are not 
available.");
-        errors.add(new DatanodeAdminError("AllHosts", "Sufficient nodes are 
not available."));
         return errors;
       }
     } else {
@@ -600,11 +599,11 @@ public class NodeDecommissionManager {
             minInService = maintenanceReplicaMinimum;
           }
           if ((inServiceTotal - numMaintenance) < minInService) {
-            LOG.info("Cannot enter nodes into maintenance. Tried to start 
maintenance for {} nodes " +
-                    "of which valid nodes = {}. " +
-                    "Cluster state: In-service nodes = {}, nodes required for 
replication = {}. " +
-                    "Failing due to datanode : {}, container : {}",
-                dns.size(), numMaintenance, inServiceTotal, minInService, dn, 
cid);
+            String errorMsg = "Insufficient nodes. Tried to start maintenance 
for " + dns.size() +
+                " nodes of which " + numMaintenance + " nodes were valid. 
Cluster has " + inServiceTotal +
+                " IN-SERVICE nodes, " + minInService + " of which are required 
for minimum replication. ";
+            LOG.info(errorMsg + "Failing due to datanode : {}, container : 
{}", dn, cid);
+            errors.add(new DatanodeAdminError("AllHosts", errorMsg));
             return false;
           }
         }


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

Reply via email to