apache/druid · error · RE (org.apache.druid.java.util.common.RE)
Failed to load iceberg table with identifier
Error message
Failed to load iceberg table with identifier [%s]
What it means
extractSnapshotDataFiles catches any failure while loading the Iceberg table or reading its snapshot data files and rethrows with this message naming the table identifier; typical causes are a wrong identifier, missing table, or permission/access errors.
Solutions
- Verify the table identifier (db.table) and the configured catalog type/properties.
- Check catalog credentials/permissions and that the table exists at the resolved snapshot.
Defensive patterns
Strategy: try-catch
When it happens
Trigger: Thrown at extensions-contrib/druid-iceberg-extensions/src/main/java/org/apache/druid/iceberg/input/IcebergCatalog.java:149 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of apache/druid@9b90983fd2 (2026-09-07).
Data as JSON: /api/errors/2aac4559dc867c7d.
Report an issue: GitHub.
Appendix: source
Thrown at extensions-contrib/druid-iceberg-extensions/src/main/java/org/apache/druid/iceberg/input/IcebergCatalog.java:149
detectedResidual
);
if (residualFilterMode == ResidualFilterMode.FAIL) {
throw DruidException.forPersona(DruidException.Persona.DEVELOPER)
.ofCategory(DruidException.Category.RUNTIME_FAILURE)
.build(message);
}
log.warn(message);
}
long duration = System.currentTimeMillis() - start;
log.info("Data file scan and fetch took [%d ms] time for [%d] paths", duration, dataFilePaths.size());
}
catch (DruidException e) {
throw e;
}
catch (Exception e) {
throw new RE(e, "Failed to load iceberg table with identifier [%s]", tableIdentifier);
}
finally {
Thread.currentThread().setContextClassLoader(currCtxClassloader);
}
return dataFilePaths;
}
}
View on GitHub (pinned to 9b90983fd2)