[
https://issues.apache.org/jira/browse/GEODE-3967?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16738494#comment-16738494
]
ASF subversion and git services commented on GEODE-3967:
--------------------------------------------------------
Commit 7f2950c2098437902c86b3b5309d8de0c831aa6c in geode's branch
refs/heads/develop from zhouxh
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=7f2950c ]
GEODE-3967: fix the offheap memory leak in serial gateway sender's
unprocessedEvents.
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
Let event with CME only enqueue to primary, but 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.
We should not dispatch the CME event, otherwise it will cause remote site
data inconsistency since these CME events are misordered.
So we should enqueue it, but not to dispatch.
Also add rollingUpgradeTests
> 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
> Fix For: 1.5.0
>
> Time Spent: 2h
> Remaining Estimate: 0h
>
> 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)