geode-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF subversion and git services (JIRA)" <>
Subject [jira] [Commented] (GEODE-3967) if put hits concurrent modification exception should still notify serial gateway sender
Date Sun, 11 Feb 2018 03:15:00 GMT


ASF subversion and git services commented on GEODE-3967:

Commit 08755b7f10539ee96ed0b24eefc88ae4a534406a in geode's branch refs/heads/feature/GEODE-3967
from zhouxh
[;h=08755b7 ]

GEODE-3967: There're following 6 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.
6) shouldSendVersionEvents for Remote sender should return true, since
we no longer support 7.0.1 any more.

> if put hits concurrent modification exception should still notify serial gateway sender
> ---------------------------------------------------------------------------------------
>                 Key: GEODE-3967
>                 URL:
>             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

View raw message