LocalRegion lr = iter.next(); if (lr instanceof BucketRegion) { if (((BucketRegion)lr).getNumEntriesInVM() <= HeapEvictor.MINIMUM_ENTRIES_PER_BUCKET) { iter.remove();
public void run() { PartitionedRegion region = (PartitionedRegion) getCache().getRegion("region1"); PartitionedRegionDataStore dataStore = region.getDataStore(); for(int i =1; i <= 6; i++) { BucketRegion bucket = dataStore.getLocalBucketById(i); assertEquals(1, bucket.getNumOverflowOnDisk()); assertEquals(0, bucket.getNumEntriesInVM()); //the size recorded on disk is not the same is the in memory size, apparently assertTrue("Bucket size was " + bucket.getNumOverflowBytesOnDisk(), 1 < bucket.getNumOverflowBytesOnDisk()); assertEquals(bucket.getNumOverflowBytesOnDisk(), bucket.getTotalBytes()); } } });
LocalRegion lr = iter.next(); if (lr instanceof BucketRegion) { if (((BucketRegion)lr).getNumEntriesInVM() <= HeapEvictor.MINIMUM_ENTRIES_PER_BUCKET) { iter.remove();
public Object call() { PartitionedRegion region = (PartitionedRegion) getCache().getRegion("region1"); PartitionedRegionDataStore dataStore = region.getDataStore(); long[] bucketSizes = new long[7]; for(int i =1; i <= 6; i++) { BucketRegion bucket = dataStore.getLocalBucketById(i); bucketSizes[i] = bucket.getTotalBytes(); assertEquals(0, bucket.getNumOverflowBytesOnDisk()); assertEquals(0, bucket.getNumOverflowOnDisk()); assertEquals(1, bucket.getNumEntriesInVM()); } getCache().close(); return bucketSizes; } });
long bucketSize; try { bucketSize = ((BucketRegion)bucket).getNumEntriesInVM() + ((BucketRegion)bucket).getNumOverflowOnDisk();
public int getSizeForEviction() { EvictionAttributes ea = this.getAttributes().getEvictionAttributes(); if (ea == null) return 0; EvictionAlgorithm algo = ea.getAlgorithm(); if (!algo.isLRUHeap()) return 0; EvictionAction action = ea.getAction(); int size = action.isLocalDestroy() ? this.getRegionMap().sizeInVM() : (int)this .getNumEntriesInVM(); return size; } @Override
long bucketSize; try { bucketSize = ((BucketRegion)bucket).getNumEntriesInVM() + ((BucketRegion)bucket).getNumOverflowOnDisk();
public int getSizeForEviction() { EvictionAttributes ea = this.getAttributes().getEvictionAttributes(); if (ea == null) return 0; EvictionAlgorithm algo = ea.getAlgorithm(); if (!algo.isLRUHeap()) return 0; EvictionAction action = ea.getAction(); int size = action.isLocalDestroy() ? this.getRegionMap().sizeInVM() : (int)this .getNumEntriesInVM(); return size; } @Override
BucketRegion localBucket = (BucketRegion)entry.getValue(); if (localBucket != null) { long entriesInVmForBucket = localBucket.getNumEntriesInVM(); long entriesInDiskForBucket = localBucket.getNumOverflowOnDisk();
bucketSize = ((BucketRegion)bucket).getNumEntriesInVM() + ((BucketRegion)bucket).getNumOverflowOnDisk();
" For the bucket region with id " + bucketId + " entries left in vm is " + ((BucketRegion)bucket).getNumEntriesInVM() + " and entries evicted " + ((BucketRegion)bucket).getNumOverflowOnDisk());
+ " For the bucket region with id " + bucketId + " entries left in vm is " + ((BucketRegion)bucket).getNumEntriesInVM() + " and entries evicted " + ((BucketRegion)bucket).getEvictions());
void statsClear(LocalRegion region) { if (region instanceof BucketRegion) { BucketRegion owner=(BucketRegion)region; long curInVM = owner.getNumEntriesInVM()*-1; long curOnDisk = owner.getNumOverflowOnDisk()*-1; long curBytesOnDisk = owner.getNumOverflowBytesOnDisk()*-1; incNumEntriesInVM(curInVM); incNumOverflowOnDisk(curOnDisk); incNumOverflowBytesOnDisk(curBytesOnDisk); owner.incNumEntriesInVM(curInVM); owner.incNumOverflowOnDisk(curOnDisk); owner.incNumOverflowBytesOnDisk(curBytesOnDisk); } else { // set them both to zero incNumEntriesInVM(getNumEntriesInVM()*-1); incNumOverflowOnDisk(getNumOverflowOnDisk()*-1); incNumOverflowBytesOnDisk(getNumOverflowBytesOnDisk()*-1); } }
void statsClear(LocalRegion region) { if (region instanceof BucketRegion) { BucketRegion owner=(BucketRegion)region; long curInVM = owner.getNumEntriesInVM()*-1; long curOnDisk = owner.getNumOverflowOnDisk()*-1; long curOnDiskBytes = owner.getNumOverflowBytesOnDisk()*-1; incNumEntriesInVM(curInVM); incNumOverflowOnDisk(curOnDisk); incNumOverflowBytesOnDisk(curOnDiskBytes); owner.incNumEntriesInVM(curInVM); owner.incNumOverflowOnDisk(curOnDisk); owner.incNumOverflowBytesOnDisk(curOnDiskBytes); } else { // set them both to zero incNumEntriesInVM(getNumEntriesInVM()*-1); incNumOverflowOnDisk(getNumOverflowOnDisk()*-1); incNumOverflowBytesOnDisk(getNumOverflowBytesOnDisk()*-1); } }