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

  1. Verify the StarRocks FE JDBC URL, credentials, and connectivity
  2. Check that the user has privileges to list databases
  3. 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)