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]


Reply via email to