[ 
https://issues.apache.org/jira/browse/GEODE-498?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Dan Smith reassigned GEODE-498:
-------------------------------

    Assignee:     (was: Dan Smith)

> Callback argument size is not reflected in bucket size for parallel queues
> --------------------------------------------------------------------------
>
>                 Key: GEODE-498
>                 URL: https://issues.apache.org/jira/browse/GEODE-498
>             Project: Geode
>          Issue Type: Bug
>          Components: wan
>            Reporter: Dan Smith
>            Priority: Major
>
> I found this while tracking down GEODE-244.  This appears to be a new problem 
> that was introduced by the off heap changes. This is problematic because this 
> size is used for rebalancing calculations, so bugs in the reported size could 
> cause rebalancing issues.
> The issue is that the size reported by BucketRegion.getTotalBytes() is 
> incorrect for parallel async event queues. The size does not include the size 
> of the callback argument.
> I tracked this down to this code in BucketRegion.calcMemSize, which looks 
> like it was added for offheap:
> {code}
> static int calcMemSize(Object value) {
>     if (value != null && (value instanceof GatewaySenderEventImpl)) {
>       return ((GatewaySenderEventImpl)value).getSerializedValueSize();
>     }
> ...
> }
> {code}
> Interestingly, it looks like for the purposes of eviction, we do include the 
> callback argument size, because the MemLRUCapacityController calls 
> GatewaySenderEventImpl.getSizeInBytes



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to