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

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


The following commit(s) were added to refs/heads/master by this push:
     new bf4659612 [INLONG-7470][Sort] Fix Iceberg's data were duplicated when 
delete records in upsert mode (#7472)
bf4659612 is described below

commit bf46596123a3f1dcd7d8e3c80b87aa556f50a5ba
Author: ganfengtan <ganfeng...@users.noreply.github.com>
AuthorDate: Wed Mar 1 16:18:17 2023 +0800

    [INLONG-7470][Sort] Fix Iceberg's data were duplicated when delete records 
in upsert mode (#7472)
---
 .../org/apache/inlong/sort/iceberg/sink/BaseDeltaTaskWriter.java    | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git 
a/inlong-sort/sort-connectors/iceberg/src/main/java/org/apache/inlong/sort/iceberg/sink/BaseDeltaTaskWriter.java
 
b/inlong-sort/sort-connectors/iceberg/src/main/java/org/apache/inlong/sort/iceberg/sink/BaseDeltaTaskWriter.java
index 5516d650d..6b5fcb835 100644
--- 
a/inlong-sort/sort-connectors/iceberg/src/main/java/org/apache/inlong/sort/iceberg/sink/BaseDeltaTaskWriter.java
+++ 
b/inlong-sort/sort-connectors/iceberg/src/main/java/org/apache/inlong/sort/iceberg/sink/BaseDeltaTaskWriter.java
@@ -94,7 +94,11 @@ abstract class BaseDeltaTaskWriter extends 
BaseTaskWriter<RowData> {
                 writer.delete(row);
                 break;
             case DELETE:
-                writer.delete(row);
+                if (upsert) { // 
https://github.com/apache/iceberg/pull/6753/files
+                    writer.deleteKey(keyProjection.wrap(row));
+                } else {
+                    writer.delete(row);
+                }
                 break;
 
             default:

Reply via email to