albertogpz opened a new pull request #6663: URL: https://github.com/apache/geode/pull/6663
… group-transaction-events is true The logic for removing events from the Serial Gateway Sender queue when an ack for a batch is received from the gateway receiver is implemented by the remove() method of the SerialGatewaySenderQueue class. When the group-transaction-events setting is activated, this logic, needs to act differently if the event was an event peeked to complete a transaction in a batch than if it is an event peeked with the peekAhead method. In the first case, the head key and lastDispatched member must not be updated with the key of the event because that could provoke that events from the queue not yet retrieved are never retrieved. Nevertheless, the head key and lastDispatched member must be updated for a key peeked to complete a transaction (extraPeekedId) when the key with the previous id is removed. This was not being done in some cases by the remove() method and it has been corrected in this PR. Several DUnit test cases have been added to test this fix in a Geode WAN system with a Serial GatewaySender with group-transaction-events set to true. In the test cases, it is verified that no duplicated events are sent by means of checking that incomplete transactions are not sent. Thank you for submitting a contribution to Apache Geode. In order to streamline the review of the contribution we ask you to ensure the following steps have been taken: ### 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]
