[ 
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)

Reply via email to