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

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

Commit eb48af8bc7f662c1e0a2ced536a0bcb47430a855 in geode's branch 
refs/heads/feature/GEODE-3967 from zhouxh
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=eb48af8 ]

GEODE-3967: There're following 5 problems fixed here:
1) When ConcurrentCacheModificationException happened, GatewaySenderEventImpl
 should save the status and notify gatewaysender if it hold primary queue,
because other member might have put the event into the secondary queue.
2) In AbstractUpdateOperation's doPutOrCreate's 3 tries of basicUpdate, the
3rd try should allow both create and update.
3) Let event with CME not to dispatch. The old logic does not allow CME event
to  enqueue. This is wrong, because an event without CME might have been
added into the secondary queue. So we should enqueue it, but not to dispatch.
4) Let UPDATE_VERSION_STAMP not to enqueue if not primary queue, because
the event did not fire in pair.
5) AbstractGatewaySenderEventProcessor put loop of filter in wrong place,
which caused UPDATE_VERSION_STAMP and CME events are not ignored.


> if put hits concurrent modification exception should still notify serial 
> gateway sender
> ---------------------------------------------------------------------------------------
>
>                 Key: GEODE-3967
>                 URL: https://issues.apache.org/jira/browse/GEODE-3967
>             Project: Geode
>          Issue Type: Bug
>          Components: wan
>            Reporter: xiaojian zhou
>            Assignee: xiaojian zhou
>            Priority: Major
>              Labels: pull-request-available
>
> In serial gateway sender, the event arrives at secondary will be put into 
> unprocessedMap and wait for event from primary queue to distribute over, then 
> remove it from the unprocessedMap.
> If the put at primary member (member with primary queue) failed with CME, the 
> event in unprocessedMap will never be removed. 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to