apache/hadoop · error · HadoopIllegalArgumentException

Too many erased, not recoverable

Error message

Too many erased, not recoverable

What it means

Error "Too many erased, not recoverable" thrown in apache/hadoop.

Source

Thrown at hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/rawcoder/DecodingState.java:51

   * checking assumes it's a MDS code. Other code  can override this.
   * @param inputs input buffers to check
   * @param erasedIndexes indexes of erased units in the inputs array
   * @param outputs output buffers to check
   */
  <T> void checkParameters(T[] inputs, int[] erasedIndexes,
                           T[] outputs) {
    if (inputs.length != decoder.getNumParityUnits() +
        decoder.getNumDataUnits()) {
      throw new IllegalArgumentException("Invalid inputs length");
    }

    if (erasedIndexes.length != outputs.length) {
      throw new HadoopIllegalArgumentException(
          "erasedIndexes and outputs mismatch in length");
    }

    if (erasedIndexes.length > decoder.getNumParityUnits()) {
      throw new HadoopIllegalArgumentException(
          "Too many erased, not recoverable");
    }
  }
}

View on GitHub (pinned to 2add963021)

Solutions

  1. The number of erased blocks exceeds numParityUnits; the stripe is unrecoverable. Restore blocks from another replica or accept data loss.
  2. Investigate why so many blocks are missing (disk failures, DN outages) before decoding.

When it happens

Trigger: Thrown at hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/rawcoder/DecodingState.java:51 when the library encounters an invalid state.

Common situations: Occurs when more blocks are erased than parity units available, making recovery impossible. Check erasedIndexes.length <= numParityUnits before decoding.


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