prestodb/presto · error · OrcCorruptionException

Invalid stripe row index

Error message

Invalid stripe row index

What it means

ORC metadata-reading error: parsing the stripe row-index protobuf failed (InvalidProtocolBufferException), wrapped as 'Invalid stripe row index'. The row group positions/checkpoints for a stripe are unreadable, preventing row-group level seeks.

Source

Thrown at presto-orc/src/main/java/com/facebook/presto/orc/metadata/ExceptionWrappingMetadataReader.java:108

            throws IOException
    {
        try {
            return delegate.readStripeFooter(orcDataSourceId, types, inputStream);
        }
        catch (InvalidProtocolBufferException e) {
            throw new OrcCorruptionException(e, orcDataSourceId, "Invalid stripe footer");
        }
    }

    @Override
    public List<RowGroupIndex> readRowIndexes(HiveWriterVersion hiveWriterVersion, InputStream inputStream, List<HiveBloomFilter> bloomFilters)
            throws OrcCorruptionException, IOException
    {
        try {
            return delegate.readRowIndexes(hiveWriterVersion, inputStream, bloomFilters);
        }
        catch (InvalidProtocolBufferException e) {
            throw new OrcCorruptionException(e, orcDataSourceId, "Invalid stripe row index");
        }
    }

    @Override
    public List<HiveBloomFilter> readBloomFilterIndexes(InputStream inputStream)
            throws OrcCorruptionException, IOException
    {
        try {
            return delegate.readBloomFilterIndexes(inputStream);
        }
        catch (InvalidProtocolBufferException e) {
            throw new OrcCorruptionException(e, orcDataSourceId, "Invalid bloom filter");
        }
    }
}

View on GitHub (pinned to 55bb57d202)

Solutions

  1. Skip row-group indexes by reading without predicate pushdown as a workaround
  2. Verify file integrity and restore from source if corrupt
  3. Report if files produced by Presto's writer consistently fail this check
Defensive patterns

Strategy: try-catch

When it happens

Trigger: Thrown at presto-orc/src/main/java/com/facebook/presto/orc/metadata/ExceptionWrappingMetadataReader.java:108 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/8d82241887edcf1e. Report an issue: GitHub.