zhuxiangyi commented on PR #10098:
URL: https://github.com/apache/paimon/pull/10098#issuecomment-5969187941

   @JingsongLi 
   
   Thanks for the detailed probes. Both issues reproduced as described and are 
fixed on `de-enable-data-evolution` (now `4ef4e2028`, merged with the latest 
master).
   
   1. **Rollback across the DE boundary** (`ca833162c`): 
`rollbackTo(snapshot/tag)` and `rollbackToAsLatest` now also refuse a target 
from before data evolution was enabled, not only one from before row tracking 
was enabled. Regression tests cover the snapshot, tag and as-latest paths (the 
as-latest one after a real DE compaction) on a row-tracking-only source table.
   
   2. **Restored compaction output** (`ca833162c`): a data-evolution commit now 
refuses, before anything is published, any added file that would be left 
without row ids, so a pre-conversion `COMPACT` output restored by a freshly 
loaded committer is rejected. The regression test serializes a real 
`AppendCompactTask` message and restores it through 
`filterAndCommitMultiple(..., true)`; rows and row ids stay intact.
   
   While verifying I also fixed three related issues:
   - Restored pre-conversion APPEND files are now stamped with the commit's 
snapshot id, so they no longer hide later column updates.
   - Rollback to the conversion's fence snapshot is refused if it still holds 
files that were not repaired yet.
   - Conversion is refused for tables whose files physically store `_ROW_ID` 
(left by a copy-on-write UPDATE/DELETE/MERGE INTO).
   
   Flink and Spark procedure tests and the relevant core suites pass.


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