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]
