prestodb/presto · error · OrcCorruptionException
Invalid stripe footer
Error message
Invalid stripe footer
What it means
ORC metadata-reading error: parsing a stripe footer protobuf failed (InvalidProtocolBufferException), wrapped as 'Invalid stripe footer'. One stripe's footer section is corrupt, so the stripe's streams cannot be located; usually points to mid-file corruption.
Source
Thrown at presto-orc/src/main/java/com/facebook/presto/orc/metadata/ExceptionWrappingMetadataReader.java:96
throws OrcCorruptionException, IOException
{
try {
return delegate.readFooter(hiveWriterVersion, inputStream, dwrfEncryptionProvider, dwrfKeyProvider, orcDataSource, decompressor);
}
catch (InvalidProtocolBufferException e) {
throw new OrcCorruptionException(e, orcDataSourceId, "Invalid file footer");
}
}
@Override
public StripeFooter readStripeFooter(OrcDataSourceId orcDataSourceId, List<OrcType> types, InputStream inputStream)
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, IOExceptionView on GitHub (pinned to 55bb57d202)
Solutions
- Identify and exclude the corrupted stripe/file
- Verify storage medium integrity
- Rewrite the file from source data
Defensive patterns
Strategy: try-catch
When it happens
Trigger: Thrown at presto-orc/src/main/java/com/facebook/presto/orc/metadata/ExceptionWrappingMetadataReader.java:96 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/6dfb4e3cf9807544.
Report an issue: GitHub.