{"record":{"id":"36bea291dfa0a44e","repo":"apache/flink","slug":"missing-jobid-specify-a-jobid-to-cancel-a-job","errorCode":null,"errorMessage":"Missing JobID. Specify a JobID to cancel a job.","messagePattern":"Missing JobID\\. Specify a JobID to cancel a job\\.","errorType":"validation","errorClass":"CliArgsException","httpStatus":null,"severity":"critical","filePath":"flink-clients/src/main/java/org/apache/flink/client/cli/CliFrontend.java","lineNumber":685,"sourceCode":"                                                            .toMillis(),\n                                                    TimeUnit.MILLISECONDS);\n                        } catch (Exception e) {\n                            throw new FlinkException(\"Could not cancel job \" + jobId + '.', e);\n                        }\n                        logAndSysout(\n                                \"Cancelled job \"\n                                        + jobId\n                                        + \". Savepoint stored in \"\n                                        + savepointPath\n                                        + '.');\n                    });\n        } else {\n            final JobID jobId;\n\n            if (cleanedArgs.length > 0) {\n                jobId = parseJobId(cleanedArgs[0]);\n            } else {\n                throw new CliArgsException(\"Missing JobID. Specify a JobID to cancel a job.\");\n            }\n\n            logAndSysout(\"Cancelling job \" + jobId + '.');\n\n            runClusterAction(\n                    activeCommandLine,\n                    commandLine,\n                    (clusterClient, effectiveConfiguration) -> {\n                        try {\n                            clusterClient\n                                    .cancel(jobId)\n                                    .get(\n                                            getClientTimeout(effectiveConfiguration).toMillis(),\n                                            TimeUnit.MILLISECONDS);\n                        } catch (Exception e) {\n                            throw new FlinkException(\"Could not cancel job \" + jobId + '.', e);\n                        }\n                    });","sourceCodeStart":667,"sourceCodeEnd":703,"githubUrl":"https://github.com/apache/flink/blob/2f3c205e9266cb30240eb7f4fdab15cad629a70f/flink-clients/src/main/java/org/apache/flink/client/cli/CliFrontend.java#L667-L703","documentation":"Thrown from BooleanColumnReader.readBoolean when reading the next byte of a bit-packed boolean page fails — the underlying dataInputStream is exhausted while more boolean values are still expected per page metadata. It wraps an IOException from the stream read.","triggerScenarios":"A BOOLEAN column's PLAIN page contains fewer bytes than pageValueCount/8 rounded up; definition-level counts disagree with actual data bytes; truncated or corrupted boolean pages.","commonSituations":"Corrupt boolean columns in files from object stores; files from writers with boolean page-sizing bugs; partial writes of the last row group.","solutions":["Verify file integrity (size, CRC) and re-read a clean copy","Check whether the boolean column reads fine in `parquet-tools`/Spark — isolate Flink-vs-file","If the file is fine but Flink fails, capture a minimal reproducer and report to FLINK JIRA (parquet component)","As a stopgap, rewrite the file with a standard writer"],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":null,"typeGuard":null,"tryCatchPattern":"try {\n    reader.readToVector(n, vector);\n} catch (ParquetDecodingException e) {\n    if (\"Failed to read a byte\".equals(e.getMessage())) {\n        // boolean page truncated — quarantine and skip file\n    } else throw e;\n}","preventionTips":["Validate files end-to-end with parquet-tools before ingesting boolean-heavy datasets","Ensure writers flush row groups completely before file finalization","Surface file path + row group ordinal in surrounding error context for triage"],"tags":["parquet","boolean","io","data-corruption"],"backgroundTag":null,"analyzedSha":"2f3c205e9266cb30240eb7f4fdab15cad629a70f","analyzedAt":"2026-08-14T08:48:24.518Z","schemaVersion":2},"datasetVersion":"2026-08-14T10:17:34.591Z"}