diff --git a/paimon-core/src/test/java/org/apache/paimon/utils/SnapshotManagerTest.java b/paimon-core/src/test/java/org/apache/paimon/utils/SnapshotManagerTest.java index 26480cf411bb..e828a0c90a9d 100644 --- a/paimon-core/src/test/java/org/apache/paimon/utils/SnapshotManagerTest.java +++ b/paimon-core/src/test/java/org/apache/paimon/utils/SnapshotManagerTest.java @@ -39,6 +39,7 @@ import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.fail; +import static org.junit.jupiter.api.Assertions.assertDoesNotThrow; /** Tests for {@link SnapshotManager}. */ public class SnapshotManagerTest { @@ -398,4 +399,15 @@ public void testLongLivedChangelog() throws Exception { Assertions.assertThat(snapshotManager.latestSnapshotId()).isEqualTo(10); Assertions.assertThat(snapshotManager.changelog(1)).isNotNull(); } + + @Test + public void testCommitChangelogWhenSameChangelogCommitTwice() throws IOException { + FileIO localFileIO = LocalFileIO.create(); + SnapshotManager snapshotManager = + new SnapshotManager(localFileIO, new Path(tempDir.toString())); + long id = 1L; + Changelog changelog = createChangelogWithMillis(id, 1L); + snapshotManager.commitChangelog(changelog, id); + assertDoesNotThrow(() -> snapshotManager.commitChangelog(changelog, id)); + } }