prestodb/presto · error · IOException
Unexpected error in orc file tail reading after cache miss
Error message
Unexpected error in orc file tail reading after cache miss
What it means
ORC tail-cache error in CachingOrcFileTailSource: after a cache miss, the delegate read of the file tail threw unexpectedly, and the error is rethrown tagged 'after cache miss'. The underlying cause (I/O failure, corruption) is in the cause chain; the cache only softens hits, it cannot recover failing reads.
Source
Thrown at presto-orc/src/main/java/com/facebook/presto/orc/cache/CachingOrcFileTailSource.java:65
return delegate.getOrcFileTail(orcDataSource, metadataReader, writeValidation, cacheable, fileModificationTime);
}
try {
OrcFileTail orcFileTail = cache.getIfPresent(orcDataSource.getId());
if (orcFileTail != null) {
if (orcFileTail.getFileModificationTime() == fileModificationTime) {
return orcFileTail;
}
cache.invalidate(orcDataSource.getId()); // stale entry
// This get call is to increment the miss count for invalidated entries so the stats are recorded correctly.
cache.getIfPresent(orcDataSource.getId());
}
orcFileTail = delegate.getOrcFileTail(orcDataSource, metadataReader, writeValidation, cacheable, fileModificationTime);
cache.put(orcDataSource.getId(), orcFileTail);
return orcFileTail;
}
catch (UncheckedExecutionException e) {
throwIfInstanceOf(e.getCause(), IOException.class);
throw new IOException("Unexpected error in orc file tail reading after cache miss", e.getCause());
}
}
}
View on GitHub (pinned to 55bb57d202)
Solutions
- Inspect the cause chain for the underlying I/O or corruption error
- Verify the ORC file is readable and complete
- Check for cache-filesystem mismatch (file changed while cached metadata retained)
Defensive patterns
Strategy: try-catch
When it happens
Trigger: Thrown at presto-orc/src/main/java/com/facebook/presto/orc/cache/CachingOrcFileTailSource.java:65 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/cedf61926265384a.
Report an issue: GitHub.