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

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

Commit 00b41562f8c4e5982190795c0426e5884f57724a in geode's branch 
refs/heads/develop from Eric Shu
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=00b4156 ]

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.


> 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)

Reply via email to