apache/seatunnel · error · CatalogException

drop database [ ] failed

Error message

drop database [%s] failed

What it means

Raised by DorisCatalog.dropDatabase when executing the DROP DATABASE DDL fails with a SQLException. The wrapped exception carries the actual Doris server error; the message names the database whose drop failed.

Solutions

  1. Confirm the Doris FE connection is alive and credentials are valid
  2. Ensure the database is empty or that dropping non-empty databases is permitted
  3. Read the cause SQLException for the specific Doris error and address it
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:458 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/0bf3ede041f12a66. Report an issue: GitHub.

Appendix: source

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

                        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);
        }
    }

    private Map<String, String> connectorOptions() {
        Map<String, String> options = new HashMap<>();
        options.put("connector", "doris");
        options.put(DorisBaseOptions.FENODES.key(), String.join(",", frontEndNodes));
        options.put(DorisBaseOptions.USERNAME.key(), username);
        options.put(DorisBaseOptions.PASSWORD.key(), password);
        return options;
    }

    public void truncateTable(TablePath tablePath, boolean ignoreIfNotExists)
            throws TableNotExistException, CatalogException {
        truncateTable(tablePath, ignoreIfNotExists, Collections.emptyList());
    }

View on GitHub (pinned to cf67b549a7)