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