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

[jira] [Resolved] (GEODE-56) Put to partitioned region with overflow doesn't properly update numOverflowBytesOnDisk

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

Dan Smith resolved GEODE-56.
----------------------------
    Resolution: Fixed

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