apache/seatunnel · error · CatalogException
Failed listing database in catalog
Error message
Failed listing database in catalog %s
What it means
This error is a generic CatalogException wrapper thrown by StarRocksCatalog.listDatabases when executing 'SHOW DATABASES' against the StarRocks FE fails. It fires for any underlying failure — connection loss, authentication failure with username/pwd, or a JDBC/SQL error — and it is raised both on direct catalog listing and via databaseExists, so a bad connection or wrong credentials in the catalog config typically surfaces here.
Solutions
- Verify the StarRocks FE JDBC URL, credentials, and connectivity
- Check that the user has privileges to list databases
- Inspect the wrapped SQLException for the FE-side error
Defensive patterns
Strategy: try-catch
When it happens
Trigger: Thrown at seatunnel-connectors-v2/connector-starrocks/src/main/java/org/apache/seatunnel/connectors/seatunnel/starrocks/catalog/StarRocksCatalog.java:127 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/f6bea344837f9950.
Report an issue: GitHub.
Appendix: source
Thrown at seatunnel-connectors-v2/connector-starrocks/src/main/java/org/apache/seatunnel/connectors/seatunnel/starrocks/catalog/StarRocksCatalog.java:127
this.username = username;
this.pwd = pwd;
this.template = template;
this.tableOptions = tableOptions;
}
@Override
public List<String> listDatabases() throws CatalogException {
try (PreparedStatement ps = conn.prepareStatement("SHOW DATABASES;");
ResultSet rs = ps.executeQuery()) {
List<String> databases = new ArrayList<>();
while (rs.next()) {
databases.add(rs.getString(1));
}
return databases;
} catch (Exception e) {
throw new CatalogException(
String.format("Failed listing database in catalog %s", this.catalogName), e);
}
}
@Override
public List<String> listTables(String databaseName)
throws CatalogException, DatabaseNotExistException {
if (!databaseExists(databaseName)) {
throw new DatabaseNotExistException(this.catalogName, databaseName);
}
try (PreparedStatement ps =
conn.prepareStatement(
"SELECT TABLE_NAME FROM information_schema.tables "
+ "WHERE TABLE_SCHEMA = ? ORDER BY TABLE_NAME")) {
ps.setString(1, databaseName);
try (ResultSet rs = ps.executeQuery()) {
List<String> tables = new ArrayList<>();View on GitHub (pinned to cf67b549a7)