[
https://issues.apache.org/jira/browse/HDFS-3828?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13452442#comment-13452442
]
Andy Isaacson commented on HDFS-3828:
-------------------------------------
bq. assertions aren't jarring if you expect the assertion to hold. Do you agree
that the invariant (that we should never get a scanner for a block pool with no
scanner) should hold? If yes please file a follow on jira to address this case
and the other uses (where the invariant might hold as well). If not, then note
that printBlockReport and getNextBPScanner do not check for null so they will
NPE and we should fix them. Also, looks like the test checks the return value
to see if the scanners are initialized yet. Either way we can handle it in a
separate jira.
I've opened HDFS-3913 to track the refactoring and this test cleanup.
> Block Scanner rescans blocks too frequently
> -------------------------------------------
>
> Key: HDFS-3828
> URL: https://issues.apache.org/jira/browse/HDFS-3828
> Project: Hadoop HDFS
> Issue Type: Bug
> Affects Versions: 0.23.0
> Reporter: Andy Isaacson
> Assignee: Andy Isaacson
> Fix For: 2.0.2-alpha
>
> Attachments: hdfs-3828-1.txt, hdfs-3828-2.txt, hdfs-3828-3.txt,
> hdfs3828.txt
>
>
> {{BlockPoolSliceScanner#scan}} calls cleanUp every time it's invoked from
> {{DataBlockScanner#run}} via {{scanBlockPoolSlice}}. But cleanUp
> unconditionally roll()s the verificationLogs, so after two iterations we have
> lost the first iteration of block verification times. As a result a cluster
> with just one block repeatedly rescans it every 10 seconds:
> {noformat}
> 2012-08-16 15:59:57,884 INFO datanode.BlockPoolSliceScanner
> (BlockPoolSliceScanner.java:verifyBlock(391)) - Verification succeeded for
> BP-2101131164-172.29.122.91-1337906886255:blk_7919273167187535506_4915
> 2012-08-16 16:00:07,904 INFO datanode.BlockPoolSliceScanner
> (BlockPoolSliceScanner.java:verifyBlock(391)) - Verification succeeded for
> BP-2101131164-172.29.122.91-1337906886255:blk_7919273167187535506_4915
> 2012-08-16 16:00:17,925 INFO datanode.BlockPoolSliceScanner
> (BlockPoolSliceScanner.java:verifyBlock(391)) - Verification succeeded for
> BP-2101131164-172.29.122.91-1337906886255:blk_7919273167187535506_4915
> {noformat}
> {quote}
> To fix this, we need to avoid roll()ing the logs multiple times per period.
--
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