Staffan Friberg created HDFS-10563:
--------------------------------------

             Summary: 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: 3.0.0-beta1
            Reporter: Staffan Friberg


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

Reply via email to