[
https://issues.apache.org/jira/browse/GEODE-9597?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Eric Shu updated GEODE-9597:
----------------------------
Affects Version/s: 1.12.0
> clientUpdateMessage and clientCq maps are cached in the HAContainer key
> -----------------------------------------------------------------------
>
> Key: GEODE-9597
> URL: https://issues.apache.org/jira/browse/GEODE-9597
> Project: Geode
> Issue Type: Bug
> Components: client queues
> Affects Versions: 1.12.0
> Reporter: Eric Shu
> Priority: Major
> Labels: GeodeOperationAPI
>
> In Geode, a client update message is put into a HAContainer, so that multiple
> client queues can share the same message.
> Currently, the update message and client cq map are cached in the
> HAEventWrapper which is the key for the HAContainer.
> {code:java}
> public HAEventWrapper(ClientUpdateMessage event) {
> this.regionName = event.getRegionName();
> this.keyOfInterest = event.getKeyOfInterest();
> this.shouldConflate = event.shouldBeConflated();
> this.eventIdentifier = event.getEventId();
> rcUpdater.set(this, 0);
> putInProgressCountUpdater.set(this, 0);
> this.clientUpdateMessage = event;
> this.clientCqs = ((ClientUpdateMessageImpl) event).getClientCqs();
> }
> {code}
> When HAContainer enables eviction, the value in the HAContainer can be
> faulted out. However, the container key (HAEventWrapper) is never evicted, so
> the client update message is being referenced by the HAEventWrapper and kept
> in memory.
> It does not save the memory as intended by enabling eviction. Need to
> refractor the code to remove these.
>
--
This message was sent by Atlassian Jira
(v8.3.4#803005)