apache/seatunnel · error · CatalogException
create table statement execute failed
Error message
create table statement execute failed
What it means
DorisCatalog.createTable wraps SQLException from executing the generated CREATE TABLE statement into CatalogException('create table statement execute failed'); the DDL reached Doris but was rejected (syntax/template mismatch, invalid keys/distribution/bucket config, permissions, or dropped connection).
Solutions
- Check FE logs/audit for the exact DDL error
- Validate the create-table-template (keys, distribution, buckets) against the table data
- Ensure the user has CREATE privileges and the DDL matches the Doris version's syntax
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:420 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/5c93f782ba87bb51.
Report an issue: GitHub.
Appendix: source
Thrown at seatunnel-connectors-v2/connector-doris/src/main/java/org/apache/seatunnel/connectors/doris/catalog/DorisCatalog.java:420
}
boolean tableExists = tableExists(tablePath);
if (ignoreIfExists && tableExists) {
LOG.info("table {} is exists, skip create", tablePath.getFullName());
return;
}
if (tableExists) {
throw new TableAlreadyExistException(catalogName, tablePath);
}
String stmt =
DorisCatalogUtil.getCreateTableStatement(
createTableTemplate, tablePath, table, typeConverter);
try (Statement statement = conn.createStatement()) {
statement.execute(stmt);
} catch (SQLException e) {
throw new CatalogException("create table statement execute failed", e);
}
}
@Override
public void dropTable(TablePath tablePath, boolean ignoreIfNotExists)
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 =View on GitHub (pinned to cf67b549a7)