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
- Confirm the Doris FE connection is alive and credentials are valid
- Ensure the database is empty or that dropping non-empty databases is permitted
- 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)