apache/seatunnel · error · CatalogException
list databases failed
Error message
list databases failed
What it means
DorisCatalog.listDatabases wraps SQLException from the all-databases query into CatalogException('list databases failed'); metadata listing could not be completed, usually due to connection or permission problems rather than an empty cluster.
Solutions
- Verify the JDBC connection is alive and the FE is healthy
- Grant the configured user privileges to see databases
- Retry after transient network failures
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:201 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/e1878c563a7bedb0.
Report an issue: GitHub.
Appendix: source
Thrown at seatunnel-connectors-v2/connector-doris/src/main/java/org/apache/seatunnel/connectors/doris/catalog/DorisCatalog.java:201
try (ResultSet rs = ps.executeQuery()) {
return rs.next();
}
} catch (SQLException e) {
throw new CatalogException("check database exists failed", e);
}
}
@Override
public List<String> listDatabases() throws CatalogException {
List<String> databases = new ArrayList<>();
try (PreparedStatement ps = conn.prepareStatement(DorisCatalogUtil.ALL_DATABASES_QUERY);
ResultSet rs = ps.executeQuery()) {
while (rs.next()) {
String database = rs.getString(1);
databases.add(database);
}
} catch (SQLException e) {
throw new CatalogException("list databases failed", e);
}
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);
}
}View on GitHub (pinned to cf67b549a7)