apache/seatunnel · error · CatalogException

create database [ ] failed

Error message

create database [%s] failed

What it means

Raised by DorisCatalog.createDatabase when the JDBC statement executing the CREATE DATABASE DDL against the Doris FE fails with a SQLException. It wraps the underlying SQL failure and names the database that could not be created.

Solutions

  1. Verify the Doris FE JDBC URL, credentials, and that the FE is reachable
  2. Check for an existing database with the same name and set ignoreIfExists or drop it first
  3. Inspect the wrapped SQLException for the real Doris error (privileges, syntax, resource limits)
Defensive patterns

Strategy: try-catch

When it happens

Trigger: Thrown at seatunnel-connectors-v2/connector-doris/src/main/java/org/apache/seatunnel/connectors/doris/catalog/DorisCatalog.java:444 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/26c9156a040c7af6. Report an issue: GitHub.

Appendix: source

Thrown at seatunnel-connectors-v2/connector-doris/src/main/java/org/apache/seatunnel/connectors/doris/catalog/DorisCatalog.java:444

            throws TableNotExistException, CatalogException {
        String query = DorisCatalogUtil.getDropTableQuery(tablePath, ignoreIfNotExists);
        try (Statement stmt = conn.createStatement()) {
            stmt.execute(query);
        } catch (SQLException e) {
            throw new CatalogException(e);
        }
    }

    @Override
    public void createDatabase(TablePath tablePath, boolean ignoreIfExists)
            throws DatabaseAlreadyExistException, CatalogException {
        String query =
                DorisCatalogUtil.getCreateDatabaseQuery(
                        tablePath.getDatabaseName(), ignoreIfExists);
        try (Statement stmt = conn.createStatement()) {
            stmt.execute(query);
        } catch (SQLException e) {
            throw new CatalogException(
                    String.format("create database [%s] failed", tablePath.getDatabaseName()), e);
        }
    }

    @Override
    public void dropDatabase(TablePath tablePath, boolean ignoreIfNotExists)
            throws DatabaseNotExistException, CatalogException {
        String query =
                DorisCatalogUtil.getDropDatabaseQuery(
                        tablePath.getDatabaseName(), ignoreIfNotExists);
        try (Statement stmt = conn.createStatement()) {
            stmt.execute(query);
        } catch (SQLException e) {
            throw new CatalogException(
                    String.format("drop database [%s] failed", tablePath.getDatabaseName()), e);
        }
    }

View on GitHub (pinned to cf67b549a7)