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 4531701c4d HDDS-7753. Simplify DatanodeDetails#toString to improve log 
messages (#4161)
4531701c4d is described below

commit 4531701c4d2137ae9ecf753e51874917c094f7ff
Author: Doroszlai, Attila <[email protected]>
AuthorDate: Tue Jan 10 21:33:02 2023 +0100

    HDDS-7753. Simplify DatanodeDetails#toString to improve log messages (#4161)
---
 .../org/apache/hadoop/hdds/protocol/DatanodeDetails.java   | 13 ++++---------
 .../ec/reconstruction/ECReconstructionCommandInfo.java     | 11 ++---------
 .../protocol/commands/ReconstructECContainersCommand.java  |  6 ++----
 .../ozone/protocol/commands/ReplicateContainerCommand.java |  5 +----
 .../org/apache/hadoop/hdds/scm/node/SCMNodeManager.java    | 14 +++++++++-----
 5 files changed, 18 insertions(+), 31 deletions(-)

diff --git 
a/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/protocol/DatanodeDetails.java
 
b/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/protocol/DatanodeDetails.java
index ec68692d24..fc3f8ae6fb 100644
--- 
a/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/protocol/DatanodeDetails.java
+++ 
b/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/protocol/DatanodeDetails.java
@@ -195,15 +195,6 @@ public class DatanodeDetails extends NodeImpl implements
     return hostName;
   }
 
-  /**
-   * Returns the Hostname and IP of the datanode separated by a slash.
-   *
-   * Eg: datanode001.corp/192.168.0.123
-   */
-  public String getHostNameAndIP() {
-    return getHostName() + "/" + getIpAddress();
-  }
-
   /**
    * Sets a DataNode Port.
    *
@@ -503,6 +494,10 @@ public class DatanodeDetails extends NodeImpl implements
 
   @Override
   public String toString() {
+    return uuidString + "(" + hostName + "/" + ipAddress + ")";
+  }
+
+  public String toDebugString() {
     return uuid.toString() + "{" +
         "ip: " +
         ipAddress +
diff --git 
a/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/ec/reconstruction/ECReconstructionCommandInfo.java
 
b/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/ec/reconstruction/ECReconstructionCommandInfo.java
index 2851c73544..c053a9ae92 100644
--- 
a/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/ec/reconstruction/ECReconstructionCommandInfo.java
+++ 
b/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/ec/reconstruction/ECReconstructionCommandInfo.java
@@ -28,7 +28,6 @@ import java.util.TreeMap;
 import java.util.stream.IntStream;
 
 import static java.util.Collections.unmodifiableSortedMap;
-import static java.util.stream.Collectors.joining;
 import static java.util.stream.Collectors.toMap;
 
 /**
@@ -91,14 +90,8 @@ public class ECReconstructionCommandInfo {
         + "containerID=" + containerID
         + ", replication=" + ecReplicationConfig.getReplication()
         + ", missingIndexes=" + Arrays.toString(missingContainerIndexes)
-        + ", sources={" + toString(sourceNodeMap) + "}"
-        + ", targets={" + toString(targetNodeMap) + "}}";
-  }
-
-  private String toString(SortedMap<Integer, DatanodeDetails> nodeMap) {
-    return nodeMap.entrySet().stream()
-        .map(e -> e.getKey() + ":" + e.getValue().getHostNameAndIP())
-        .collect(joining(","));
+        + ", sources=" + sourceNodeMap
+        + ", targets=" + targetNodeMap + "}";
   }
 
   public long getTerm() {
diff --git 
a/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/protocol/commands/ReconstructECContainersCommand.java
 
b/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/protocol/commands/ReconstructECContainersCommand.java
index f86fcc7a65..f12b976c4d 100644
--- 
a/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/protocol/commands/ReconstructECContainersCommand.java
+++ 
b/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/protocol/commands/ReconstructECContainersCommand.java
@@ -141,12 +141,10 @@ public class ReconstructECContainersCommand
         .append(": containerID: ").append(containerID)
         .append(", replicationConfig: ").append(ecReplicationConfig)
         .append(", sources: [").append(getSources().stream()
-            .map(a -> a.dnDetails.getHostNameAndIP()
+            .map(a -> a.dnDetails
                 + " replicaIndex: " + a.getReplicaIndex())
             .collect(Collectors.joining(", "))).append("]")
-        .append(", targets: [").append(getTargetDatanodes().stream()
-            .map(DatanodeDetails::getHostNameAndIP)
-        .collect(Collectors.joining(", "))).append("]")
+        .append(", targets: ").append(getTargetDatanodes())
         .append(", missingIndexes: ").append(
             Arrays.toString(missingContainerIndexes));
     return sb.toString();
diff --git 
a/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/protocol/commands/ReplicateContainerCommand.java
 
b/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/protocol/commands/ReplicateContainerCommand.java
index cdc2a15e9c..3f5959a281 100644
--- 
a/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/protocol/commands/ReplicateContainerCommand.java
+++ 
b/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/protocol/commands/ReplicateContainerCommand.java
@@ -116,10 +116,7 @@ public class ReplicateContainerCommand
     sb.append(getType());
     sb.append(": containerId: ").append(getContainerID());
     sb.append(", replicaIndex: ").append(getReplicaIndex());
-    sb.append(", sourceNodes: [");
-    sb.append(sourceDatanodes.stream()
-        .map(DatanodeDetails::getHostNameAndIP)
-        .collect(Collectors.joining(", "))).append("]");
+    sb.append(", sourceNodes: ").append(sourceDatanodes);
     return sb.toString();
   }
 }
diff --git 
a/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/node/SCMNodeManager.java
 
b/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/node/SCMNodeManager.java
index b9bc13d5a5..e96313df78 100644
--- 
a/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/node/SCMNodeManager.java
+++ 
b/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/node/SCMNodeManager.java
@@ -394,16 +394,16 @@ public class SCMNodeManager implements NodeManager {
         addEntryToDnsToUuidMap(dnsName, datanodeDetails.getUuidString());
         // Updating Node Report, as registration is successful
         processNodeReport(datanodeDetails, nodeReport);
-        LOG.info("Registered Data node : {}", datanodeDetails);
+        LOG.info("Registered Data node : {}", datanodeDetails.toDebugString());
         scmNodeEventPublisher.fireEvent(SCMEvents.NEW_NODE, datanodeDetails);
       } catch (NodeAlreadyExistsException e) {
         if (LOG.isTraceEnabled()) {
           LOG.trace("Datanode is already registered. Datanode: {}",
-              datanodeDetails.toString());
+              datanodeDetails);
         }
       } catch (NodeNotFoundException e) {
         LOG.error("Cannot find datanode {} from nodeStateManager",
-            datanodeDetails.toString());
+            datanodeDetails);
       }
     } else {
       // Update datanode if it is registered but the ip or hostname changes
@@ -543,9 +543,11 @@ public class SCMNodeManager implements NodeManager {
     if (opStateDiffers(reportedDn, scmStatus)) {
       if (scmContext.isLeader()) {
         LOG.info("Scheduling a command to update the operationalState " +
-                "persisted on {} as the reported value does not " +
+                "persisted on {} as the reported value ({}, {}) does not " +
                 "match the value stored in SCM ({}, {})",
             reportedDn,
+            reportedDn.getPersistedOpState(),
+            reportedDn.getPersistedOpStateExpiryEpochSec(),
             scmStatus.getOperationalState(),
             scmStatus.getOpStateExpiryEpochSeconds());
 
@@ -563,9 +565,11 @@ public class SCMNodeManager implements NodeManager {
         }
       } else {
         LOG.info("Update the operationalState saved in follower SCM " +
-                "for {} as the reported value does not " +
+                "for {} as the reported value ({}, {}) does not " +
                 "match the value stored in SCM ({}, {})",
             reportedDn,
+            reportedDn.getPersistedOpState(),
+            reportedDn.getPersistedOpStateExpiryEpochSec(),
             scmStatus.getOperationalState(),
             scmStatus.getOpStateExpiryEpochSeconds());
 


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

Reply via email to