You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-commits@hadoop.apache.org by sh...@apache.org on 2019/02/15 09:09:12 UTC

[hadoop] branch trunk updated: HDDS-1028. Improve logging in SCMPipelineManager. Contributed by Lokesh Jain.

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

shashikant pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/hadoop.git


The following commit(s) were added to refs/heads/trunk by this push:
     new 8a426dc  HDDS-1028. Improve logging in SCMPipelineManager. Contributed by Lokesh Jain.
8a426dc is described below

commit 8a426dc848d30dd89235f928a001d59160743ec5
Author: Shashikant Banerjee <sh...@apache.org>
AuthorDate: Fri Feb 15 14:38:38 2019 +0530

    HDDS-1028. Improve logging in SCMPipelineManager. Contributed by Lokesh Jain.
---
 .../org/apache/hadoop/hdds/scm/node/StaleNodeHandler.java  |  2 ++
 .../hadoop/hdds/scm/pipeline/PipelineActionHandler.java    |  2 ++
 .../hadoop/hdds/scm/pipeline/PipelineReportHandler.java    |  3 +++
 .../hadoop/hdds/scm/pipeline/PipelineStateManager.java     | 14 +++++++++++++-
 4 files changed, 20 insertions(+), 1 deletion(-)

diff --git a/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/node/StaleNodeHandler.java b/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/node/StaleNodeHandler.java
index 4055449..93630f0 100644
--- a/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/node/StaleNodeHandler.java
+++ b/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/node/StaleNodeHandler.java
@@ -56,6 +56,8 @@ public class StaleNodeHandler implements EventHandler<DatanodeDetails> {
       EventPublisher publisher) {
     Set<PipelineID> pipelineIds =
         nodeManager.getPipelines(datanodeDetails);
+    LOG.info("Datanode {} moved to stale state. Finalizing its pipelines {}",
+        datanodeDetails, pipelineIds);
     for (PipelineID pipelineID : pipelineIds) {
       try {
         Pipeline pipeline = pipelineManager.getPipeline(pipelineID);
diff --git a/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/pipeline/PipelineActionHandler.java b/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/pipeline/PipelineActionHandler.java
index c467b9e..94f757b 100644
--- a/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/pipeline/PipelineActionHandler.java
+++ b/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/pipeline/PipelineActionHandler.java
@@ -57,6 +57,8 @@ public class PipelineActionHandler
           pipelineID = PipelineID.
               getFromProtobuf(action.getClosePipeline().getPipelineID());
           Pipeline pipeline = pipelineManager.getPipeline(pipelineID);
+          LOG.info("Received pipeline action {} for {} from datanode [}",
+              action.getAction(), pipeline, report.getDatanodeDetails());
           RatisPipelineUtils
               .finalizeAndDestroyPipeline(pipelineManager, pipeline, ozoneConf,
                   true);
diff --git a/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/pipeline/PipelineReportHandler.java b/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/pipeline/PipelineReportHandler.java
index 2d4bae1..daffe1e 100644
--- a/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/pipeline/PipelineReportHandler.java
+++ b/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/pipeline/PipelineReportHandler.java
@@ -84,6 +84,7 @@ public class PipelineReportHandler implements
     }
 
     if (pipeline.getPipelineState() == Pipeline.PipelineState.ALLOCATED) {
+      LOGGER.info("Pipeline {} reported by {}", pipeline.getId(), dn);
       pipeline.reportDatanode(dn);
       if (pipeline.isHealthy()) {
         // if all the dns have reported, pipeline can be moved to OPEN state
@@ -94,6 +95,8 @@ public class PipelineReportHandler implements
       if (numContainers == 0) {
         // since all the containers have been closed the pipeline can be
         // destroyed
+        LOGGER.info("Destroying pipeline {} as all containers are closed",
+            pipeline);
         RatisPipelineUtils.destroyPipeline(pipelineManager, pipeline, conf);
       }
     } else {
diff --git a/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/pipeline/PipelineStateManager.java b/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/pipeline/PipelineStateManager.java
index be8f391..a0ef964 100644
--- a/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/pipeline/PipelineStateManager.java
+++ b/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/pipeline/PipelineStateManager.java
@@ -23,6 +23,8 @@ import org.apache.hadoop.hdds.protocol.proto.HddsProtos.ReplicationType;
 import org.apache.hadoop.hdds.protocol.proto.HddsProtos.ReplicationFactor;
 import org.apache.hadoop.hdds.scm.container.ContainerID;
 import org.apache.hadoop.hdds.scm.pipeline.Pipeline.PipelineState;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import java.io.IOException;
 import java.util.List;
@@ -37,6 +39,9 @@ import java.util.NavigableSet;
  */
 class PipelineStateManager {
 
+  private static final Logger LOG =
+      LoggerFactory.getLogger(PipelineStateManager.class);
+
   private final PipelineStateMap pipelineStateMap;
 
   PipelineStateManager(Configuration conf) {
@@ -45,6 +50,9 @@ class PipelineStateManager {
 
   void addPipeline(Pipeline pipeline) throws IOException {
     pipelineStateMap.addPipeline(pipeline);
+    if (pipeline.getPipelineState() == PipelineState.OPEN) {
+      LOG.info("Created pipeline " + pipeline);
+    }
   }
 
   void addContainerToPipeline(PipelineID pipelineId, ContainerID containerID)
@@ -87,7 +95,9 @@ class PipelineStateManager {
   }
 
   Pipeline removePipeline(PipelineID pipelineID) throws IOException {
-    return pipelineStateMap.removePipeline(pipelineID);
+    Pipeline pipeline = pipelineStateMap.removePipeline(pipelineID);
+    LOG.info("Pipeline {} removed from db", pipeline);
+    return pipeline;
   }
 
   void removeContainerFromPipeline(PipelineID pipelineID,
@@ -101,6 +111,7 @@ class PipelineStateManager {
     if (!pipeline.isClosed()) {
       pipeline = pipelineStateMap
           .updatePipelineState(pipelineId, PipelineState.CLOSED);
+      LOG.info("Pipeline {} moved to CLOSED state", pipeline);
     }
     return pipeline;
   }
@@ -113,6 +124,7 @@ class PipelineStateManager {
     if (pipeline.getPipelineState() == PipelineState.ALLOCATED) {
       pipeline = pipelineStateMap
           .updatePipelineState(pipelineId, PipelineState.OPEN);
+      LOG.info("Pipeline {} moved to OPEN state", pipeline.toString());
     }
     return pipeline;
   }


---------------------------------------------------------------------
To unsubscribe, e-mail: common-commits-unsubscribe@hadoop.apache.org
For additional commands, e-mail: common-commits-help@hadoop.apache.org