This is an automated email from the ASF dual-hosted git repository.

yuzelin pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/paimon.git


The following commit(s) were added to refs/heads/master by this push:
     new e1f8281865 [core] Fix performance issue in 
FileStoreCommitImpl#filterCommitted (#7275)
e1f8281865 is described below

commit e1f82818659175aedabd689e41e29cb90f851e9d
Author: tsreaper <[email protected]>
AuthorDate: Thu Feb 12 16:57:29 2026 +0800

    [core] Fix performance issue in FileStoreCommitImpl#filterCommitted (#7275)
---
 .../paimon/operation/FileStoreCommitImpl.java       | 21 ++++++++++++---------
 1 file changed, 12 insertions(+), 9 deletions(-)

diff --git 
a/paimon-core/src/main/java/org/apache/paimon/operation/FileStoreCommitImpl.java
 
b/paimon-core/src/main/java/org/apache/paimon/operation/FileStoreCommitImpl.java
index acca626205..9da657522e 100644
--- 
a/paimon-core/src/main/java/org/apache/paimon/operation/FileStoreCommitImpl.java
+++ 
b/paimon-core/src/main/java/org/apache/paimon/operation/FileStoreCommitImpl.java
@@ -255,15 +255,18 @@ public class FileStoreCommitImpl implements 
FileStoreCommit {
                     "Committables must be sorted according to identifiers 
before filtering. This is unexpected.");
         }
 
-        Optional<Snapshot> latestSnapshot =
-                options.commitStrictModeLastSafeSnapshot()
-                        .map(
-                                id ->
-                                        snapshotManager.latestSnapshotOfUser(
-                                                commitUser,
-                                                
snapshotManager.latestSnapshotId(),
-                                                id + 1))
-                        
.orElse(snapshotManager.latestSnapshotOfUser(commitUser));
+        Optional<Long> optionalStrictSnapshot = 
options.commitStrictModeLastSafeSnapshot();
+        Optional<Snapshot> latestSnapshot;
+        if (optionalStrictSnapshot.isPresent()) {
+            latestSnapshot =
+                    snapshotManager.latestSnapshotOfUser(
+                            commitUser,
+                            snapshotManager.latestSnapshotId(),
+                            optionalStrictSnapshot.get() + 1);
+        } else {
+            latestSnapshot = snapshotManager.latestSnapshotOfUser(commitUser);
+        }
+
         if (latestSnapshot.isPresent()) {
             List<ManifestCommittable> result = new ArrayList<>();
             for (ManifestCommittable committable : committables) {

Reply via email to