You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@geode.apache.org by "Darrel Schneider (JIRA)" <ji...@apache.org> on 2016/02/05 20:17:39 UTC

[jira] [Updated] (GEODE-498) Callback argument size is not reflected in bucket size for parallel queues

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

Darrel Schneider updated GEODE-498:
-----------------------------------
    Component/s: wan

> 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
>            Assignee: Dan Smith
>
> 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
(v6.3.4#6332)