[
https://issues.apache.org/jira/browse/GEODE-9596?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17418273#comment-17418273
]
ASF subversion and git services commented on GEODE-9596:
--------------------------------------------------------
Commit 3a68ef6e9df70d028c5d375e6adaa264111b4551 in geode's branch
refs/heads/support/1.14 from Eric Shu
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=3a68ef6 ]
GEODE-9596: Avoid creating multiple cq maps in ClientUpdateMessage (#6869)
* GEODE-9596: Avoid creating multiple cq maps in ClientUpdateMessage
* This can occur if HAContainer enables eviction.
* Also addClientCq can be accessed concurrently by intialization threads
during queue registration.
(cherry picked from commit 00b41562f8c4e5982190795c0426e5884f57724a)
> CQ event might be missing if HAContainer enables eviction
> ---------------------------------------------------------
>
> Key: GEODE-9596
> URL: https://issues.apache.org/jira/browse/GEODE-9596
> Project: Geode
> Issue Type: Bug
> Components: cq
> Affects Versions: 1.12.0, 1.13.0, 1.14.0
> Reporter: Eric Shu
> Assignee: Eric Shu
> Priority: Major
> Labels: GeodeOperationAPI, pull-request-available
>
> The issue exists when proxies are enqueue cq messages to each HARegionQueue.
> As HAContainer enables eviction, the value (ClientUpdateMessageImpl) can be
> evicted. The next proxy needs to fault in the message when enqueues the event
> to its queue and _clientCqs map is lost during that exchange.
> The operation will create a new _clientCqs map in this case, and if a
> dispatcher thread is processing the already queued event and access the map
> at the same time, it will not find its client in the cq maps, and thus cause
> the cq event is lost.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)