diff --git a/data/src/main/java/org/apache/iceberg/data/DeleteFilter.java b/data/src/main/java/org/apache/iceberg/data/DeleteFilter.java index 3bb44a1e4e0f..561dd287a8f2 100644 --- a/data/src/main/java/org/apache/iceberg/data/DeleteFilter.java +++ b/data/src/main/java/org/apache/iceberg/data/DeleteFilter.java @@ -70,6 +70,7 @@ public abstract class DeleteFilter { private final int isDeletedColumnPosition; private PositionDeleteIndex deleteRowPositions = null; + private List> isInDeleteSets = null; private Predicate eqDeleteRows = null; protected DeleteFilter(String filePath, List deletes, Schema tableSchema, Schema requestedSchema) { @@ -132,7 +133,11 @@ public CloseableIterable filter(CloseableIterable records) { } private List> applyEqDeletes() { - List> isInDeleteSets = Lists.newArrayList(); + if (isInDeleteSets != null) { + return isInDeleteSets; + } + + isInDeleteSets = Lists.newArrayList(); if (eqDeletes.isEmpty()) { return isInDeleteSets; }