{"record":{"id":"4b67a1f20308f25f","repo":"prestodb/presto","slug":"could-not-decompress-page","errorCode":null,"errorMessage":"Could not decompress page","messagePattern":"Could not decompress page","errorType":"exception","errorClass":"RuntimeException","httpStatus":null,"severity":"error","filePath":"presto-parquet/src/main/java/com/facebook/presto/parquet/reader/PageReader.java","lineNumber":136,"sourceCode":"                        - dataPageV2.getDefinitionLevels().length()\n                        - dataPageV2.getRepetitionLevels().length());\n                slice = decompress(codec, slice, uncompressedSize);\n                return new DataPageV2(\n                        dataPageV2.getRowCount(),\n                        dataPageV2.getNullCount(),\n                        dataPageV2.getValueCount(),\n                        firstRowIndex,\n                        dataPageV2.getRepetitionLevels(),\n                        dataPageV2.getDefinitionLevels(),\n                        dataPageV2.getDataEncoding(),\n                        slice,\n                        dataPageV2.getUncompressedSize(),\n                        dataPageV2.getStatistics(),\n                        false);\n            }\n        }\n        catch (IOException e) {\n            throw new RuntimeException(\"Could not decompress page\", e);\n        }\n    }\n\n    public DictionaryPage readDictionaryPage()\n    {\n        if (compressedDictionaryPage == null) {\n            return null;\n        }\n        try {\n            Slice slice = decryptSliceIfNeeded(compressedDictionaryPage.getSlice(), dictionaryPageAdditionalAuthenticationData);\n            return new DictionaryPage(\n                    decompress(codec, slice, compressedDictionaryPage.getUncompressedSize()),\n                    compressedDictionaryPage.getDictionarySize(),\n                    compressedDictionaryPage.getEncoding());\n        }\n        catch (IOException e) {\n            throw new RuntimeException(\"Error reading dictionary page\", e);\n        }","sourceCodeStart":118,"sourceCodeEnd":154,"githubUrl":"https://github.com/prestodb/presto/blob/55bb57d202de3b926896fa966c2c4a44c779634e/presto-parquet/src/main/java/com/facebook/presto/parquet/reader/PageReader.java#L118-L154","documentation":"Wraps an IOException from the page decompression step in readPage: the codec (gzip/snappy/zstd/lz4) failed while inflating a Parquet data page — usually a truncated or corrupt page, or a damaged compression payload.","triggerScenarios":"Thrown at presto-parquet/src/main/java/com/facebook/presto/parquet/reader/PageReader.java:136 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Restore or rewrite the corrupt Parquet file","Validate object checksums / re-transfer the file","Confirm the codec used by the writer is supported and not misconfigured"],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"55bb57d202de3b926896fa966c2c4a44c779634e","analyzedAt":"2026-09-04T12:50:26.162Z","contentChangedAt":"2026-09-04T12:50:26.162Z","schemaVersion":2},"datasetVersion":"2026-09-11T21:17:09.523Z"}