[ https://issues.apache.org/jira/browse/GEODE-8765?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17246545#comment-17246545 ]
ASF GitHub Bot commented on GEODE-8765: --------------------------------------- albertogpz opened a new pull request #5829: URL: https://github.com/apache/geode/pull/5829 …d events in and not in transactions are sent. A NullPointerException (caught later in the code) was generated when events without a transactionId in gateway sender queues were retrieved to complete transactions. The problem was that equals was invoked on a possibly null object (the transactionId). The call has been rewritten to avoid the NullPointer exception. The NullPointerException had different undesired effects in the Parallel and in the Serial Gateway senders. In Parallel Gateway Senders it can provoke that events are left in the queue without ever being drained although all events are replicated. In Serial Gateway Senders, the effect is much more severe as once the NullPointerException is reached, no events from the queue are replicated. 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: - [X] Is there a JIRA ticket associated with this PR? Is it referenced in the commit message? - [X] Has your PR been rebased against the latest commit within the target branch (typically `develop`)? - [X] Is your initial contribution a single, squashed commit? - [X] Does `gradlew build` run cleanly? - [X] Have you written or updated unit tests to verify your changes? - [X] 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 d...@geode.apache.org. ---------------------------------------------------------------- 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. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > NullPointerException if group-transaction-events enabled and mix of puts with > transactions and without transactions > ------------------------------------------------------------------------------------------------------------------- > > Key: GEODE-8765 > URL: https://issues.apache.org/jira/browse/GEODE-8765 > Project: Geode > Issue Type: Bug > Components: wan > Affects Versions: 1.14.0 > Reporter: Alberto Gomez > Assignee: Alberto Gomez > Priority: Major > > When group-transaction-events is enabled and Geode receives a mix of puts, > some inside transactions and some not in transactions, in the case it is > needed to add extra events to the batch in order to have all the events for > each transaction in the given batch, if the sender runs into an event not > belonging to a transaction while looking for events in the queue, a > NullPointerException is thrown when trying to get the transactionId for the > event. The exception is caught by the sender processor and a warning message > is written in the log but some undesired effects are provoked: > > * In parallel gateway senders, this situation provokes that the batch is > sent without completing the transactions and also some events are left in the > queues forever without ever being drained (although all the events are sent > to the other side). > * In serial gateway senders, this situation provokes that once the exception > is thrown, no more events are sent to the other side as the events in the > last batch that could not be sent because the exception was thrown are tried > to be sent over and over without success. -- This message was sent by Atlassian Jira (v8.3.4#803005)