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)

Reply via email to