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

Karen Smoler Miller updated GEODE-1672:
---------------------------------------
    Component/s: docs

> When amount of overflowed persisted data exceeds heap size startup may run 
> out of memory
> ----------------------------------------------------------------------------------------
>
>                 Key: GEODE-1672
>                 URL: https://issues.apache.org/jira/browse/GEODE-1672
>             Project: Geode
>          Issue Type: Bug
>          Components: docs, persistence
>            Reporter: Darrel Schneider
>
> Basically, when the amount of data overflowed approaches the heap size, ,such 
> that the total amount of data is very close to or actually surpasses your 
> total tenured heap, it is possible that you will not be able to restart.
> The algorithm during recovery of oplogs/buckets is such that we don't "evict" 
> in the normal sense as data fills the heap during early stages of recovery 
> prior to creating the regions. When the data is first created in the heap, 
> it's not yet official in the region.
> At any rate, if during this early phase of recovery, or during subsequent 
> phase where eviction is working as usual, it is possible that the total data 
> or an early imbalance of buckets prior to the opportunity to rebalance causes 
> us to surpass the critical threshold which will kill us before successful 
> startup.
> To reproduce, you could have 1 region with tons of data that evicts and 
> overflows with persistence. Call it R1. Then another region with persistence 
> that does not evict. Call it R2.
> List R1 fist in the cache.xml file. Start running the system and add data 
> over time until you have overflowed tons of data approaching the heap size in 
> the evicted region, and also have enough data in the R2 region.
> Once you fill these regions with enough data and have overflowed enough to 
> disk and persisted the other region, then shutdown, and then attempt to 
> restart. If you put enough data in, you will hit the critical threshold 
> before being able to complete startup.
> You can work around this issue by configuring geode to not recovery values by 
> setting this system property: -Dgemfire.disk.recoverValues=false
> Values will not be faulted into memory until a read operation is done on that 
> value's key.
> If you have regions that do not use overflow and some that do then another 
> work around is the create the regions that do not use overflow first. 



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to