[ 
https://issues.apache.org/jira/browse/HDFS-1332?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13034403#comment-13034403
 ] 

Tsz Wo (Nicholas), SZE commented on HDFS-1332:
----------------------------------------------

Thanks Ted, the new patch is much better.  Some comments.
- The following should be removed.
{code}
+    @Override
+    public StringBuilder get() {
+      StringBuilder b = super.get();
+      return b;
+    }
{code}

- {{FSNamesystem.LOG.isDebugEnabled()}} is a dynamic property.  So the 
following does not work.
{code}
+  static boolean isDebugEnabled = FSNamesystem.LOG.isDebugEnabled();
{code}

- How about change {{"\n" + e.getMessage()}} to {{"; " + e);}}?
{code}
+               + numOfReplicas + " to reach " + totalReplicasExpected + "\n"
+               + e.getMessage());
{code}

- The first two lines below should be moved inside the if-statement.
{code}
+      String failingReason = "Node "+NodeBase.getPath(node)+
+            " is not chosen because the rack has too many chosen nodes";
       if(FSNamesystem.LOG.isDebugEnabled()) {
-        FSNamesystem.LOG.debug("Node "+NodeBase.getPath(node)+
-            " is not chosen because the rack has too many chosen nodes");
+        FSNamesystem.LOG.debug(failingReason);
+        threadLocalBuilder.get().append(node.toString()).append(": ")
+          .append(failingReason).append(" ");
       }
{code}

- I think it is hard to create new tests for this.  Could you test it manually 
and post some sample log messages?

> When unable to place replicas, BlockPlacementPolicy should log reasons nodes 
> were excluded
> ------------------------------------------------------------------------------------------
>
>                 Key: HDFS-1332
>                 URL: https://issues.apache.org/jira/browse/HDFS-1332
>             Project: Hadoop HDFS
>          Issue Type: Improvement
>          Components: name-node
>            Reporter: Todd Lipcon
>            Assignee: Ted Yu
>            Priority: Minor
>              Labels: newbie
>             Fix For: 0.23.0
>
>         Attachments: HDFS-1332-concise.patch
>
>
> Whenever the block placement policy determines that a node is not a "good 
> target" it could add the reason for exclusion to a list, and then when we log 
> "Not able to place enough replicas" we could say why each node was refused. 
> This would help new users who are having issues on pseudo-distributed (eg 
> because their data dir is on /tmp and /tmp is full). Right now it's very 
> difficult to figure out the issue.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to