test(concurrency): add tests for write conflicts with different conflict resolution strategies #17501
+105
−0
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Describe the issue this Pull Request addresses
This PR adds comprehensive test coverage for write conflict scenarios in optimistic concurrency control mode. Previously, there were no tests validating the behavior of different conflict resolution strategies when parallel operations conflict with each other.
Summary and Changelog
Added parameterized tests to validate write conflict handling with different conflict resolution strategies.
Changes:
conflictResolutionStrategyParams()method source providingPreferWriterConflictResolutionStrategyandSimpleConcurrentFileWritesConflictResolutionStrategyas test parameterstestParallelInsertOverwriteOperationsparameterized test that validates:HoodieWriteConflictExceptionwhen trying to commit after the first one completestestParallelClusteringAndUpdateOperationparameterized test that validates:PreferWriterConflictResolutionStrategy: update succeeds, clustering fails withHoodieWriteConflictExceptionSimpleConcurrentFileWritesConflictResolutionStrategy: update itself fails withHoodieWriteConflictExceptionImpact
No user-facing changes. This is a test-only addition that improves coverage for optimistic concurrency control and conflict resolution strategies, ensuring write conflicts are properly detected and handled.
Risk Level
none - Test-only change with no impact on production code.
Documentation Update
none
Contributor's checklist