{"record":{"id":"946d87f293c39df0","repo":"apache/flink","slug":"could-not-read-dictionary-in-col","errorCode":null,"errorMessage":"could not read dictionary in col {}","messagePattern":"could not read dictionary in col (.+?)","errorType":"exception","errorClass":"IOException","httpStatus":null,"severity":"error","filePath":"flink-formats/flink-parquet/src/main/java/org/apache/flink/formats/parquet/vector/reader/AbstractColumnReader.java","lineNumber":256,"sourceCode":"        if (dataEncoding.usesDictionary()) {\n            if (dictionary == null) {\n                throw new IOException(\n                        \"could not read page in col \"\n                                + descriptor\n                                + \" as the dictionary was missing for encoding \"\n                                + dataEncoding);\n            }\n            @SuppressWarnings(\"deprecation\")\n            Encoding plainDict = Encoding.PLAIN_DICTIONARY; // var to allow warning suppression\n            if (dataEncoding != plainDict && dataEncoding != Encoding.RLE_DICTIONARY) {\n                throw new UnsupportedOperationException(\"Unsupported encoding: \" + dataEncoding);\n            }\n            this.dataInputStream = null;\n            this.dictionaryIdsDecoder = new RunLengthDecoder();\n            try {\n                this.dictionaryIdsDecoder.initFromStream(pageValueCount, in);\n            } catch (IOException e) {\n                throw new IOException(\"could not read dictionary in col \" + descriptor, e);\n            }\n            this.isCurrentPageDictionaryEncoded = true;\n        } else {\n            if (dataEncoding != Encoding.PLAIN) {\n                throw new UnsupportedOperationException(\"Unsupported encoding: \" + dataEncoding);\n            }\n            this.dictionaryIdsDecoder = null;\n            LOG.debug(\"init from page at offset {} for length {}\", in.position(), in.available());\n            this.dataInputStream = in.remainingStream();\n            this.isCurrentPageDictionaryEncoded = false;\n        }\n\n        afterReadPage();\n    }\n\n    final ByteBuffer readDataBuffer(int length) {\n        try {\n            return dataInputStream.slice(length).order(ByteOrder.LITTLE_ENDIAN);","sourceCodeStart":238,"sourceCodeEnd":274,"githubUrl":"https://github.com/apache/flink/blob/2f3c205e9266cb30240eb7f4fdab15cad629a70f/flink-formats/flink-parquet/src/main/java/org/apache/flink/formats/parquet/vector/reader/AbstractColumnReader.java#L238-L274","documentation":"Fires when a page arrives with a dictionary-based data encoding but the reader has no dictionary instance (the dictionary page was absent or already discarded). Without the dictionary the encoded values are undecodable, so reading the column page fails immediately.","triggerScenarios":"Triggered at runtime when the operation fails because: could not read dictionary in col the reported value.","commonSituations":"Commonly caused by misconfiguration, missing dependencies or files, unsupported types or operations, or invalid user input leading to: could not read dictionary in col the reported value.","solutions":["Address the cause reported by the error message: could not read dictionary in col the reported value","Verify the inputs, configuration values, and classpath/dependency setup related to this operation, then retry."],"exampleFix":"Correct the condition described (\"could not read dictionary in col the reported value\") and rerun the job or command.","handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"2f3c205e9266cb30240eb7f4fdab15cad629a70f","analyzedAt":"2026-08-14T08:48:24.518Z","contentChangedAt":"2026-08-14T08:48:24.518Z","schemaVersion":2},"datasetVersion":"2026-09-23T08:17:48.524Z"}