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