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

Volume Scanner marks a block as "suspect" even if the exception is network-related

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 2.7.0
    • Fix Version/s: 2.7.4, 3.0.0-alpha2
    • Component/s: hdfs
    • Labels:
      None
    • Target Version/s:
    • Hadoop Flags:
      Reviewed

      Description

      In the BlockSender code,

      BlockSender.java
              if (!ioem.startsWith("Broken pipe") && !ioem.startsWith("Connection reset")) {
                LOG.error("BlockSender.sendChunks() exception: ", e);
              }
              datanode.getBlockScanner().markSuspectBlock(
                    volumeRef.getVolume().getStorageID(),
                    block);
      

      Before HDFS-7686, the block was marked as suspect only if the exception message doesn't start with Broken pipe or Connection reset.
      But after HDFS-7686, the block is marked as corrupt irrespective of the exception message.

      In one of our datanode, it took approximately a whole day (22 hours) to go through all the suspect blocks to scan one corrupt block.

        Attachments

        1. HDFS-10627.patch
          1.0 kB
          Rushabh S Shah

          Issue Links

            Activity

              People

              • Assignee:
                shahrs87 Rushabh S Shah
                Reporter:
                shahrs87 Rushabh S Shah
              • Votes:
                0 Vote for this issue
                Watchers:
                9 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: