prestodb/presto · error · OrcCorruptionException
Invalid bloom filter
Error message
Invalid bloom filter
What it means
ORC metadata-reading error: parsing the bloom-filter index protobuf failed (InvalidProtocolBufferException), wrapped as 'Invalid bloom filter'. The bloom filter stream for a column is malformed, so bloom-based predicate filtering cannot proceed.
Source
Thrown at presto-orc/src/main/java/com/facebook/presto/orc/metadata/ExceptionWrappingMetadataReader.java:120
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
- Disable bloom filter reading for the table/session as a workaround
- Verify file integrity; restore corrupted files from source
- Report writer-produced corrupt bloom filters as a bug
Defensive patterns
Strategy: try-catch
When it happens
Trigger: Thrown at presto-orc/src/main/java/com/facebook/presto/orc/metadata/ExceptionWrappingMetadataReader.java:120 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/3e6cf3757e0a510a.
Report an issue: GitHub.