prestodb/presto · error · ParquetDecodingException

Error reading parquet page in column

Error message

Error reading parquet page in column 

What it means

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.

Source

Thrown at presto-parquet/src/main/java/com/facebook/presto/parquet/reader/AbstractColumnReader.java:357

            }
            valuesReader = dataEncoding.getDictionaryBasedValuesReader(columnDescriptor, VALUES, dictionary);
        }
        else {
            valuesReader = dataEncoding.getValuesReader(columnDescriptor, VALUES);
        }

        try {
            valuesReader.initFromPage(valueCount, inputStream);
            if (firstRowIndex != -1) {
                currentRow = firstRowIndex - 1;
            }
            else {
                currentRow = -1;
            }
            return valuesReader;
        }
        catch (IOException e) {
            throw new ParquetDecodingException("Error reading parquet page in column " + columnDescriptor, e);
        }
    }

    private boolean skipRL(int repetitionLevel, boolean indexEnabled)
    {
        if (!indexEnabled || indexIterator == null) {
            return false;
        }

        if (repetitionLevel == 0) {
            currentRow = currentRow + 1;
            if (currentRow > targetRow) {
                targetRow = indexIterator.hasNext() ? indexIterator.nextLong() : Long.MAX_VALUE;
            }
        }

        return currentRow < targetRow;
    }

View on GitHub (pinned to 55bb57d202)

Solutions

  1. Verify the Parquet file is complete and uncorrupted in storage
  2. Reproduce with the parquet-tools/verified reader to confirm page validity
  3. Upgrade Presto if the page layout is valid but unsupported
Defensive patterns

Strategy: try-catch

When it happens

Trigger: Thrown at presto-parquet/src/main/java/com/facebook/presto/parquet/reader/AbstractColumnReader.java:357 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of prestodb/presto@55bb57d202 (2026-09-04). Data as JSON: /api/errors/4fbfb396e44f0129. Report an issue: GitHub.