[
https://issues.apache.org/jira/browse/HDFS-10563?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15346510#comment-15346510
]
Staffan Friberg commented on HDFS-10563:
----------------------------------------
Now I see it. Completely missed the !.
> Block reports could be silently dropped by NN
> ---------------------------------------------
>
> Key: HDFS-10563
> URL: https://issues.apache.org/jira/browse/HDFS-10563
> Project: Hadoop HDFS
> Issue Type: Bug
> Components: namenode
> Affects Versions: 2.8.0, 2.7.3
> Reporter: Staffan Friberg
> Priority: Critical
>
> Reading through the block reporting code I think I've spotted a case when
> block reports can silently be dropped and leave thread waiting indefinitely
> on a FutureTask that never will be executed.
> The BlockReportProcessingThread.enqueue method doesn't return any status on
> if the enqueuing of the task was successful and does not handle the case when
> the queue is full and offer return false.
> Going back through the call stack to BlockManager.runBlockOp, which
> indirectly calls enqueue with a FutureTask and then proceeds to do get() om
> the task.
> So if the internal queue in the BlockReportingProcessingThread is full, the
> BR would never be handled and the thread queuing the task would wait
> indefinitely on the FutureTask that will never be executed.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]