leaves12138 opened a new pull request, #8506: URL: https://github.com/apache/paimon/pull/8506
### Purpose `DataEvolutionRowIdReassigner` can lose a commit race when a normal append commits a newer snapshot between planning and `replaceManifestList`. Previously the next reassignment invocation had to start the manifest read work from scratch. ### Changes - Retry `replaceManifestList` conflicts up to three times in the same reassignment call. - Reuse already deserialized data manifest and index manifest entries across retry attempts. - Recompute assignment from the latest snapshot and latest `nextRowId` on every retry to avoid row-id range overlap with concurrent appends. - Add a deterministic conflict test that appends before the first reassign commit and verifies the retry uses the latest `nextRowId`. ### Tests - `mvn -pl paimon-core spotless:apply` - `mvn -pl paimon-core -am -Pfast-build -DfailIfNoTests=false -DwildcardSuites=none -Dtest=DataEvolutionRowIdReassignerTest#testReassignRetriesWithLatestNextRowIdAfterConcurrentAppend test` - `mvn -pl paimon-core -am -DfailIfNoTests=false -DwildcardSuites=none -Dtest=DataEvolutionRowIdReassignerTest test` - `git diff --check` -- 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]
