XiaoHongbo-Hope opened a new pull request, #9688: URL: https://github.com/apache/paimon/pull/9688
### Purpose Fix a PyPaimon correctness issue in conflict detection during commit retries. A failed commit attempt caches the base manifest entries and normally merges only later delta entries. However, an OVERWRITE may replace the base manifest list while publishing an empty delta manifest list, as row-id reassignment does. Reusing the cached base then hides the replacement and can allow stale row-id update files to commit. Return None from the incremental scan when the retry interval contains an OVERWRITE, so the existing caller performs a full scan. This matches the Java conflict detection behavior. ### Tests Added a regression that forces a CAS failure, commits an OVERWRITE whose replacement is hidden from the delta scan, and verifies the retry detects the file deletion conflict. Before the fix, the regression committed with a stale conflict base and failed by showing different file identifiers from a fresh full scan. After the fix it passes. Validated: - overwrite_commit_conflict_test: 5 passed - file_store_commit_test, partition_predicate_test, and conflict_detection_test: 88 passed - flake8, py_compile, and git diff --check passed -- 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]
