apache/seatunnel · warning
Skip failed sink table in Spark starter: {}
Error message
Skip failed sink table in Spark starter: {} What it means
Emitted by the Spark starter's SinkExecuteProcessor.logSkippedTable when an exception occurs while initializing a single sink table. The starter catches the exception, adds the table to the skipped set, and logs this warning with a formatted failure line plus the full error so the remainder of the multi-table job can continue.
Source
Thrown at seatunnel-core/seatunnel-spark-starter/seatunnel-spark-2-starter/src/main/java/org/apache/seatunnel/core/starter/spark/execution/SinkExecuteProcessor.java:259
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);
log.warn(
"Skip failed sink table in Spark starter: {}",
MultiTableFailureHelper.formatFailedTableLine(failedTable),
error);
}
}
View on GitHub (pinned to cf67b549a7)
Solutions
- Inspect the stack trace attached to this warning for the failing table's root cause.
- Correct that table's sink config or environment and resubmit the job.
- Decide explicitly whether skip-on-failure semantics are acceptable for your data pipeline.
Defensive patterns
Strategy: try-catch
Validate before calling
assertSinkWritable(catalogTable.getTablePath());
Try / catch
try {
job.run();
} catch (Exception e) {
reconcileTablesSkippedPerLog("Skip failed sink table in Spark starter");
} Prevention
- Verify per-table credentials and schemas before multi-table jobs.
- Monitor skipped-table warnings as pipeline health signals.
- Backfill skipped tables after fixing their sink config.
When it happens
Trigger: Any exception during per-table sink preparation/writer creation inside execute()'s try/catch (bad credentials, unreachable sink, schema incompatibility, missing plugin class).
Common situations: One of several output databases is down or has wrong credentials; table schema changed upstream; missing Spark connector jar for one target format.
Related errors
- All candidate sink tables were skipped in Spark starter.
- All candidate sink tables were skipped in Spark starter.
- Some sink tables were skipped in Spark starter.
- Some sink tables were skipped in Spark starter.
- Skip failed sink table in Spark starter: {}
AI-assisted analysis of apache/seatunnel@cf67b549a7 (2026-09-10).
Data as JSON: /api/errors/21dd773f1dd69a1e.
Report an issue: GitHub.