apache/flink · critical · CliArgsException
Missing JobID. Specify a Job ID to manipulate a checkpoint.
Error message
Missing JobID. Specify a Job ID to manipulate a checkpoint.
What it means
Wrapped as ParquetDecodingException from NestedPrimitiveColumnReader.readPageV1 when any stage of DataPageV1 initialization fails: creating repetition/definition level readers, page.getBytes(), or initDataReader for the value section. The formatted message includes the page and column. The cause distinguishes which stage broke.
Source
Thrown at flink-clients/src/main/java/org/apache/flink/client/cli/CliFrontend.java:961
// evaluate help flag
if (checkpointOptions.isPrintHelp()) {
CliFrontendParser.printHelpForCheckpoint(customCommandLines);
return;
}
final CustomCommandLine activeCommandLine = validateAndGetActiveCommandLine(commandLine);
String[] cleanedArgs = checkpointOptions.getArgs();
final JobID jobId;
if (cleanedArgs.length >= 1) {
String jobIdString = cleanedArgs[0];
jobId = parseJobId(jobIdString);
} else {
throw new CliArgsException(
"Missing JobID. " + "Specify a Job ID to manipulate a checkpoint.");
}
runClusterAction(
activeCommandLine,
commandLine,
(clusterClient, effectiveConfiguration) ->
triggerCheckpoint(
clusterClient,
jobId,
checkpointOptions.getCheckpointType(),
getClientTimeout(effectiveConfiguration)));
}
/** Sends a CheckpointTriggerMessage to the job manager. */
private void triggerCheckpoint(
ClusterClient<?> clusterClient,
JobID jobId,
CheckpointType checkpointType,View on GitHub (pinned to 2f3c205e92)
Solutions
- Unwrap the cause to identify the failing stage (levels vs. values vs. dictionary)
- Validate the file with parquet-tools; regenerate or re-obtain if malformed
- If the cause is an unsupported encoding, rewrite the file with standard encodings or upgrade Flink
- Report writer-specific bugs with a reproducer file
Defensive patterns
Strategy: try-catch
Validate before calling
// Pre-validate the v1 page's declared encodings from footer metadata
for (Encoding enc : cc.getEncodings()) {
if (!isKnownV1Encoding(enc)) rejectFile(path, enc);
} Try / catch
try {
nestedReader.readAndNewVector(...);
} catch (ParquetDecodingException e) {
// 'Could not read page %s in col %s.' — unwrap cause, quarantine on truncation/corruption
quarantine(path, e);
} Prevention
- Verify level/value encodings with parquet-tools when onboarding new writers
- Keep writer and reader parquet-format feature sets aligned
- Fail the source gracefully per-file (bad-file penalty box) rather than failing the job
When it happens
Trigger: Level encodings in the page header unsupported by parquet-mr's getValuesReader; page bytes truncated before values; value-encoding init failure delegated from initDataReader (dictionary missing, unsupported encoding); corrupted v1 page headers.
Common situations: Malformed files from non-standard writers; corrupt object-store files; encoding/level-encoding combinations Flink's vendored parquet does not support.
Related errors
- Missing JobID. Specify a Job ID to trigger a savepoint.
- Triggering a detached savepoint for the job {} failed.
- Failed to dispose the savepoint '{}'.
- Failed to trigger a checkpoint for the job {}.
- JAR file does not exist: {}
AI-assisted analysis of apache/flink@2f3c205e92 (2026-08-14).
Data as JSON: /api/errors/8f2ac8a50e7ab5c9.
Report an issue: GitHub.