[
https://issues.apache.org/jira/browse/HDFS-7284?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14971179#comment-14971179
]
Yongjun Zhang commented on HDFS-7284:
-------------------------------------
Hi [~jojochuang],
It's important to have consistent block name appear in the log, so people can
analyze the actions happened to a given block across the board by searching for
the "blk_id_timestamp" or "blk_id".
I'd suggest adding the following code to Block.java:
{code}
/**
*/
public static String toString(final Block b) {
return b.getBlockName() + "_" + b.getGenerationStamp();
}
/**
*/
@Override
public String toString() {
return toString(this);
}
{code}
and change the message you are working on to
{code}
NameNode.blockStateChangeLog.debug("BLOCK* Removing stale replica {}"
+ " of {}", r, Block.toString(r));
{code}
Hi [~andrew.wang], does this sound good to you? I think the replica state that
comes with {{ReplicaUnderConstruction#toString}} would help debugging.
Thanks.
> Add more debug info to
> BlockInfoUnderConstruction#setGenerationStampAndVerifyReplicas
> -------------------------------------------------------------------------------------
>
> Key: HDFS-7284
> URL: https://issues.apache.org/jira/browse/HDFS-7284
> Project: Hadoop HDFS
> Issue Type: Improvement
> Components: namenode
> Affects Versions: 2.5.1
> Reporter: Hu Liu,
> Assignee: Wei-Chiu Chuang
> Attachments: HDFS-7284.001.patch, HDFS-7284.002.patch
>
>
> When I was looking at some replica loss issue, I got the following info from
> log
> {code}
> 2014-10-13 01:54:53,104 INFO BlockStateChange: BLOCK* Removing stale replica
> from location x.x.x.x
> {code}
> I could just know that a replica is removed, but I don't know which block and
> its timestamp. I need to know the id and timestamp of the block from the log
> file.
> So it's better to add more info including block id and timestamp to the code
> snippet
> {code}
> for (ReplicaUnderConstruction r : replicas) {
> if (genStamp != r.getGenerationStamp()) {
> r.getExpectedLocation().removeBlock(this);
> NameNode.blockStateChangeLog.info("BLOCK* Removing stale replica "
> + "from location: " + r.getExpectedLocation());
> }
> }
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)