Darrel Schneider created GEODE-2097:
---------------------------------------
Summary: 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
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.4#6332)