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

Reply via email to