You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iceberg.apache.org by dw...@apache.org on 2022/09/28 15:16:10 UTC

[iceberg] branch master updated: Core: Deprecate functions in DeleteWriters (#5771)

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

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


The following commit(s) were added to refs/heads/master by this push:
     new 2e1ec5fde9 Core: Deprecate functions in DeleteWriters (#5771)
2e1ec5fde9 is described below

commit 2e1ec5fde9e6fecfbc0883465a585a1dacb58c05
Author: gaborkaszab <ga...@cloudera.com>
AuthorDate: Wed Sep 28 17:16:03 2022 +0200

    Core: Deprecate functions in DeleteWriters (#5771)
    
    There are some functions marked to be deprecated in 0.14. As we passed
    that release already and getting close to 1.0.0 this might be the time
    to drop them.
    This patch takes care of the functions in EqualityDeleteWriter and
    PositionDeleteWriter classes in the core/ folder.
---
 .../iceberg/deletes/EqualityDeleteWriter.java      | 20 -------------------
 .../iceberg/deletes/PositionDeleteWriter.java      | 23 ----------------------
 .../java/org/apache/iceberg/io/BaseTaskWriter.java |  2 +-
 .../apache/iceberg/io/SortedPosDeleteWriter.java   |  4 +++-
 .../apache/iceberg/avro/TestAvroDeleteWriters.java |  9 ++++++---
 .../java/org/apache/iceberg/data/FileHelpers.java  |  9 ++++++---
 .../org/apache/iceberg/io/TestAppenderFactory.java |  8 +++++---
 .../apache/iceberg/io/TestFileWriterFactory.java   |  5 +++--
 .../org/apache/iceberg/flink/SimpleDataUtil.java   |  6 ++++--
 .../org/apache/iceberg/flink/SimpleDataUtil.java   |  6 ++++--
 .../org/apache/iceberg/flink/SimpleDataUtil.java   |  6 ++++--
 .../apache/iceberg/orc/TestOrcDeleteWriters.java   |  2 +-
 .../iceberg/parquet/TestParquetDeleteWriters.java  |  9 ++++++---
 .../spark/actions/TestRewriteDataFilesAction.java  |  4 +++-
 .../spark/actions/TestRewriteDataFilesAction.java  |  4 +++-
 .../spark/actions/TestRewriteDataFilesAction.java  |  4 +++-
 .../spark/actions/TestRewriteDataFilesAction.java  |  4 +++-
 17 files changed, 55 insertions(+), 70 deletions(-)

diff --git a/core/src/main/java/org/apache/iceberg/deletes/EqualityDeleteWriter.java b/core/src/main/java/org/apache/iceberg/deletes/EqualityDeleteWriter.java
index be889b2993..4ceb399e03 100644
--- a/core/src/main/java/org/apache/iceberg/deletes/EqualityDeleteWriter.java
+++ b/core/src/main/java/org/apache/iceberg/deletes/EqualityDeleteWriter.java
@@ -67,26 +67,6 @@ public class EqualityDeleteWriter<T> implements FileWriter<T, DeleteWriteResult>
     appender.add(row);
   }
 
-  /**
-   * Writes equality deletes.
-   *
-   * @deprecated since 0.13.0, will be removed in 0.14.0; use {@link #write(Iterable)} instead.
-   */
-  @Deprecated
-  public void deleteAll(Iterable<T> rows) {
-    appender.addAll(rows);
-  }
-
-  /**
-   * Writes an equality delete.
-   *
-   * @deprecated since 0.13.0, will be removed in 0.14.0; use {@link #write(Object)} instead.
-   */
-  @Deprecated
-  public void delete(T row) {
-    appender.add(row);
-  }
-
   @Override
   public long length() {
     return appender.length();
diff --git a/core/src/main/java/org/apache/iceberg/deletes/PositionDeleteWriter.java b/core/src/main/java/org/apache/iceberg/deletes/PositionDeleteWriter.java
index a540396537..4aa11fbb16 100644
--- a/core/src/main/java/org/apache/iceberg/deletes/PositionDeleteWriter.java
+++ b/core/src/main/java/org/apache/iceberg/deletes/PositionDeleteWriter.java
@@ -66,29 +66,6 @@ public class PositionDeleteWriter<T> implements FileWriter<PositionDelete<T>, De
     appender.add(positionDelete);
   }
 
-  /**
-   * Writes a position delete.
-   *
-   * @deprecated since 0.13.0, will be removed in 0.14.0; use {@link #write(PositionDelete)}
-   *     instead.
-   */
-  @Deprecated
-  public void delete(CharSequence path, long pos) {
-    delete(path, pos, null);
-  }
-
-  /**
-   * Writes a position delete and persists the deleted row.
-   *
-   * @deprecated since 0.13.0, will be removed in 0.14.0; use {@link #write(PositionDelete)}
-   *     instead.
-   */
-  @Deprecated
-  public void delete(CharSequence path, long pos, T row) {
-    referencedDataFiles.add(path);
-    appender.add(delete.set(path, pos, row));
-  }
-
   @Override
   public long length() {
     return appender.length();
diff --git a/core/src/main/java/org/apache/iceberg/io/BaseTaskWriter.java b/core/src/main/java/org/apache/iceberg/io/BaseTaskWriter.java
index e6ebd9e6d1..bba2c5355a 100644
--- a/core/src/main/java/org/apache/iceberg/io/BaseTaskWriter.java
+++ b/core/src/main/java/org/apache/iceberg/io/BaseTaskWriter.java
@@ -385,7 +385,7 @@ public abstract class BaseTaskWriter<T> implements TaskWriter<T> {
 
     @Override
     void write(EqualityDeleteWriter<T> writer, T record) {
-      writer.delete(record);
+      writer.write(record);
     }
 
     @Override
diff --git a/core/src/main/java/org/apache/iceberg/io/SortedPosDeleteWriter.java b/core/src/main/java/org/apache/iceberg/io/SortedPosDeleteWriter.java
index af425a3534..0834aca369 100644
--- a/core/src/main/java/org/apache/iceberg/io/SortedPosDeleteWriter.java
+++ b/core/src/main/java/org/apache/iceberg/io/SortedPosDeleteWriter.java
@@ -167,7 +167,9 @@ class SortedPosDeleteWriter<T> implements FileWriter<PositionDelete<T>, DeleteWr
         List<PosRow<T>> positions = posDeletes.get(wrapper.set(path));
         positions.sort(Comparator.comparingLong(PosRow::pos));
 
-        positions.forEach(posRow -> closeableWriter.delete(path, posRow.pos(), posRow.row()));
+        PositionDelete<T> posDelete = PositionDelete.create();
+        positions.forEach(
+            posRow -> closeableWriter.write(posDelete.set(path, posRow.pos(), posRow.row())));
       }
     } catch (IOException e) {
       setFailure(e);
diff --git a/core/src/test/java/org/apache/iceberg/avro/TestAvroDeleteWriters.java b/core/src/test/java/org/apache/iceberg/avro/TestAvroDeleteWriters.java
index 160fd2f81c..b991a89f82 100644
--- a/core/src/test/java/org/apache/iceberg/avro/TestAvroDeleteWriters.java
+++ b/core/src/test/java/org/apache/iceberg/avro/TestAvroDeleteWriters.java
@@ -33,6 +33,7 @@ import org.apache.iceberg.data.Record;
 import org.apache.iceberg.data.avro.DataReader;
 import org.apache.iceberg.data.avro.DataWriter;
 import org.apache.iceberg.deletes.EqualityDeleteWriter;
+import org.apache.iceberg.deletes.PositionDelete;
 import org.apache.iceberg.deletes.PositionDeleteWriter;
 import org.apache.iceberg.io.InMemoryOutputFile;
 import org.apache.iceberg.io.OutputFile;
@@ -84,7 +85,7 @@ public class TestAvroDeleteWriters {
             .buildEqualityWriter();
 
     try (EqualityDeleteWriter<Record> writer = deleteWriter) {
-      writer.deleteAll(records);
+      writer.write(records);
     }
 
     DeleteFile metadata = deleteWriter.toDeleteFile();
@@ -129,7 +130,8 @@ public class TestAvroDeleteWriters {
     try (PositionDeleteWriter<Record> writer = deleteWriter) {
       for (int i = 0; i < records.size(); i += 1) {
         int pos = i * 3 + 2;
-        writer.delete(deletePath, pos, records.get(i));
+        PositionDelete<Record> positionDelete = PositionDelete.create();
+        writer.write(positionDelete.set(deletePath, pos, records.get(i)));
         expectedDeleteRecords.add(
             posDelete.copy(
                 ImmutableMap.of(
@@ -180,7 +182,8 @@ public class TestAvroDeleteWriters {
     try (PositionDeleteWriter<Void> writer = deleteWriter) {
       for (int i = 0; i < records.size(); i += 1) {
         int pos = i * 3 + 2;
-        writer.delete(deletePath, pos, null);
+        PositionDelete<Void> positionDelete = PositionDelete.create();
+        writer.write(positionDelete.set(deletePath, pos, null));
         expectedDeleteRecords.add(
             posDelete.copy(ImmutableMap.of("file_path", deletePath, "pos", (long) pos)));
       }
diff --git a/data/src/test/java/org/apache/iceberg/data/FileHelpers.java b/data/src/test/java/org/apache/iceberg/data/FileHelpers.java
index 463349c827..2fade48406 100644
--- a/data/src/test/java/org/apache/iceberg/data/FileHelpers.java
+++ b/data/src/test/java/org/apache/iceberg/data/FileHelpers.java
@@ -34,6 +34,7 @@ import org.apache.iceberg.Schema;
 import org.apache.iceberg.StructLike;
 import org.apache.iceberg.Table;
 import org.apache.iceberg.deletes.EqualityDeleteWriter;
+import org.apache.iceberg.deletes.PositionDelete;
 import org.apache.iceberg.deletes.PositionDeleteWriter;
 import org.apache.iceberg.encryption.EncryptedFiles;
 import org.apache.iceberg.encryption.EncryptedOutputFile;
@@ -59,10 +60,12 @@ public class FileHelpers {
     FileFormat format = defaultFormat(table.properties());
     FileAppenderFactory<Record> factory = new GenericAppenderFactory(table.schema(), table.spec());
 
-    PositionDeleteWriter<?> writer = factory.newPosDeleteWriter(encrypt(out), format, partition);
+    PositionDeleteWriter<Record> writer =
+        factory.newPosDeleteWriter(encrypt(out), format, partition);
     try (Closeable toClose = writer) {
       for (Pair<CharSequence, Long> delete : deletes) {
-        writer.delete(delete.first(), delete.second());
+        PositionDelete<Record> posDelete = PositionDelete.create();
+        writer.write(posDelete.set(delete.first(), delete.second(), null));
       }
     }
 
@@ -92,7 +95,7 @@ public class FileHelpers {
     EqualityDeleteWriter<Record> writer =
         factory.newEqDeleteWriter(encrypt(out), format, partition);
     try (Closeable toClose = writer) {
-      writer.deleteAll(deletes);
+      writer.write(deletes);
     }
 
     return writer.toDeleteFile();
diff --git a/data/src/test/java/org/apache/iceberg/io/TestAppenderFactory.java b/data/src/test/java/org/apache/iceberg/io/TestAppenderFactory.java
index 4e8de087d6..92a7c2ea2f 100644
--- a/data/src/test/java/org/apache/iceberg/io/TestAppenderFactory.java
+++ b/data/src/test/java/org/apache/iceberg/io/TestAppenderFactory.java
@@ -192,7 +192,7 @@ public abstract class TestAppenderFactory<T> extends TableTestBase {
     EqualityDeleteWriter<T> eqDeleteWriter =
         appenderFactory.newEqDeleteWriter(out, format, partition);
     try (EqualityDeleteWriter<T> closeableWriter = eqDeleteWriter) {
-      closeableWriter.deleteAll(deletes);
+      closeableWriter.write(deletes);
     }
 
     // Check that the delete equality file has the expected equality deletes.
@@ -229,7 +229,8 @@ public abstract class TestAppenderFactory<T> extends TableTestBase {
         appenderFactory.newPosDeleteWriter(out, format, partition);
     try (PositionDeleteWriter<T> closeableWriter = eqDeleteWriter) {
       for (Pair<CharSequence, Long> delete : deletes) {
-        closeableWriter.delete(delete.first(), delete.second());
+        PositionDelete<T> posDelete = PositionDelete.create();
+        closeableWriter.write(posDelete.set(delete.first(), delete.second(), null));
       }
     }
 
@@ -276,7 +277,8 @@ public abstract class TestAppenderFactory<T> extends TableTestBase {
         appenderFactory.newPosDeleteWriter(out, format, partition);
     try (PositionDeleteWriter<T> closeableWriter = eqDeleteWriter) {
       for (PositionDelete<T> delete : deletes) {
-        closeableWriter.delete(delete.path(), delete.pos(), delete.row());
+        PositionDelete<T> posDelete = PositionDelete.create();
+        closeableWriter.write(posDelete.set(delete.path(), delete.pos(), delete.row()));
       }
     }
 
diff --git a/data/src/test/java/org/apache/iceberg/io/TestFileWriterFactory.java b/data/src/test/java/org/apache/iceberg/io/TestFileWriterFactory.java
index c15d981999..57faba844b 100644
--- a/data/src/test/java/org/apache/iceberg/io/TestFileWriterFactory.java
+++ b/data/src/test/java/org/apache/iceberg/io/TestFileWriterFactory.java
@@ -330,7 +330,7 @@ public abstract class TestFileWriterFactory<T> extends WriterTestBase<T> {
         writerFactory.newEqualityDeleteWriter(file, spec, partitionKey);
 
     try (EqualityDeleteWriter<T> closableWriter = writer) {
-      closableWriter.deleteAll(deletes);
+      closableWriter.write(deletes);
     }
 
     return writer.toDeleteFile();
@@ -349,7 +349,8 @@ public abstract class TestFileWriterFactory<T> extends WriterTestBase<T> {
 
     try (PositionDeleteWriter<T> closableWriter = writer) {
       for (PositionDelete<T> delete : deletes) {
-        closableWriter.delete(delete.path(), delete.pos(), delete.row());
+        PositionDelete<T> posDelete = PositionDelete.create();
+        closableWriter.write(posDelete.set(delete.path(), delete.pos(), delete.row()));
       }
     }
 
diff --git a/flink/v1.13/flink/src/test/java/org/apache/iceberg/flink/SimpleDataUtil.java b/flink/v1.13/flink/src/test/java/org/apache/iceberg/flink/SimpleDataUtil.java
index 2202e4328c..8a643ac2e0 100644
--- a/flink/v1.13/flink/src/test/java/org/apache/iceberg/flink/SimpleDataUtil.java
+++ b/flink/v1.13/flink/src/test/java/org/apache/iceberg/flink/SimpleDataUtil.java
@@ -48,6 +48,7 @@ import org.apache.iceberg.data.GenericRecord;
 import org.apache.iceberg.data.IcebergGenerics;
 import org.apache.iceberg.data.Record;
 import org.apache.iceberg.deletes.EqualityDeleteWriter;
+import org.apache.iceberg.deletes.PositionDelete;
 import org.apache.iceberg.deletes.PositionDeleteWriter;
 import org.apache.iceberg.encryption.EncryptedOutputFile;
 import org.apache.iceberg.flink.sink.FlinkAppenderFactory;
@@ -163,7 +164,7 @@ public class SimpleDataUtil {
     EqualityDeleteWriter<RowData> eqWriter =
         appenderFactory.newEqDeleteWriter(outputFile, format, null);
     try (EqualityDeleteWriter<RowData> writer = eqWriter) {
-      writer.deleteAll(deletes);
+      writer.write(deletes);
     }
     return eqWriter.toDeleteFile();
   }
@@ -183,7 +184,8 @@ public class SimpleDataUtil {
         appenderFactory.newPosDeleteWriter(outputFile, format, null);
     try (PositionDeleteWriter<RowData> writer = posWriter) {
       for (Pair<CharSequence, Long> p : positions) {
-        writer.delete(p.first(), p.second());
+        PositionDelete<RowData> posDelete = PositionDelete.create();
+        writer.write(posDelete.set(p.first(), p.second(), null));
       }
     }
     return posWriter.toDeleteFile();
diff --git a/flink/v1.14/flink/src/test/java/org/apache/iceberg/flink/SimpleDataUtil.java b/flink/v1.14/flink/src/test/java/org/apache/iceberg/flink/SimpleDataUtil.java
index df7a0e86e1..dcb4ba942d 100644
--- a/flink/v1.14/flink/src/test/java/org/apache/iceberg/flink/SimpleDataUtil.java
+++ b/flink/v1.14/flink/src/test/java/org/apache/iceberg/flink/SimpleDataUtil.java
@@ -49,6 +49,7 @@ import org.apache.iceberg.data.GenericRecord;
 import org.apache.iceberg.data.IcebergGenerics;
 import org.apache.iceberg.data.Record;
 import org.apache.iceberg.deletes.EqualityDeleteWriter;
+import org.apache.iceberg.deletes.PositionDelete;
 import org.apache.iceberg.deletes.PositionDeleteWriter;
 import org.apache.iceberg.encryption.EncryptedOutputFile;
 import org.apache.iceberg.flink.sink.FlinkAppenderFactory;
@@ -164,7 +165,7 @@ public class SimpleDataUtil {
     EqualityDeleteWriter<RowData> eqWriter =
         appenderFactory.newEqDeleteWriter(outputFile, format, null);
     try (EqualityDeleteWriter<RowData> writer = eqWriter) {
-      writer.deleteAll(deletes);
+      writer.write(deletes);
     }
     return eqWriter.toDeleteFile();
   }
@@ -184,7 +185,8 @@ public class SimpleDataUtil {
         appenderFactory.newPosDeleteWriter(outputFile, format, null);
     try (PositionDeleteWriter<RowData> writer = posWriter) {
       for (Pair<CharSequence, Long> p : positions) {
-        writer.delete(p.first(), p.second());
+        PositionDelete<RowData> posDelete = PositionDelete.create();
+        writer.write(posDelete.set(p.first(), p.second(), null));
       }
     }
     return posWriter.toDeleteFile();
diff --git a/flink/v1.15/flink/src/test/java/org/apache/iceberg/flink/SimpleDataUtil.java b/flink/v1.15/flink/src/test/java/org/apache/iceberg/flink/SimpleDataUtil.java
index 6cca74970c..aa739fac09 100644
--- a/flink/v1.15/flink/src/test/java/org/apache/iceberg/flink/SimpleDataUtil.java
+++ b/flink/v1.15/flink/src/test/java/org/apache/iceberg/flink/SimpleDataUtil.java
@@ -49,6 +49,7 @@ import org.apache.iceberg.data.GenericRecord;
 import org.apache.iceberg.data.IcebergGenerics;
 import org.apache.iceberg.data.Record;
 import org.apache.iceberg.deletes.EqualityDeleteWriter;
+import org.apache.iceberg.deletes.PositionDelete;
 import org.apache.iceberg.deletes.PositionDeleteWriter;
 import org.apache.iceberg.encryption.EncryptedOutputFile;
 import org.apache.iceberg.flink.sink.FlinkAppenderFactory;
@@ -165,7 +166,7 @@ public class SimpleDataUtil {
     EqualityDeleteWriter<RowData> eqWriter =
         appenderFactory.newEqDeleteWriter(outputFile, format, null);
     try (EqualityDeleteWriter<RowData> writer = eqWriter) {
-      writer.deleteAll(deletes);
+      writer.write(deletes);
     }
     return eqWriter.toDeleteFile();
   }
@@ -186,7 +187,8 @@ public class SimpleDataUtil {
         appenderFactory.newPosDeleteWriter(outputFile, format, null);
     try (PositionDeleteWriter<RowData> writer = posWriter) {
       for (Pair<CharSequence, Long> p : positions) {
-        writer.delete(p.first(), p.second());
+        PositionDelete<RowData> posDelete = PositionDelete.create();
+        writer.write(posDelete.set(p.first(), p.second(), null));
       }
     }
     return posWriter.toDeleteFile();
diff --git a/orc/src/test/java/org/apache/iceberg/orc/TestOrcDeleteWriters.java b/orc/src/test/java/org/apache/iceberg/orc/TestOrcDeleteWriters.java
index bbce6f7234..0ea6a8b543 100644
--- a/orc/src/test/java/org/apache/iceberg/orc/TestOrcDeleteWriters.java
+++ b/orc/src/test/java/org/apache/iceberg/orc/TestOrcDeleteWriters.java
@@ -86,7 +86,7 @@ public class TestOrcDeleteWriters {
             .buildEqualityWriter();
 
     try (EqualityDeleteWriter<Record> writer = deleteWriter) {
-      writer.deleteAll(records);
+      writer.write(records);
     }
 
     DeleteFile metadata = deleteWriter.toDeleteFile();
diff --git a/parquet/src/test/java/org/apache/iceberg/parquet/TestParquetDeleteWriters.java b/parquet/src/test/java/org/apache/iceberg/parquet/TestParquetDeleteWriters.java
index df10f7fac0..1696d417e6 100644
--- a/parquet/src/test/java/org/apache/iceberg/parquet/TestParquetDeleteWriters.java
+++ b/parquet/src/test/java/org/apache/iceberg/parquet/TestParquetDeleteWriters.java
@@ -33,6 +33,7 @@ import org.apache.iceberg.data.Record;
 import org.apache.iceberg.data.parquet.GenericParquetReaders;
 import org.apache.iceberg.data.parquet.GenericParquetWriter;
 import org.apache.iceberg.deletes.EqualityDeleteWriter;
+import org.apache.iceberg.deletes.PositionDelete;
 import org.apache.iceberg.deletes.PositionDeleteWriter;
 import org.apache.iceberg.io.CloseableIterable;
 import org.apache.iceberg.io.OutputFile;
@@ -86,7 +87,7 @@ public class TestParquetDeleteWriters {
             .buildEqualityWriter();
 
     try (EqualityDeleteWriter<Record> writer = deleteWriter) {
-      writer.deleteAll(records);
+      writer.write(records);
     }
 
     DeleteFile metadata = deleteWriter.toDeleteFile();
@@ -136,7 +137,8 @@ public class TestParquetDeleteWriters {
     try (PositionDeleteWriter<Record> writer = deleteWriter) {
       for (int i = 0; i < records.size(); i += 1) {
         int pos = i * 3 + 2;
-        writer.delete(deletePath, pos, records.get(i));
+        PositionDelete<Record> positionDelete = PositionDelete.create();
+        writer.write(positionDelete.set(deletePath, pos, records.get(i)));
         expectedDeleteRecords.add(
             posDelete.copy(
                 ImmutableMap.of(
@@ -192,7 +194,8 @@ public class TestParquetDeleteWriters {
     try (PositionDeleteWriter<Void> writer = deleteWriter) {
       for (int i = 0; i < records.size(); i += 1) {
         int pos = i * 3 + 2;
-        writer.delete(deletePath, pos, null);
+        PositionDelete<Void> positionDelete = PositionDelete.create();
+        writer.write(positionDelete.set(deletePath, pos, null));
         expectedDeleteRecords.add(
             posDelete.copy(ImmutableMap.of("file_path", deletePath, "pos", (long) pos)));
       }
diff --git a/spark/v3.0/spark/src/test/java/org/apache/iceberg/spark/actions/TestRewriteDataFilesAction.java b/spark/v3.0/spark/src/test/java/org/apache/iceberg/spark/actions/TestRewriteDataFilesAction.java
index 3bc0709371..6d62fd2239 100644
--- a/spark/v3.0/spark/src/test/java/org/apache/iceberg/spark/actions/TestRewriteDataFilesAction.java
+++ b/spark/v3.0/spark/src/test/java/org/apache/iceberg/spark/actions/TestRewriteDataFilesAction.java
@@ -66,6 +66,7 @@ import org.apache.iceberg.actions.RewriteFileGroup;
 import org.apache.iceberg.actions.SortStrategy;
 import org.apache.iceberg.data.GenericAppenderFactory;
 import org.apache.iceberg.data.Record;
+import org.apache.iceberg.deletes.PositionDelete;
 import org.apache.iceberg.deletes.PositionDeleteWriter;
 import org.apache.iceberg.encryption.EncryptedFiles;
 import org.apache.iceberg.encryption.EncryptedOutputFile;
@@ -1449,7 +1450,8 @@ public class TestRewriteDataFilesAction extends SparkTestBase {
               .set(TableProperties.DEFAULT_WRITE_METRICS_MODE, "full")
               .newPosDeleteWriter(encryptedOutputFile, FileFormat.PARQUET, partition);
 
-      posDeleteWriter.delete(path, rowPosition);
+      PositionDelete<Record> posDelete = PositionDelete.create();
+      posDeleteWriter.write(posDelete.set(path, rowPosition, null));
       try {
         posDeleteWriter.close();
       } catch (IOException e) {
diff --git a/spark/v3.1/spark/src/test/java/org/apache/iceberg/spark/actions/TestRewriteDataFilesAction.java b/spark/v3.1/spark/src/test/java/org/apache/iceberg/spark/actions/TestRewriteDataFilesAction.java
index 3bc0709371..6d62fd2239 100644
--- a/spark/v3.1/spark/src/test/java/org/apache/iceberg/spark/actions/TestRewriteDataFilesAction.java
+++ b/spark/v3.1/spark/src/test/java/org/apache/iceberg/spark/actions/TestRewriteDataFilesAction.java
@@ -66,6 +66,7 @@ import org.apache.iceberg.actions.RewriteFileGroup;
 import org.apache.iceberg.actions.SortStrategy;
 import org.apache.iceberg.data.GenericAppenderFactory;
 import org.apache.iceberg.data.Record;
+import org.apache.iceberg.deletes.PositionDelete;
 import org.apache.iceberg.deletes.PositionDeleteWriter;
 import org.apache.iceberg.encryption.EncryptedFiles;
 import org.apache.iceberg.encryption.EncryptedOutputFile;
@@ -1449,7 +1450,8 @@ public class TestRewriteDataFilesAction extends SparkTestBase {
               .set(TableProperties.DEFAULT_WRITE_METRICS_MODE, "full")
               .newPosDeleteWriter(encryptedOutputFile, FileFormat.PARQUET, partition);
 
-      posDeleteWriter.delete(path, rowPosition);
+      PositionDelete<Record> posDelete = PositionDelete.create();
+      posDeleteWriter.write(posDelete.set(path, rowPosition, null));
       try {
         posDeleteWriter.close();
       } catch (IOException e) {
diff --git a/spark/v3.2/spark/src/test/java/org/apache/iceberg/spark/actions/TestRewriteDataFilesAction.java b/spark/v3.2/spark/src/test/java/org/apache/iceberg/spark/actions/TestRewriteDataFilesAction.java
index ec8721709d..ebe02bb98d 100644
--- a/spark/v3.2/spark/src/test/java/org/apache/iceberg/spark/actions/TestRewriteDataFilesAction.java
+++ b/spark/v3.2/spark/src/test/java/org/apache/iceberg/spark/actions/TestRewriteDataFilesAction.java
@@ -69,6 +69,7 @@ import org.apache.iceberg.actions.RewriteFileGroup;
 import org.apache.iceberg.actions.SortStrategy;
 import org.apache.iceberg.data.GenericAppenderFactory;
 import org.apache.iceberg.data.Record;
+import org.apache.iceberg.deletes.PositionDelete;
 import org.apache.iceberg.deletes.PositionDeleteWriter;
 import org.apache.iceberg.encryption.EncryptedFiles;
 import org.apache.iceberg.encryption.EncryptedOutputFile;
@@ -1598,7 +1599,8 @@ public class TestRewriteDataFilesAction extends SparkTestBase {
               .set(TableProperties.DEFAULT_WRITE_METRICS_MODE, "full")
               .newPosDeleteWriter(encryptedOutputFile, FileFormat.PARQUET, partition);
 
-      posDeleteWriter.delete(path, rowPosition);
+      PositionDelete<Record> posDelete = PositionDelete.create();
+      posDeleteWriter.write(posDelete.set(path, rowPosition, null));
       try {
         posDeleteWriter.close();
       } catch (IOException e) {
diff --git a/spark/v3.3/spark/src/test/java/org/apache/iceberg/spark/actions/TestRewriteDataFilesAction.java b/spark/v3.3/spark/src/test/java/org/apache/iceberg/spark/actions/TestRewriteDataFilesAction.java
index ec8721709d..ebe02bb98d 100644
--- a/spark/v3.3/spark/src/test/java/org/apache/iceberg/spark/actions/TestRewriteDataFilesAction.java
+++ b/spark/v3.3/spark/src/test/java/org/apache/iceberg/spark/actions/TestRewriteDataFilesAction.java
@@ -69,6 +69,7 @@ import org.apache.iceberg.actions.RewriteFileGroup;
 import org.apache.iceberg.actions.SortStrategy;
 import org.apache.iceberg.data.GenericAppenderFactory;
 import org.apache.iceberg.data.Record;
+import org.apache.iceberg.deletes.PositionDelete;
 import org.apache.iceberg.deletes.PositionDeleteWriter;
 import org.apache.iceberg.encryption.EncryptedFiles;
 import org.apache.iceberg.encryption.EncryptedOutputFile;
@@ -1598,7 +1599,8 @@ public class TestRewriteDataFilesAction extends SparkTestBase {
               .set(TableProperties.DEFAULT_WRITE_METRICS_MODE, "full")
               .newPosDeleteWriter(encryptedOutputFile, FileFormat.PARQUET, partition);
 
-      posDeleteWriter.delete(path, rowPosition);
+      PositionDelete<Record> posDelete = PositionDelete.create();
+      posDeleteWriter.write(posDelete.set(path, rowPosition, null));
       try {
         posDeleteWriter.close();
       } catch (IOException e) {