apache/seatunnel · warning
checkpoint {} do not exist or have already been committed.
Error message
checkpoint {} do not exist or have already been committed. What it means
SlsSourceReader.notifyCheckpointComplete checks its checkpointOffsetMap for the completed checkpointId; if absent it logs this warning and does nothing. It means a checkpoint-complete notification arrived for a checkpoint that was never recorded, already committed/removed, or discarded on failure/restore. It is benign by design — a guard against double-committing offsets to SLS.
Source
Thrown at seatunnel-connectors-v2/connector-sls/src/main/java/org/apache/seatunnel/connectors/seatunnel/sls/source/SlsSourceReader.java:188
splits.forEach(
s -> {
try {
pendingShardsQueue.put(s);
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
});
}
@Override
public void handleNoMoreSplits() {
log.info("receive no more splits message, this reader will not add new split.");
}
@Override
public void notifyCheckpointComplete(long checkpointId) throws Exception {
if (!checkpointOffsetMap.containsKey(checkpointId)) {
log.warn("checkpoint {} do not exist or have already been committed.", checkpointId);
} else {
checkpointOffsetMap
.remove(checkpointId)
.forEach(
(sharId, slsSourceSplit) -> {
try {
consumerThreadMap
.get(sharId)
.getTasks()
.put(
client -> {
// now only default onCheckpointCommit
try {
client.UpdateCheckPoint(
slsSourceSplit.getProject(),
slsSourceSplit.getLogStore(),
slsSourceSplit.getConsumer(),
slsSourceSplit.getShardId(),View on GitHub (pinned to cf67b549a7)
Solutions
- Treat the warning as informational; offsets are not committed twice
- If warnings are persistent, verify checkpointing is enabled and stable (no constantly failing checkpoints)
- Ensure the job is not being restarted/restored frequently, which orphans stale checkpoint ids
Defensive patterns
Strategy: validation
Validate before calling
// before relying on commit callbacks, check checkpointing config
if (!env.isCheckpointingEnabled()) {
throw new IllegalStateException("Checkpointing must be enabled for SLS source offset commits");
} Prevention
- Enable and stabilize checkpointing with an adequate interval
- Avoid frequent job restarts/restores that orphan checkpoint ids
- Treat this warning as informational, not an error
- Monitor checkpoint failure metrics to catch aborted checkpoints early
When it happens
Trigger: notifyCheckpointComplete(checkpointId) called when checkpointOffsetMap does not contain that id — e.g. duplicate notification, notification after restore, or the checkpoint failed and its entry was removed.
Common situations: Job restored from an older checkpoint state; a checkpoint that was started failed and was aborted; delayed duplicate callbacks from the engine; race between notifyCheckpointComplete and notifyCheckpointAborted.
Understand the failure class
Background: Record Not Found Errors: "not found", RecordNotFound, and "was not found" — what they mean and how to fix them — this error's family across 28 libraries.
Related errors
- Single file mode is not supported when checkpoint is enabled
- Single file mode is not supported when checkpoint is enabled
- '%s' source don't support off-line job.
- CONFIGURATION_FAILED
- ACKNOWLEDGE_FAILED
AI-assisted analysis of apache/seatunnel@cf67b549a7 (2026-09-10).
Data as JSON: /api/errors/84ae38afbc5f0094.
Report an issue: GitHub.