apache/seatunnel · warning
Skip failed sink table in Flink starter: {}
Error message
Skip failed sink table in Flink starter: {} What it means
SinkExecuteProcessor.logSkippedTable records a failed sink table (table path, phase, plugin name, and the error) into the skipped-tables collections and logs this warning with the formatted failure line and the full exception. It is the mechanism that lets multi-table Flink jobs tolerate a single table failure without aborting the whole job.
Source
Thrown at seatunnel-core/seatunnel-flink-starter/seatunnel-flink-13-starter/src/main/java/org/apache/seatunnel/core/starter/flink/execution/SinkExecuteProcessor.java:301
return new RuntimeException(error);
}
private void logSkippedTable(
List<MultiTableFailedTable> currentSkippedTables,
List<MultiTableFailedTable> skippedTables,
CatalogTable catalogTable,
Config sinkConfig,
MultiTableFailurePhase phase,
Throwable error) {
MultiTableFailedTable failedTable =
MultiTableFailureHelper.buildFailedTable(
catalogTable.getTablePath().getFullName(),
phase,
sinkConfig.getString(PLUGIN_NAME.key()),
error);
currentSkippedTables.add(failedTable);
skippedTables.add(failedTable);
LOGGER.warn(
"Skip failed sink table in Flink starter: {}",
MultiTableFailureHelper.formatFailedTableLine(failedTable),
error);
}
}
View on GitHub (pinned to cf67b549a7)
Solutions
- Read the warning's formatted line and stack trace to find the exact table path, plugin, and root error.
- Fix the root cause for that table (create target table, align schema, correct connector options) and rerun the job.
- If all tables fail, the companion 'All candidate sink tables were skipped' exception will abort — treat that as a job-level config problem.
- Set per-table failure handling to fail the job if silent skipping is undesired for your SLA.
Defensive patterns
Strategy: validation
Prevention
- Pre-create and schema-check all target sink tables before job launch
- Verify connector options and credentials for each sink table in multi-table configs
- Keep the warning's exception stack trace; it contains the exact failing phase and error
When it happens
Trigger: During execute(), creating or initializing the sink for one catalog table throws an exception (connection failure, schema mismatch, missing target table, invalid config); the catch block calls logSkippedTable(catalogTable, phase, error).
Common situations: Target table absent or schema drift between source and sink; wrong credentials/endpoint for one database in a multi-db pipeline; unsupported data type in one table's schema; transient network error during sink initialization.
Related errors
- All candidate sink tables were skipped in Flink starter.
- All candidate sink tables were skipped in Flink starter.
- Some sink tables were skipped in Flink starter.
- Some sink tables were skipped in Flink starter.
- Skip failed sink table in Flink starter: {}
AI-assisted analysis of apache/seatunnel@cf67b549a7 (2026-09-10).
Data as JSON: /api/errors/f946d049a855ed66.
Report an issue: GitHub.