[
https://issues.apache.org/jira/browse/GEODE-56?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Anthony Baker closed GEODE-56.
------------------------------
> 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
> Fix For: 1.0.0-incubating.M1
>
>
> 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)