Skip to content

Commit 6bccc52

Browse files
Dedupe pos/equality deletes to preserve previous behavior, prevent any duplicates in metadata
1 parent e75bb03 commit 6bccc52

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

core/src/main/java/org/apache/iceberg/MergingSnapshotProducer.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1081,9 +1081,11 @@ private List<ManifestFile> newDeleteFilesAsManifests() {
10811081
tableName,
10821082
ops().current().specsById(),
10831083
ThreadPools.getDeleteWorkerPool());
1084-
1084+
// Prevent commiting duplicate V2 deletes by deduping them
10851085
Map<Integer, List<DeleteFile>> newDeleteFilesBySpec =
1086-
Streams.stream(Iterables.concat(mergedDVs, validDVs, positionAndEqualityDeletes))
1086+
Streams.stream(
1087+
Iterables.concat(
1088+
mergedDVs, validDVs, DeleteFileSet.of(positionAndEqualityDeletes)))
10871089
.map(file -> Delegates.pendingDeleteFile(file, file.dataSequenceNumber()))
10881090
.collect(Collectors.groupingBy(ContentFile::specId));
10891091
newDeleteFilesBySpec.forEach(

0 commit comments

Comments
 (0)