{"record":{"id":"4fbfb396e44f0129","repo":"prestodb/presto","slug":"error-reading-parquet-page-in-column-4fbfb3","errorCode":null,"errorMessage":"Error reading parquet page in column ","messagePattern":"Error reading parquet page in column ","errorType":"exception","errorClass":"ParquetDecodingException","httpStatus":null,"severity":"error","filePath":"presto-parquet/src/main/java/com/facebook/presto/parquet/reader/AbstractColumnReader.java","lineNumber":357,"sourceCode":"            }\n            valuesReader = dataEncoding.getDictionaryBasedValuesReader(columnDescriptor, VALUES, dictionary);\n        }\n        else {\n            valuesReader = dataEncoding.getValuesReader(columnDescriptor, VALUES);\n        }\n\n        try {\n            valuesReader.initFromPage(valueCount, inputStream);\n            if (firstRowIndex != -1) {\n                currentRow = firstRowIndex - 1;\n            }\n            else {\n                currentRow = -1;\n            }\n            return valuesReader;\n        }\n        catch (IOException e) {\n            throw new ParquetDecodingException(\"Error reading parquet page in column \" + columnDescriptor, e);\n        }\n    }\n\n    private boolean skipRL(int repetitionLevel, boolean indexEnabled)\n    {\n        if (!indexEnabled || indexIterator == null) {\n            return false;\n        }\n\n        if (repetitionLevel == 0) {\n            currentRow = currentRow + 1;\n            if (currentRow > targetRow) {\n                targetRow = indexIterator.hasNext() ? indexIterator.nextLong() : Long.MAX_VALUE;\n            }\n        }\n\n        return currentRow < targetRow;\n    }","sourceCodeStart":339,"sourceCodeEnd":375,"githubUrl":"https://github.com/prestodb/presto/blob/55bb57d202de3b926896fa966c2c4a44c779634e/presto-parquet/src/main/java/com/facebook/presto/parquet/reader/AbstractColumnReader.java#L339-L375","documentation":"Wraps an IOException from ValuesReader.initFromPage while preparing a page's values reader in initDataReader: the page payload could not be initialized (truncated page, bad levels, unsupported layout). The catch converts it into a ParquetDecodingException naming the column.","triggerScenarios":"Thrown at presto-parquet/src/main/java/com/facebook/presto/parquet/reader/AbstractColumnReader.java:357 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Verify the Parquet file is complete and uncorrupted in storage","Reproduce with the parquet-tools/verified reader to confirm page validity","Upgrade Presto if the page layout is valid but unsupported"],"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"}