Bill opened a new pull request, #7785: URL: https://github.com/apache/geode/pull/7785
In a cluster configured for P2P-only (no clients possible—no CacheServer instance present), if a primary bucket holder crashes while servicing a partitioned.PutMessage (in this instance, the result of a Region.create(K key, V value) call on some peer) before distributing UpdateOperations to all peers, if a peer that did not receive an UpdateOperation is chosen as the new primary, the subsequent retry of the create/put on the new primary can result in an EntryExistsException. The root cause is that when peers learn of member departure, if the cluster is configured for P2P-only operation (no clients), the members will immediately initiate delta GII to acquire the departed member’s data (from remaining members). But this synchronization does not include events. Because events are not included, the new primary can have the newly-created entry and no corresponding event (with which to conflate a subsequent create request). ### For all changes: - [ ] Is there a JIRA ticket associated with this PR? Is it referenced in the commit message? - [ ] Has your PR been rebased against the latest commit within the target branch (typically `develop`)? - [ ] Is your initial contribution a single, squashed commit? - [ ] Does `gradlew build` run cleanly? - [ ] Have you written or updated unit tests to verify your changes? - [ ] If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under [ASF 2.0](http://www.apache.org/legal/resolved.html#category-a)? <!-- Note: Please ensure that once the PR is submitted, check Concourse for build issues and submit an update to your PR as soon as possible. If you need help, please send an email to [email protected]. --> -- 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]
