sandyfog opened a new pull request, #6844:
URL: https://github.com/apache/paimon/pull/6844

   <!-- Please specify the module before the PR name: [core] ... or [flink] ... 
-->
   
   ### Purpose
   In streaming pipelines, a common Flink SQL pattern is to filter rows before 
they reach the Paimon sink:
   
   ```
   INSERT INTO paimon_table
   SELECT * FROM upstream WHERE delete = 0;
   ```
   
   When a row flips from delete = 0 to delete = 1, Flink first emits an 
UPDATE_BEFORE (-U) for the previously qualified row.
   The succeeding **UPDATE_AFTER** (+U) is dropped by the filter, so only the 
-U record arrives at Paimon.
   The current PartialUpdateMergeFunction does not treat this lone -U as a 
deletion.
   Consequently, the stale row remains in the table, breaking correctness.
   
   <!-- Linking this pull request to the issue -->
   Linked issue: close #xxx
   
   <!-- What is the purpose of the change -->
   
   ### Tests
   
   <!-- List UT and IT cases to verify this change -->
   
   ### API and Format
   
   <!-- Does this change affect API or storage format -->
   
   ### Documentation
   
   <!-- Does this change introduce a new feature -->
   


-- 
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]

Reply via email to