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]
