Search in sources :

Example 1 with MemoryEvent

use of org.apache.geode.internal.cache.control.MemoryEvent in project geode by apache.

the class HeapEvictor method getAllRegionList.

private List<LocalRegion> getAllRegionList() {
    List<LocalRegion> allRegionList = new ArrayList<LocalRegion>();
    InternalResourceManager irm = (InternalResourceManager) cache.getResourceManager();
    for (ResourceListener<MemoryEvent> listener : irm.getResourceListeners(getResourceType())) {
        if (listener instanceof PartitionedRegion) {
            PartitionedRegion pr = (PartitionedRegion) listener;
            if (includePartitionedRegion(pr)) {
                allRegionList.addAll(pr.getDataStore().getAllLocalBucketRegions());
            }
        } else if (listener instanceof LocalRegion) {
            LocalRegion lr = (LocalRegion) listener;
            if (includeLocalRegion(lr)) {
                allRegionList.add(lr);
            }
        }
    }
    if (HeapEvictor.MINIMUM_ENTRIES_PER_BUCKET > 0) {
        Iterator<LocalRegion> iter = allRegionList.iterator();
        while (iter.hasNext()) {
            LocalRegion lr = iter.next();
            if (lr instanceof BucketRegion) {
                if (((BucketRegion) lr).getNumEntriesInVM() <= HeapEvictor.MINIMUM_ENTRIES_PER_BUCKET) {
                    iter.remove();
                }
            }
        }
    }
    return allRegionList;
}
Also used : MemoryEvent(org.apache.geode.internal.cache.control.MemoryEvent) InternalResourceManager(org.apache.geode.internal.cache.control.InternalResourceManager)

Example 2 with MemoryEvent

use of org.apache.geode.internal.cache.control.MemoryEvent in project geode by apache.

the class EvictionTestBase method sendFakeNotification.

public void sendFakeNotification() {
    HeapMemoryMonitor hmm = ((InternalResourceManager) cache.getResourceManager()).getHeapMonitor();
    RegionEvictorTask.TEST_EVICTION_BURST_PAUSE_TIME_MILLIS = 0;
    MemoryEvent event = new MemoryEvent(getResourceType(), MemoryState.NORMAL, MemoryState.EVICTION, cache.getDistributedSystem().getDistributedMember(), 90, true, hmm.getThresholds());
    getEvictor().onEvent(event);
}
Also used : MemoryEvent(org.apache.geode.internal.cache.control.MemoryEvent) HeapMemoryMonitor(org.apache.geode.internal.cache.control.HeapMemoryMonitor) InternalResourceManager(org.apache.geode.internal.cache.control.InternalResourceManager)

Aggregations

InternalResourceManager (org.apache.geode.internal.cache.control.InternalResourceManager)2 MemoryEvent (org.apache.geode.internal.cache.control.MemoryEvent)2 HeapMemoryMonitor (org.apache.geode.internal.cache.control.HeapMemoryMonitor)1