apache/flink · error · IOException

Inconsistent result for object %s: conflicting lengths. Reco

Error message

Inconsistent result for object %s: conflicting lengths. Recovered committer for upload %s indicates %s bytes, present object is %s bytes

What it means

Error "Inconsistent result for object %s: conflicting lengths. Recovered committer for upload %s indicates %s bytes, present object is %s bytes" thrown in apache/flink.

Source

Thrown at flink-filesystems/flink-s3-fs-base/src/main/java/org/apache/flink/fs/s3/common/writer/S3Committer.java:115

                        "Failed to commit after recovery {} with MPU ID {}. "
                                + "Checking if file was committed before...",
                        objectName,
                        uploadId);
                LOG.trace("Exception when committing:", e);

                try {
                    ObjectMetadata metadata = s3AccessHelper.getObjectMetadata(objectName);
                    if (totalLength != metadata.getContentLength()) {
                        String message =
                                String.format(
                                        "Inconsistent result for object %s: conflicting lengths. "
                                                + "Recovered committer for upload %s indicates %s bytes, present object is %s bytes",
                                        objectName,
                                        uploadId,
                                        totalLength,
                                        metadata.getContentLength());
                        LOG.warn(message);
                        throw new IOException(message, e);
                    }
                } catch (FileNotFoundException fnf) {
                    LOG.warn(
                            "Object {} not existing after failed recovery commit with MPU ID {}",
                            objectName,
                            uploadId);
                    throw new IOException(
                            String.format(
                                    "Recovering commit failed for object %s. "
                                            + "Object does not exist and MultiPart Upload %s is not valid.",
                                    objectName, uploadId),
                            e);
                }
            }
        } else {
            LOG.debug("No data to commit for file: {}", objectName);
        }
    }

View on GitHub (pinned to 2f3c205e92)

Solutions

  1. Address the cause reported by the error message: Inconsistent result for object the reported value: conflicting lengths. Recovered committer for upload the reported value indicates the reported value bytes, present object is the reported value bytes
  2. Verify the inputs, configuration values, and classpath/dependency setup related to this operation, then retry.

Example fix

Correct the condition described ("Inconsistent result for object the reported value: conflicting lengths. Recovered committer for upload the reported value indicates the reported value bytes, present object is the reported value bytes") and rerun the job or command.

When it happens

Trigger: Triggered at runtime when the operation fails because: Inconsistent result for object the reported value: conflicting lengths. Recovered committer for upload the reported value indicates the reported value bytes, present object is the reported value bytes.

Common situations: Commonly caused by misconfiguration, missing dependencies or files, unsupported types or operations, or invalid user input leading to: Inconsistent result for object the reported value: conflicting lengths. Recovered committer for upload the reported value indicates the reported value bytes, present object is the reported value bytes.


AI-assisted analysis of apache/flink@2f3c205e92 (2026-08-14). Data as JSON: /api/errors/3efd4f1a4f73087e. Report an issue: GitHub.