apache/seatunnel · warning
Snapshot was interrupted before completion
Error message
Snapshot was interrupted before completion
What it means
Oracle snapshot split read task logs 'Snapshot was interrupted before completion' (WARN) when doExecute() throws InterruptedException during snapshot reading. The InterruptedException is rethrown to the caller, so the snapshot phase of the CDC source fails. This signals the snapshot thread was cancelled/interrupted rather than a data error.
Source
Thrown at seatunnel-connectors-v2/connector-cdc/connector-cdc-oracle/src/main/java/org/apache/seatunnel/connectors/seatunnel/cdc/oracle/source/reader/fetch/scan/OracleSnapshotSplitReadTask.java:111
@Override
public SnapshotResult<OracleOffsetContext> execute(
ChangeEventSourceContext context,
OraclePartition partition,
OracleOffsetContext previousOffset)
throws InterruptedException {
SnapshottingTask snapshottingTask = getSnapshottingTask(partition, previousOffset);
final SnapshotContext<OraclePartition, OracleOffsetContext> ctx;
try {
ctx = prepare(partition);
} catch (Exception e) {
LOG.error("Failed to initialize snapshot context.", e);
throw new RuntimeException(e);
}
try {
return doExecute(context, previousOffset, ctx, snapshottingTask);
} catch (InterruptedException e) {
LOG.warn("Snapshot was interrupted before completion");
throw e;
} catch (Exception t) {
throw new DebeziumException(t);
} finally {
complete(ctx);
}
}
@Override
protected SnapshotResult<OracleOffsetContext> doExecute(
ChangeEventSourceContext context,
OracleOffsetContext previousOffset,
SnapshotContext snapshotContext,
SnapshottingTask snapshottingTask)
throws Exception {
final OracleSnapshotContext ctx = (OracleSnapshotContext) snapshotContext;
ctx.offset = offsetContext;
View on GitHub (pinned to cf67b549a7)
Solutions
- If the interruption was expected (job cancel/stop), no fix is needed; treat as normal shutdown logging.
- If unexpected, check engine logs for the root cause of cancellation (checkpoint timeout, OOM, failover) before this interrupt.
- Increase checkpoint timeout / adjust task restart strategy so snapshot tasks are not cancelled mid-run.
- Retry the job; snapshot splits are restartable and will resume from offsets.
Defensive patterns
Strategy: try-catch
Try / catch
try {
// run CDC job / snapshot phase
} catch (InterruptedException e) {
Thread.currentThread().interrupt(); // preserve interrupt status
// treat as cancellation: stop cleanly, job restart will resume snapshot
} Prevention
- Avoid cancelling jobs mid-snapshot unless intended
- Configure adequate checkpoint timeout so snapshot tasks are not force-cancelled
- Monitor engine logs for failover/OOM that triggers task interruption
- Keep snapshot splits restartable by persisting offsets
When it happens
Trigger: OracleSnapshotSplitReadTask.execute() calls doExecute() and the snapshot reading thread receives an interrupt — typically job cancellation, checkpoint/task cancellation by the engine, or shutdown while the reader is streaming the snapshot split.
Common situations: User cancels a running CDC job mid-snapshot; the Zeta/Flink engine cancels a task due to checkpoint timeout or restart; cluster shutdown during the initial snapshot phase.
Related errors
- Snapshot was interrupted before completion
- Snapshot was interrupted before completion
- Failed to resolve current SCN
- Failed to resolve snapshot offset
- Snapshot was interrupted before completion
AI-assisted analysis of apache/seatunnel@cf67b549a7 (2026-09-10).
Data as JSON: /api/errors/520703772e02efc6.
Report an issue: GitHub.