apache/seatunnel · error · TableNotExistException
Table does not exist in catalog (TableNotExistException)
Error message
Table %s does not exist in catalog %s (TableNotExistException)
What it means
DorisCatalog.getTable verifies existence first and throws TableNotExistException(catalogName, tablePath) when the requested db.table is absent from the Doris cluster — the standard catalog signal that the caller referenced a non-existent table.
Solutions
- Check database and table names in the job config (case sensitivity, catalog prefix)
- Create the table first or enable auto-create if applicable
- List existing tables to confirm the expected name
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at seatunnel-connectors-v2/connector-doris/src/main/java/org/apache/seatunnel/connectors/doris/catalog/DorisCatalog.java:248 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/5b0f0dfe7d14fd5b.
Report an issue: GitHub.
Appendix: source
Thrown at seatunnel-connectors-v2/connector-doris/src/main/java/org/apache/seatunnel/connectors/doris/catalog/DorisCatalog.java:248
try (PreparedStatement ps =
conn.prepareStatement(DorisCatalogUtil.TABLES_QUERY_WITH_IDENTIFIER_QUERY)) {
ps.setString(1, tablePath.getDatabaseName());
ps.setString(2, tablePath.getTableName());
try (ResultSet rs = ps.executeQuery()) {
return rs.next();
}
} catch (SQLException e) {
throw new CatalogException(
String.format("check table [%s] exists failed", tablePath.getFullName()), e);
}
}
@Override
public CatalogTable getTable(TablePath tablePath)
throws CatalogException, TableNotExistException {
if (!tableExists(tablePath)) {
throw new TableNotExistException(catalogName, tablePath);
}
TableSchema.Builder builder = TableSchema.builder();
try (PreparedStatement ps = conn.prepareStatement(DorisCatalogUtil.TABLE_SCHEMA_QUERY)) {
ps.setString(1, tablePath.getDatabaseName());
ps.setString(2, tablePath.getTableName());
try (ResultSet rs = ps.executeQuery()) {
Map<String, String> options = connectorOptions();
buildTableSchemaWithErrorCheck(
tablePath, rs, builder, options, Collections.emptyList());
return CatalogTable.of(
TableIdentifier.of(
catalogName, tablePath.getDatabaseName(), tablePath.getTableName()),
builder.build(),
options,
Collections.emptyList(),
"",
catalogName);
}View on GitHub (pinned to cf67b549a7)