{"record":{"id":"48eac76e608c6713","repo":"apache/flink","slug":"checkpoint-d-has-not-been-snapshot-the-watermar","errorCode":null,"errorMessage":"Checkpoint(%d) has not been snapshot. The watermark information is: %s.","messagePattern":"Checkpoint\\((.+?)\\) has not been snapshot\\. The watermark information is: (.+?)\\.","errorType":"exception","errorClass":"IllegalArgumentException","httpStatus":null,"severity":"error","filePath":"flink-connectors/flink-connector-files/src/main/java/org/apache/flink/connector/file/table/stream/PartitionTimeCommitTrigger.java","lineNumber":98,"sourceCode":"\n        this.watermarksState = stateStore.getListState(WATERMARKS_STATE_DESC);\n        this.watermarks = new TreeMap<>();\n        if (isRestored) {\n            watermarks.putAll(watermarksState.get().iterator().next());\n        }\n    }\n\n    @Override\n    public void addPartition(String partition) {\n        if (!StringUtils.isNullOrWhitespaceOnly(partition)) {\n            this.pendingPartitions.add(partition);\n        }\n    }\n\n    @Override\n    public List<String> committablePartitions(long checkpointId) {\n        if (!watermarks.containsKey(checkpointId)) {\n            throw new IllegalArgumentException(\n                    String.format(\n                            \"Checkpoint(%d) has not been snapshot. The watermark information is: %s.\",\n                            checkpointId, watermarks));\n        }\n\n        long watermark = watermarks.get(checkpointId);\n        watermarks.headMap(checkpointId, true).clear();\n\n        List<String> needCommit = new ArrayList<>();\n        Iterator<String> iter = pendingPartitions.iterator();\n        while (iter.hasNext()) {\n            String partition = iter.next();\n            PredicateContext predicateContext = createPredicateContext(partition, watermark);\n            if (partitionCommitPredicate.isPartitionCommittable(predicateContext)) {\n                needCommit.add(partition);\n                iter.remove();\n            }\n        }","sourceCodeStart":80,"sourceCodeEnd":116,"githubUrl":"https://github.com/apache/flink/blob/2f3c205e9266cb30240eb7f4fdab15cad629a70f/flink-connectors/flink-connector-files/src/main/java/org/apache/flink/connector/file/table/stream/PartitionTimeCommitTrigger.java#L80-L116","documentation":"Error \"Checkpoint(%d) has not been snapshot. The watermark information is: %s.\" thrown in apache/flink.","triggerScenarios":"Triggered at runtime when the operation fails because: Checkpoint(the reported value) has not been snapshot. The watermark information is: the reported value.","commonSituations":"Commonly caused by misconfiguration, missing dependencies or files, unsupported types or operations, or invalid user input leading to: Checkpoint(the reported value) has not been snapshot. The watermark information is: the reported value.","solutions":["Address the cause reported by the error message: Checkpoint(the reported value) has not been snapshot. The watermark information is: the reported value.","Verify the inputs, configuration values, and classpath/dependency setup related to this operation, then retry."],"exampleFix":"Correct the condition described (\"Checkpoint(the reported value) has not been snapshot. The watermark information is: the reported value.\") and rerun the job or command.","handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"2f3c205e9266cb30240eb7f4fdab15cad629a70f","analyzedAt":"2026-08-14T08:48:24.518Z","schemaVersion":2},"datasetVersion":"2026-08-14T10:17:34.591Z"}