apache/seatunnel · warning
Skip failed sink table in Flink starter: {}
Error message
Skip failed sink table in Flink starter: {} What it means
Emitted by AbstractSinkExecuteProcessor.logSkippedTable when an exception occurs while preparing/creating an individual sink table in the Flink starter. The starter catches the error, records the table in the skipped set, and logs this warning with a formatted failure line and the full exception, allowing the rest of the multi-table job to proceed.
Source
Thrown at seatunnel-core/seatunnel-flink-starter/seatunnel-flink-starter-common/src/main/java/org/apache/seatunnel/core/starter/flink/execution/AbstractSinkExecuteProcessor.java:295
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
- Inspect the attached exception (stack trace follows this warning) to find the root cause for that table path.
- Fix the sink config or environment for the failing table and resubmit the job.
- If the table should fail the whole job instead of being skipped, adjust skip/failure handling for multi-table execution.
Defensive patterns
Strategy: try-catch
Validate before calling
// verify sink connectivity per table before job submission assertSinkWritable(catalogTable.getTablePath());
Try / catch
try {
job.execute();
} catch (Exception e) {
// check log for 'Skip failed sink table in Flink starter' entries to map which tables lost data
reconcileSkippedTables();
} Prevention
- Rotate/check credentials per target database before multi-table runs.
- Keep sink connector jars aligned with the SeaTunnel version.
- Set up data-completeness checks on the sink side to detect skipped tables.
When it happens
Trigger: Any exception during sink initialization for a table (writer creation, catalog table preparation, connection failure) inside execute()'s per-table try/catch; logSkippedTable then records it.
Common situations: Wrong username/password or unreachable host for one target table; incompatible schema between source and sink table; missing sink plugin jar.
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.
- Skip failed sink table in Flink starter: {}
- Some sink tables were skipped in Flink starter.
AI-assisted analysis of apache/seatunnel@cf67b549a7 (2026-09-10).
Data as JSON: /api/errors/67a1bdcfa6ab1907.
Report an issue: GitHub.