{"record":{"id":"8f2ac8a50e7ab5c9","repo":"apache/flink","slug":"missing-jobid-specify-a-job-id-to-manipulate-a-ch","errorCode":null,"errorMessage":"Missing JobID. Specify a Job ID to manipulate a checkpoint.","messagePattern":"Missing JobID\\. Specify a Job ID to manipulate a checkpoint\\.","errorType":"validation","errorClass":"CliArgsException","httpStatus":null,"severity":"critical","filePath":"flink-clients/src/main/java/org/apache/flink/client/cli/CliFrontend.java","lineNumber":961,"sourceCode":"\n        // evaluate help flag\n        if (checkpointOptions.isPrintHelp()) {\n            CliFrontendParser.printHelpForCheckpoint(customCommandLines);\n            return;\n        }\n\n        final CustomCommandLine activeCommandLine = validateAndGetActiveCommandLine(commandLine);\n\n        String[] cleanedArgs = checkpointOptions.getArgs();\n\n        final JobID jobId;\n\n        if (cleanedArgs.length >= 1) {\n            String jobIdString = cleanedArgs[0];\n\n            jobId = parseJobId(jobIdString);\n        } else {\n            throw new CliArgsException(\n                    \"Missing JobID. \" + \"Specify a Job ID to manipulate a checkpoint.\");\n        }\n        runClusterAction(\n                activeCommandLine,\n                commandLine,\n                (clusterClient, effectiveConfiguration) ->\n                        triggerCheckpoint(\n                                clusterClient,\n                                jobId,\n                                checkpointOptions.getCheckpointType(),\n                                getClientTimeout(effectiveConfiguration)));\n    }\n\n    /** Sends a CheckpointTriggerMessage to the job manager. */\n    private void triggerCheckpoint(\n            ClusterClient<?> clusterClient,\n            JobID jobId,\n            CheckpointType checkpointType,","sourceCodeStart":943,"sourceCodeEnd":979,"githubUrl":"https://github.com/apache/flink/blob/2f3c205e9266cb30240eb7f4fdab15cad629a70f/flink-clients/src/main/java/org/apache/flink/client/cli/CliFrontend.java#L943-L979","documentation":"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.","triggerScenarios":"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.","commonSituations":"Malformed files from non-standard writers; corrupt object-store files; encoding/level-encoding combinations Flink's vendored parquet does not support.","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"],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":"// Pre-validate the v1 page's declared encodings from footer metadata\nfor (Encoding enc : cc.getEncodings()) {\n    if (!isKnownV1Encoding(enc)) rejectFile(path, enc);\n}","typeGuard":null,"tryCatchPattern":"try {\n    nestedReader.readAndNewVector(...);\n} catch (ParquetDecodingException e) {\n    // 'Could not read page %s in col %s.' — unwrap cause, quarantine on truncation/corruption\n    quarantine(path, e);\n}","preventionTips":["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"],"tags":["parquet","nested","page-v1","data-corruption"],"backgroundTag":null,"analyzedSha":"2f3c205e9266cb30240eb7f4fdab15cad629a70f","analyzedAt":"2026-08-14T08:48:24.518Z","schemaVersion":2},"datasetVersion":"2026-08-14T10:17:34.591Z"}