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

   ### Purpose
   
   When a data-evolution compaction finishes and a concurrent commit reassigns 
row IDs before its commit, otherwise reusable physical outputs can be rejected 
by conflict checks. Reuse those completed normal/BLOB and global-index 
compaction outputs by translating their metadata through verified, persisted 
reassignment plans.
   
   For eligible `COMPACT` commits with `commit.last-safe-snapshot`, apply 
subsequent reassignment plans to both ADD and DELETE entries, accepting only 
complete, contiguous, length-preserving range mappings. Preserve physical file 
names and contents, carry the translated changes across commit retries, and 
resolve uncertain successful commits before checking inputs that the completed 
commit already removed.
   
   Strict-mode checks skip only reassignment snapshots whose plans have been 
validated and applied. Ordinary overwrite/input-replacement conflicts still 
fail. Physical `_ROW_ID` and materialized-deletion paths retain their existing 
behavior; missing history or missing/corrupt plans reject reuse. Compaction 
tasks, task serializers, and persisted data/index formats are unchanged.
   
   Replaces #10150 using the `leaves12138:reassign_compact` branch.
   
   ### Tests
   
   - `CompactReassignReuseTest` covers normal/BLOB and BTree metadata 
translation, repeated reassignments, commit retries, lost successful commit 
responses, ordinary conflicts, missing/corrupt plans, legacy-option fallback, 
expired boundary snapshots, and unsafe mappings.
   - Before the master update, #10150 reported 295 passing targeted tests and 
passing Checkstyle/Spotless validation.
   - On the current head, `git diff --check` passed. `git range-diff` confirms 
the feature and test changes are preserved; the only patch-context adjustment 
retains the imports required by the updated master.
   - Runtime tests have not been rerun after updating the master base.
   


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