[
https://issues.apache.org/jira/browse/GEODE-8765?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Alberto Gomez updated GEODE-8765:
---------------------------------
Description:
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.
was:
When group-transaction-events is enabled and Geode receives a mix of puts
inside transactions and puts not in transactions, when a batch tries to
retrieve events from the queue to complete transactions there is a possibility
that it finds events not belonging to any transaction. In such case, a
NullPointerException is thrown when getting the transactionId for that event.
The exception is logged and the exception is caught in the code so the process
does not crash. Nevertheless, in this situation, the batch is sent ignoring
that group-transaction-events is enabled.
Besides, this provokes undesired effects in both the serial and parallel
gateway senders:
* In parallel gateway senders, this situation provokes that events are left in
the queues forever without ever being drained (although all the events seem to
be 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.
> 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)