{"record":{"id":"48b3bfc6120c3ca5","repo":"apache/flink","slug":"failed-to-retrieve-job-list","errorCode":null,"errorMessage":"Failed to retrieve job list.","messagePattern":"Failed to retrieve job list\\.","errorType":"exception","errorClass":"FlinkException","httpStatus":null,"severity":"error","filePath":"flink-clients/src/main/java/org/apache/flink/client/cli/CliFrontend.java","lineNumber":444,"sourceCode":"    }\n\n    private <ClusterID> void listJobs(\n            ClusterClient<ClusterID> clusterClient,\n            boolean showRunning,\n            boolean showScheduled,\n            boolean showAll)\n            throws FlinkException {\n        Collection<JobStatusMessage> jobDetails;\n        try {\n            CompletableFuture<Collection<JobStatusMessage>> jobDetailsFuture =\n                    clusterClient.listJobs();\n\n            logAndSysout(\"Waiting for response...\");\n            jobDetails = jobDetailsFuture.get();\n\n        } catch (Exception e) {\n            Throwable cause = ExceptionUtils.stripExecutionException(e);\n            throw new FlinkException(\"Failed to retrieve job list.\", cause);\n        }\n\n        LOG.info(\"Successfully retrieved list of jobs\");\n\n        final List<JobStatusMessage> runningJobs = new ArrayList<>();\n        final List<JobStatusMessage> scheduledJobs = new ArrayList<>();\n        final List<JobStatusMessage> terminatedJobs = new ArrayList<>();\n        jobDetails.forEach(\n                details -> {\n                    if (details.getJobState() == JobStatus.CREATED\n                            || details.getJobState() == JobStatus.INITIALIZING) {\n                        scheduledJobs.add(details);\n                    } else if (!details.getJobState().isGloballyTerminalState()) {\n                        runningJobs.add(details);\n                    } else {\n                        terminatedJobs.add(details);\n                    }\n                });","sourceCodeStart":426,"sourceCodeEnd":462,"githubUrl":"https://github.com/apache/flink/blob/2f3c205e9266cb30240eb7f4fdab15cad629a70f/flink-clients/src/main/java/org/apache/flink/client/cli/CliFrontend.java#L426-L462","documentation":"Thrown from AbstractColumnReader.prepareNewPage when a non-dictionary page uses an encoding other than PLAIN. The vectorized reader's generic path only decodes PLAIN data pages (booleans have their own RLE handling in BooleanColumnReader). Encodings such as DELTA_BINARY_PACKED for non-nested columns hit this branch.","triggerScenarios":"A flat (non-nested) column written with DELTA_BINARY_PACKED, DELTA_LENGTH_BYTE_ARRAY, DELTA_BYTE_ARRAY, or RLE (for non-boolean) data pages; writers that enable delta encodings by default (e.g. parquet-cpp v2+ options, parquet-format newer defaults).","commonSituations":"Reading files written by Arrow/parquet-cpp with delta encodings enabled; files written by newer Spark/Impala versions enabling newer encodings; Flink's vendored parquet version lagging the writer's format features.","solutions":["Identify the encoding from the message and rewrite the file with PLAIN/PLAIN_DICTIONARY page encodings (disable delta encodings in the writer, e.g. parquet.writer.version or arrow writer options)","Upgrade Flink so its parquet-mr vectorized reader supports the encoding","Route such files through a reader that supports the encoding (e.g. convert with Spark, which reads then writes standard encodings)","For nested columns some encodings are handled by NestedPrimitiveColumnReader — verify the column is actually flat before concluding the file is unreadable"],"exampleFix":null,"handlingStrategy":"validation","validationCode":"// Reject files containing encodings beyond the flat-reader set, up front from footer metadata\nfor (Encoding enc : columnChunkMetaData.getEncodings()) {\n    if (enc != Encoding.PLAIN && enc != Encoding.PLAIN_DICTIONARY\n            && enc != Encoding.RLE_DICTIONARY && enc != Encoding.RLE) {\n        return Decision.REJECT_FILE; // boolean RLE is handled by BooleanColumnReader\n    }\n}","typeGuard":null,"tryCatchPattern":"try {\n    reader.readToVector(...);\n} catch (UnsupportedOperationException e) {\n    if (String.valueOf(e.getMessage()).startsWith(\"Unsupported encoding\")) {\n        convertOrReject(file); // e.g. rewrite via Spark with standard encodings\n    } else throw e;\n}","preventionTips":["Pin writer configurations to PLAIN/dictionary encodings for Flink-consumed data","When using parquet-cpp/Arrow writers, explicitly disable DELTA_* page encodings","Test writer/reader combinations in CI with representative schemas"],"tags":["parquet","encoding","unsupported-feature"],"backgroundTag":null,"analyzedSha":"2f3c205e9266cb30240eb7f4fdab15cad629a70f","analyzedAt":"2026-08-14T08:48:24.518Z","schemaVersion":2},"datasetVersion":"2026-08-14T10:17:34.591Z"}