Repository: hadoop
Updated Branches:
  refs/heads/branch-2.7 f5754fe5b -> e88546596


HDFS-10694. processReport() should print blockReportId in each log message. 
Contributed by Yuanbo Liu.

(cherry picked from commit 6dfa4fb16e449a248f2f3cf43a6be59dd8e1ac78)


Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/e8854659
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/e8854659
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/e8854659

Branch: refs/heads/branch-2.7
Commit: e88546596d04730145bf09262e53157a451fc18a
Parents: f5754fe
Author: Yuanbo Liu <liuyuanb...@gmail.com>
Authored: Wed Aug 10 10:48:42 2016 -0700
Committer: Konstantin V Shvachko <s...@apache.org>
Committed: Wed Aug 10 11:14:33 2016 -0700

----------------------------------------------------------------------
 .../server/blockmanagement/BlockManager.java    | 37 +++++++++++++-------
 1 file changed, 24 insertions(+), 13 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hadoop/blob/e8854659/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/BlockManager.java
----------------------------------------------------------------------
diff --git 
a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/BlockManager.java
 
b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/BlockManager.java
index 984fef6..8f37bc6 100644
--- 
a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/BlockManager.java
+++ 
b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/BlockManager.java
@@ -1807,6 +1807,8 @@ public class BlockManager {
     final long endTime;
     DatanodeDescriptor node;
     Collection<Block> invalidatedBlocks = null;
+    String strBlockReportId =
+        context != null ? Long.toHexString(context.getReportId()) : "";
 
     try {
       node = datanodeManager.getDatanode(nodeID);
@@ -1825,9 +1827,10 @@ public class BlockManager {
       }
       if (namesystem.isInStartupSafeMode()
           && storageInfo.getBlockReportCount() > 0) {
-        blockLog.info("BLOCK* processReport: "
-            + "discarded non-initial block report from {}"
-            + " because namenode still in startup phase", nodeID);
+        blockLog.info("BLOCK* processReport 0x{}: "
+                + "discarded non-initial block report from {}"
+                + " because namenode still in startup phase",
+            strBlockReportId, nodeID);
         return !node.hasStaleStorages();
       }
 
@@ -1836,7 +1839,7 @@ public class BlockManager {
         // ordinary block reports.  This shortens restart times.
         processFirstBlockReport(storageInfo, newReport);
       } else {
-        invalidatedBlocks = processReport(storageInfo, newReport);
+        invalidatedBlocks = processReport(storageInfo, newReport, context);
       }
       
       storageInfo.receivedBlockReport();
@@ -1870,8 +1873,9 @@ public class BlockManager {
 
     if (invalidatedBlocks != null) {
       for (Block b : invalidatedBlocks) {
-        blockLog.info("BLOCK* processReport: {} on node {} size {} does not " +
-            "belong to any file", b, node, b.getNumBytes());
+        blockLog.info("BLOCK* processReport 0x{}: {} on node {} size {} " +
+            "does not belong to any file", strBlockReportId,
+            b, node, b.getNumBytes());
       }
     }
 
@@ -1880,10 +1884,11 @@ public class BlockManager {
     if (metrics != null) {
       metrics.addBlockReport((int) (endTime - startTime));
     }
-    blockLog.info("BLOCK* processReport: from storage {} node {}, " +
-        "blocks: {}, hasStaleStorage: {}, processing time: {} msecs", storage
-        .getStorageID(), nodeID, newReport.getNumberOfBlocks(),
-        node.hasStaleStorages(), (endTime - startTime));
+    blockLog.info("BLOCK* processReport 0x{}: from storage {} node {}, " +
+        "blocks: {}, hasStaleStorage: {}, processing time: {} msecs",
+        strBlockReportId, storage.getStorageID(), nodeID,
+        newReport.getNumberOfBlocks(), node.hasStaleStorages(),
+        (endTime - startTime));
     return !node.hasStaleStorages();
   }
 
@@ -1989,7 +1994,8 @@ public class BlockManager {
   
   private Collection<Block> processReport(
       final DatanodeStorageInfo storageInfo,
-      final BlockListAsLongs report) throws IOException {
+      final BlockListAsLongs report,
+      BlockReportContext context) throws IOException {
     // Normal case:
     // Modify the (block-->datanode) map, according to the difference
     // between the old and new block report.
@@ -2001,6 +2007,11 @@ public class BlockManager {
     Collection<StatefulBlockInfo> toUC = new LinkedList<StatefulBlockInfo>();
     reportDiff(storageInfo, report,
         toAdd, toRemove, toInvalidate, toCorrupt, toUC);
+
+    String strBlockReportId = "";
+    if (context != null) {
+      strBlockReportId = Long.toHexString(context.getReportId());
+    }
    
     DatanodeDescriptor node = storageInfo.getDatanodeDescriptor();
     // Process the blocks on each queue
@@ -2016,8 +2027,8 @@ public class BlockManager {
       numBlocksLogged++;
     }
     if (numBlocksLogged > maxNumBlocksToLog) {
-      blockLog.info("BLOCK* processReport: logged info for {} of {} " +
-          "reported.", maxNumBlocksToLog, numBlocksLogged);
+      blockLog.info("BLOCK* processReport 0x{}: logged info for {} of {} " +
+          "reported.", strBlockReportId, maxNumBlocksToLog, numBlocksLogged);
     }
     for (Block b : toInvalidate) {
       addToInvalidates(b, node);


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

Reply via email to