[
https://issues.apache.org/jira/browse/GEODE-2097?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Darrel Schneider reopened GEODE-2097:
-------------------------------------
the unit test introduced in this fix if failing intermittently.
> Offheap persistent heapLRU regions can run out of offheap memory during
> recovery
> --------------------------------------------------------------------------------
>
> Key: GEODE-2097
> URL: https://issues.apache.org/jira/browse/GEODE-2097
> Project: Geode
> Issue Type: Bug
> Components: offheap
> Reporter: Darrel Schneider
> Assignee: Darrel Schneider
> Fix For: 1.2.0
>
>
> When the data for a persistent region is being recovered from the disk store
> the lru limit is constantly checked. If the lru limit is exceeded then value
> recovery will cease. But for off-heap regions this lru limit should be
> checking how much off-heap memory has been allocated.
> During recovery the amount of heap memory is being checked for an offheap
> regions. So we can end up recovering too many values to off-heap and running
> out of off-heap memory during recovery.
> The code that causes this problem is:
> org.apache.geode.internal.cache.lru.HeapLRUCapacityController.createLRUHelper().new
> AbstractEnableLRU() {...}.mustEvict(LRUStatistics, Region, int)
> During off-heap disk store recovery the Region parameter passed to this
> method is "null". This causes the following heap check to be done:
> if (region == null) {
> return resourceManager.getHeapMonitor().getState().isEviction();
> }
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)