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

sammichen 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 f71474a  HDDS-5700. Improve LOG message of decommission progress. 
(#2598)
f71474a is described below

commit f71474af1c68bbc790c94e20f229e752d8a523b1
Author: Sammi Chen <[email protected]>
AuthorDate: Fri Sep 3 10:25:51 2021 +0800

    HDDS-5700. Improve LOG message of decommission progress. (#2598)
---
 .../hadoop/hdds/scm/node/DatanodeAdminMonitorImpl.java | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git 
a/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/node/DatanodeAdminMonitorImpl.java
 
b/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/node/DatanodeAdminMonitorImpl.java
index 247a307..654b6fa 100644
--- 
a/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/node/DatanodeAdminMonitorImpl.java
+++ 
b/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/node/DatanodeAdminMonitorImpl.java
@@ -34,6 +34,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import java.util.*;
+import java.util.stream.Collectors;
 
 /**
  * Monitor thread which watches for nodes to be decommissioned, recommissioned
@@ -275,6 +276,8 @@ public class DatanodeAdminMonitorImpl implements 
DatanodeAdminMonitor {
     int sufficientlyReplicated = 0;
     int underReplicated = 0;
     int unhealthy = 0;
+    List<ContainerID> underReplicatedIDs = new ArrayList<>();
+    List<ContainerID> unhealthyIDs = new ArrayList<>();
     Set<ContainerID> containers =
         nodeManager.getContainers(dn);
     for (ContainerID cid : containers) {
@@ -284,9 +287,15 @@ public class DatanodeAdminMonitorImpl implements 
DatanodeAdminMonitor {
         if (replicaSet.isSufficientlyReplicated()) {
           sufficientlyReplicated++;
         } else {
+          if (LOG.isDebugEnabled()) {
+            underReplicatedIDs.add(cid);
+          }
           underReplicated++;
         }
         if (!replicaSet.isHealthy()) {
+          if (LOG.isDebugEnabled()) {
+            unhealthyIDs.add(cid);
+          }
           unhealthy++;
         }
       } catch (ContainerNotFoundException e) {
@@ -297,6 +306,15 @@ public class DatanodeAdminMonitorImpl implements 
DatanodeAdminMonitor {
     LOG.info("{} has {} sufficientlyReplicated, {} underReplicated and {} " +
         "unhealthy containers",
         dn, sufficientlyReplicated, underReplicated, unhealthy);
+    if (LOG.isDebugEnabled() && underReplicatedIDs.size() < 10000 &&
+        unhealthyIDs.size() < 10000) {
+      LOG.debug("{} has {} underReplicated [{}] and {} unhealthy [{}] " +
+              "containers", dn, underReplicated,
+          underReplicatedIDs.stream().map(
+              Object::toString).collect(Collectors.joining(", ")),
+          unhealthy, unhealthyIDs.stream().map(
+              Object::toString).collect(Collectors.joining(", ")));
+    }
     return underReplicated == 0 && unhealthy == 0;
   }
 

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

Reply via email to