prestodb/presto · error · PrestoException
HUDI_CANNOT_GENERATE_SPLIT
HUDI_CANNOT_GENERATE_SPLIT
Error message
Error generating Hudi split
What it means
HudiBackgroundSplitLoader.run fans out partition split-generator threads and waits on their futures; any ExecutionException/Throwable from split generation is caught and rethrown as a PrestoException with this generic message, hiding the per-partition cause that must be recovered from the exception's cause chain.
Source
Thrown at presto-hudi/src/main/java/com/facebook/presto/hudi/split/HudiBackgroundSplitLoader.java:100
List<HudiPartitionSplitGenerator> splitGeneratorList = new ArrayList<>();
List<Future> splitGeneratorFutures = new ArrayList<>();
ConcurrentLinkedQueue<String> concurrentPartitionQueue = new ConcurrentLinkedQueue<>(partitions);
// Start a number of partition split generators to generate the splits in parallel
for (int i = 0; i < splitGeneratorNumThreads; i++) {
HudiPartitionSplitGenerator generator = new HudiPartitionSplitGenerator(
session, metastore, layout, fsView, asyncQueue, concurrentPartitionQueue, latestInstant);
splitGeneratorList.add(generator);
splitGeneratorFutures.add(splitGeneratorExecutorService.submit(generator));
}
// Wait for all split generators to finish
for (Future future : splitGeneratorFutures) {
try {
future.get();
}
catch (InterruptedException | ExecutionException e) {
throw new PrestoException(HUDI_CANNOT_GENERATE_SPLIT, "Error generating Hudi split", e);
}
}
asyncQueue.finish();
log.debug("Finished getting all splits in %d ms", timer.endTimer());
}
}
View on GitHub (pinned to 55bb57d202)
Solutions
- Inspect the exception's cause for the real failure (e.g. missing partition files, listing errors, IO failures)
- Retry the query if the underlying failure was transient (network/metastore hiccup)
- Check the Hudi timeline/table for corrupted or in-flight commits that break partition listing
Defensive patterns
Strategy: retry
When it happens
Trigger: Thrown at presto-hudi/src/main/java/com/facebook/presto/hudi/split/HudiBackgroundSplitLoader.java:100 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/97ac17b6547ce2f9.
Report an issue: GitHub.