You are viewing a plain text version of this content. The canonical link for it is here.
Posted to hdfs-dev@hadoop.apache.org by "Staffan Friberg (JIRA)" <ji...@apache.org> on 2016/06/23 14:29:16 UTC

[jira] [Resolved] (HDFS-10563) Block reports could be silently dropped by NN

     [ https://issues.apache.org/jira/browse/HDFS-10563?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Staffan Friberg resolved HDFS-10563.
------------------------------------
    Resolution: Invalid

> 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: hdfs-dev-unsubscribe@hadoop.apache.org
For additional commands, e-mail: hdfs-dev-help@hadoop.apache.org