Dan Smith created GEODE-56: ------------------------------ Summary: Put to partitioned region with overflow doesn't properly update numOverflowBytesOnDisk Key: GEODE-56 URL: https://issues.apache.org/jira/browse/GEODE-56 Project: Geode Issue Type: Bug Components: core Reporter: Dan Smith Assignee: Dan Smith
For the purposes of rebalancing, geode keeps track of the amount of data stored on disk in a counter - BucketRegion.numOverflowBytesOnDisk. For regions that have overflow but not persistence, a put that replaces a value that was overflowed on disk does not correctly decrement the counter of bytes overflowed to disk. The issue is that that size of the entry on disk is read in an if block testing to see if the region is persistent (dr.isBackup()) {code} if (dr.isBackup()) { dr.testIsRecoveredAndClear(did); // fixes bug 41409 oldValueLength = getValueLength(did); {code} Later it is used to change the stat, but it oldValueLength may not be set {code} incrementBucketStats(region, 1/*InVM*/, -1/*OnDisk*/, -oldValueLength); {code} The net effect of this issue is that if a lot of puts happen to entries that are overflowed to disk, the size of the bucket will be inflated. This may then cause issues with rebalancing calculations. -- This message was sent by Atlassian JIRA (v6.3.4#6332)