{"record":{"id":"d3b5a992868bcd95","repo":"apache/hadoop","slug":"invalid-getnumdataunits-and-numparityunits","errorCode":null,"errorMessage":"Invalid getNumDataUnits() and numParityUnits","messagePattern":"Invalid getNumDataUnits\\(\\) and numParityUnits","errorType":"exception","errorClass":"HadoopIllegalArgumentException","httpStatus":null,"severity":"error","filePath":"hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/rawcoder/RSRawDecoder.java","lineNumber":61,"sourceCode":"   * decode calls.\n   */\n  private byte[] decodeMatrix;\n  private byte[] invertMatrix;\n  /**\n   * Array of input tables generated from coding coefficients previously.\n   * Must be of size 32*k*rows\n   */\n  private byte[] gfTables;\n  private int[] cachedErasedIndexes;\n  private int[] validIndexes;\n  private boolean[] erasureFlags;\n\n  public RSRawDecoder(ErasureCoderOptions coderOptions) {\n    super(coderOptions);\n\n    int numAllUnits = getNumAllUnits();\n    if (getNumAllUnits() >= RSUtil.GF.getFieldSize()) {\n      throw new HadoopIllegalArgumentException(\n              \"Invalid getNumDataUnits() and numParityUnits\");\n    }\n\n    encodeMatrix = new byte[numAllUnits * getNumDataUnits()];\n    RSUtil.genCauchyMatrix(encodeMatrix, numAllUnits, getNumDataUnits());\n    if (allowVerboseDump()) {\n      DumpUtil.dumpMatrix(encodeMatrix, getNumDataUnits(), numAllUnits);\n    }\n  }\n\n  @Override\n  protected void doDecode(ByteBufferDecodingState decodingState) {\n    CoderUtil.resetOutputBuffers(decodingState.outputs,\n        decodingState.decodeLength);\n    prepareDecoding(decodingState.inputs, decodingState.erasedIndexes);\n\n    ByteBuffer[] realInputs = new ByteBuffer[getNumDataUnits()];\n    for (int i = 0; i < getNumDataUnits(); i++) {","sourceCodeStart":43,"sourceCodeEnd":79,"githubUrl":"https://github.com/apache/hadoop/blob/2add9630210752f88ceb1bb74eb65e37bf41da8e/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/rawcoder/RSRawDecoder.java#L43-L79","documentation":"Error \"Invalid getNumDataUnits() and numParityUnits\" thrown in apache/hadoop.","triggerScenarios":"Thrown at hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/rawcoder/RSRawDecoder.java:61 when the library encounters an invalid state.","commonSituations":"Occurs when RSRawDecoder is created with invalid numDataUnits/numParityUnits values. Configure valid RS codec unit counts (e.g., 6 data, 3 parity).","solutions":["Check the RS codec configuration; numDataUnits and numParityUnits must be within the supported range (e.g. 6+3) and consistent with the schema."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"2add9630210752f88ceb1bb74eb65e37bf41da8e","analyzedAt":"2026-08-22T19:55:07.957Z","schemaVersion":2},"datasetVersion":"2026-08-22T20:17:22.307Z"}