Uploaded image for project: 'Hadoop HDFS'
  1. Hadoop HDFS
  2. HDFS-3828

Block Scanner rescans blocks too frequently

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 0.23.0
    • 2.5.0
    • None
    • None

    Description

      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:

      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
      

      To fix this, we need to avoid roll()ing the logs multiple times per period.

      Attachments

        1. hdfs-3828-3.txt
          9 kB
          Andy Isaacson
        2. hdfs-3828-2.txt
          9 kB
          Andy Isaacson
        3. hdfs-3828-1.txt
          8 kB
          Andy Isaacson
        4. hdfs3828.txt
          6 kB
          Andy Isaacson

        Issue Links

          Activity

            People

              adi2 Andy Isaacson
              adi2 Andy Isaacson
              Votes:
              1 Vote for this issue
              Watchers:
              14 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: