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

Eli Collins updated HDFS-3913:
------------------------------

    Summary: DataBlockScanner should not call scanBlockPoolSlice when there's 
no work to do  (was: Refactor DataBlockScanner and clean up tests)

This isn't just refactoring, per the following comment the goal is to 
restructure the flow to scanBlockPoolSlice to avoid the unnecessary work.

https://issues.apache.org/jira/browse/HDFS-3828?focusedCommentId=13439972&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-13439972
                
> DataBlockScanner should not call scanBlockPoolSlice when there's no work to do
> ------------------------------------------------------------------------------
>
>                 Key: HDFS-3913
>                 URL: https://issues.apache.org/jira/browse/HDFS-3913
>             Project: Hadoop HDFS
>          Issue Type: Bug
>    Affects Versions: 2.0.1-alpha
>            Reporter: Andy Isaacson
>            Priority: Minor
>
> In HDFS-3828 Eli observed
> bq. In getTotalScans rather than throw IOE if given a bpid w/o a scanner I 
> believe this should be an assert (we should always have a scanner for a block 
> pool if we've enbabled scanning, which we have if we're in DataBlockScanner)
> and Andy suggested
> bq. we could propagate a "please wake me up at time T" up from 
> BlockPoolSliceScanner to DataBlockScanner#run and adjust the sleep time 
> there, accordingly. If all threadpools continue to have work to do, then 
> preserve the existing 5-second sleep; if all threadpools are done working 
> then DataBlockScanner could go to sleep for much longer.

--
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

Reply via email to