apache/hadoop · error · IOException

Terminating due to a checksum error.{}

Error message

Terminating due to a checksum error.{}

What it means

Error "Terminating due to a checksum error.{}" thrown in apache/hadoop.

Source

Thrown at hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/BlockReceiver.java:674

            + checksumReceivedLen + " but expected length is " + checksumLen);
      }

      if (checksumReceivedLen > 0 && shouldVerifyChecksum()) {
        try {
          verifyChunks(dataBuf, checksumBuf);
        } catch (IOException ioe) {
          // checksum error detected locally. there is no reason to continue.
          if (responder != null) {
            try {
              ((PacketResponder) responder.getRunnable()).enqueue(seqno,
                  lastPacketInBlock, offsetInBlock,
                  Status.ERROR_CHECKSUM);
              // Wait until the responder sends back the response
              // and interrupt this thread.
              Thread.sleep(3000);
            } catch (InterruptedException e) { }
          }
          throw new IOException("Terminating due to a checksum error." + ioe);
        }
 
        if (needsChecksumTranslation) {
          // overwrite the checksums in the packet buffer with the
          // appropriate polynomial for the disk storage.
          translateChunks(dataBuf, checksumBuf);
        }
      }

      if (checksumReceivedLen == 0 && !streams.isTransientStorage()) {
        // checksum is missing, need to calculate it
        checksumBuf = ByteBuffer.allocate(checksumLen);
        diskChecksum.calculateChunkedSums(dataBuf, checksumBuf);
      }
      
      // by this point, the data in the buffer uses the disk checksum

      final boolean shouldNotWriteChecksum = checksumReceivedLen == 0

View on GitHub (pinned to 2add963021)

Solutions

  1. Identify and replace the failing hardware: run disk checks and memory tests on the DataNode reporting the checksum error and its upstream peer.
  2. Re-write the affected block from a healthy replica after the faulty component is fixed; the NameNode will re-replicate once the corrupt replica is reported.

When it happens

Trigger: The DataNode detects a checksum error in data received during a block write and terminates the write to avoid persisting corrupt data.

Common situations: The DataNode aborted a block write after detecting a checksum error in received data. Inspect the pipeline for faulty disks or memory on upstream nodes.


AI-assisted analysis of apache/hadoop@2add963021 (2026-08-22). Data as JSON: /api/errors/60731593f7f0d4d0. Report an issue: GitHub.