pvary commented on code in PR #14581:
URL: https://github.com/apache/iceberg/pull/14581#discussion_r2527475846


##########
core/src/main/java/org/apache/iceberg/BaseRowDelta.java:
##########
@@ -48,6 +48,10 @@ protected BaseRowDelta self() {
 
   @Override
   protected String operation() {
+    if (addsDataFiles() && !addsDeleteFiles() && !deletesDataFiles()) {

Review Comment:
   For V2 tables, the condition above works correctly for deletes. However, for 
V3 tables, if there are already deletes for a data file (i.e., an existing DV), 
we always remove the old DV and add a new one. This means the condition above 
is never triggered. On the other hand, we typically don’t re-add rows, so the 
DELETE operation remains the correct outcome.
   
   My main concern with changing this behavior is that it could be unexpected 
for users. That’s why I’d prefer to separate the two cases.
   
   In the meantime, if you have some time, could you please test my theory? 
(Totally understand if you’re busy—I’m just hopeful 😄)



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to