apache/seatunnel · error · CatalogException
list tables of database
Error message
list tables of database [%s] failed
What it means
DorisCatalog.listTables wraps SQLException from the per-database table listing query into CatalogException('list tables of database [%s] failed'); enumeration failed due to connection issues, missing database, or insufficient privileges.
Solutions
- Confirm the database exists and the user has privileges on it
- Check connection stability to the FE
- Inspect FE audit logs for the failing table-listing query
Defensive patterns
Strategy: retry
When it happens
Trigger: Thrown at seatunnel-connectors-v2/connector-doris/src/main/java/org/apache/seatunnel/connectors/doris/catalog/DorisCatalog.java:221 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of apache/seatunnel@cf67b549a7 (2026-09-10).
Data as JSON: /api/errors/2e4dc6630f935ea7.
Report an issue: GitHub.
Appendix: source
Thrown at seatunnel-connectors-v2/connector-doris/src/main/java/org/apache/seatunnel/connectors/doris/catalog/DorisCatalog.java:221
Collections.sort(databases);
return databases;
}
@Override
public List<String> listTables(String databaseName)
throws CatalogException, DatabaseNotExistException {
List<String> tables = new ArrayList<>();
try (PreparedStatement ps =
conn.prepareStatement(DorisCatalogUtil.TABLES_QUERY_WITH_DATABASE_QUERY)) {
ps.setString(1, databaseName);
try (ResultSet rs = ps.executeQuery()) {
while (rs.next()) {
String table = rs.getString(1);
tables.add(table);
}
}
} catch (SQLException e) {
throw new CatalogException(
String.format("list tables of database [%s] failed", databaseName), e);
}
Collections.sort(tables);
return tables;
}
@Override
public boolean tableExists(TablePath tablePath) throws CatalogException {
try (PreparedStatement ps =
conn.prepareStatement(DorisCatalogUtil.TABLES_QUERY_WITH_IDENTIFIER_QUERY)) {
ps.setString(1, tablePath.getDatabaseName());
ps.setString(2, tablePath.getTableName());
try (ResultSet rs = ps.executeQuery()) {
return rs.next();
}
} catch (SQLException e) {
throw new CatalogException(
String.format("check table [%s] exists failed", tablePath.getFullName()), e);View on GitHub (pinned to cf67b549a7)