ASF subversion and git services commented on GEODE-3967:

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

GEODE-3967: There're following 9 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.
However, not to fix it for now. Leave it in GEODE-4659.
6) shouldSendVersionEvents for Remote sender should return true, since
we no longer support 7.0.1 any more.
7) change version to 150
8) CME event should not retry in AUO.doPutOrCreate, because retry will end up 
with CME too.
9) CME && !originRemote: only enqueue to primary

> 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

Reply via email to