[ 
https://issues.apache.org/jira/browse/GEODE-9581?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17422164#comment-17422164
 ] 

ASF subversion and git services commented on GEODE-9581:
--------------------------------------------------------

Commit 468e0a3cbbb9865030050f85ea2ef401d7c04e40 in geode's branch 
refs/heads/develop from Alberto Gomez
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=468e0a3 ]

GEODE-9581: Fix possible sending of duplicate events (#6896)

* GEODE-9581: Fix possible sending of duplicate events

When group-transaction-events is set for a serial
gateway sender there is a small chance that duplicated
events are sent by the sender.

The reason behind is a bug in the serial gateway sender.

When the remove() method of the SerialGatewaySenderQueue
was invoked for an event that was peeked to complete
a transaction, it was also removed from the extraPeekedIds
structure.
This provoked that events already peeked, were peeked
again by SerialGatewaySenderQueue.peekAhead() when
they should not have been.

A change has been made in the remove() method so
that events that were peeked to complete a transaction
are only removed from the extraPeekedIds when a call
to remove() has been made previously for that event
(the events is in extraPeekedIdsRemovedButPreviousIdNotRemoved)
and the previous event is the lastDispatchedKey.

* GEODE-9581: Added unit test after review

> SerialWANStatsDUnitTest > 
> testReplicatedSerialPropagationWithGroupTransactionEventsWithoutBatchRedistributionSend
>  fails
> -----------------------------------------------------------------------------------------------------------------------
>
>                 Key: GEODE-9581
>                 URL: https://issues.apache.org/jira/browse/GEODE-9581
>             Project: Geode
>          Issue Type: Bug
>          Components: wan
>    Affects Versions: 1.15.0
>            Reporter: Bill Burcham
>            Assignee: Alberto Gomez
>            Priority: Major
>              Labels: pull-request-available
>             Fix For: 1.15.0
>
>
> In this run 
> https://concourse.apachegeode-ci.info/teams/main/pipelines/apache-develop-mass-test-run/jobs/distributed-test-openjdk8/builds/1583
>  SerialWANStatsDUnitTest > 
> testReplicatedSerialPropagationWithGroupTransactionEventsWithoutBatchRedistributionSendsBatchesWithCompleteTransactions_SeveralClients
>  failed:
> {code:java}
> org.apache.geode.internal.cache.wan.serial.SerialWANStatsDUnitTest > 
> testReplicatedSerialPropagationWithGroupTransactionEventsWithoutBatchRedistributionSendsBatchesWithCompleteTransactions_SeveralClients
>  FAILED
>     org.junit.ComparisonFailure: expected:<[0]> but was:<[1]>
>         at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native 
> Method)
>         at 
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
>         at 
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
>         at 
> org.apache.geode.internal.cache.wan.serial.SerialWANStatsDUnitTest.checkQueuesAreEmptyAndOnlyCompleteTransactionsAreReplicated(SerialWANStatsDUnitTest.java:949)
>         at 
> org.apache.geode.internal.cache.wan.serial.SerialWANStatsDUnitTest.testReplicatedSerialPropagationWithGroupTransactionEventsSendsBatchesWithCompleteTransactions_SeveralClients(SerialWANStatsDUnitTest.java:309)
>         at 
> org.apache.geode.internal.cache.wan.serial.SerialWANStatsDUnitTest.testReplicatedSerialPropagationWithGroupTransactionEventsWithoutBatchRedistributionSendsBatchesWithCompleteTransactions_SeveralClients(SerialWANStatsDUnitTest.java:218)
> {code}
> This is a new test. It failed in the mass test run.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to