[
https://issues.apache.org/jira/browse/HDFS-4998?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13710552#comment-13710552
]
Jing Zhao commented on HDFS-4998:
---------------------------------
bq. The log shows that triggerHeartbeat() didn't work, because it raced with
block report and lost. As a result lastHeartbeat was reset to the block report
time and heartbeat wasn't sent right away.
I think you're right. When triggerHeartbeat() is called, the main loop of
offerService may not be at the stage of waiting for the next heartbeat. In that
case the next heartbeat will still need 3 seconds to happen.
+1 for the patch.
> TestUnderReplicatedBlocks fails intermittently
> ----------------------------------------------
>
> Key: HDFS-4998
> URL: https://issues.apache.org/jira/browse/HDFS-4998
> Project: Hadoop HDFS
> Issue Type: Bug
> Components: test
> Affects Versions: 2.1.0-beta
> Reporter: Kihwal Lee
> Assignee: Kihwal Lee
> Attachments: HDFS-4998.branch-023.patch, HDFS-4998.trunk.patch
>
>
> Looking at branch-2.1-beta jenkins build, this test case seems flaky.
> First, addToInvalidates() is called against a block on a datanode. This
> removes the dn from the BlockInfo in blocksMap.
> At this point, raising the replication factor can cause the same node to be
> picked. If the node has already deleted the block, it will work. If not, the
> replication fails. When it fails, it will take at least the pending
> replication timeout to reschedule, which is 5 minutes. But the test will
> timeout before this and fail.
> We could make it wait for the completion of actual block deletion. Or the
> test timeout can be made a lot longer, but past jiras against this test case
> indicate people want this to run faster.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira