/** * Asserts that the off heap region data is available and enabled. */ protected void assertOffHeapRegionAttributes() { ManagementService service = ManagementService.getExistingManagementService(getCache()); assertNotNull(service); assertTrue(service.isManager()); RegionMXBean regionBean = service.getLocalRegionMBean(OFF_HEAP_REGION_PATH); assertNotNull(regionBean); RegionAttributesData regionData = regionBean.listRegionAttributes(); assertNotNull(regionData); assertTrue(regionData.getEnableOffHeapMemory()); }
/** * Performs a destroy operation. * @param key the region entry to destroy. * @param regionName a region name. */ protected void doDestroy(Object key, String regionName) { Region region = getCache().getRegion(regionName); assertNotNull(region); region.destroy(key); }
/** * Adds an off-heap notification listener to the MemberMXBean. */ protected void addOffHeapNotificationListener() { ManagementService service = ManagementService.getExistingManagementService(getCache()); assertNotNull(service); assertTrue(service.isManager()); MemberMXBean memberBean = service.getMemberMXBean(); assertNotNull(memberBean); assertTrue(memberBean instanceof MemberMBean); ((MemberMBean) memberBean).addNotificationListener(notificationListener, null, null); }
/** * Performs a put operation. * @param key region entry key. * @param value region entry value. * @param regionName a region name. */ protected void doPut(Object key, Object value, String regionName,boolean expectException) { Region region = getCache().getRegion(regionName); assertNotNull(region); try { region.put(key, value); } catch (OutOfOffHeapMemoryException e) { if(!expectException) throw e; } }
/** * Performs some destroys to free off-heap allocations. * @param numAllocations the number of previous off-heap allocations * @param numDestroys the number of destroys to perform */ protected void doFreeOffHeapMemory(int numAllocations,int numDestroys) { assertTrue(numDestroys <= numAllocations); Region region = getCache().getRegion(OFF_HEAP_REGION_NAME); assertNotNull(region); assertTrue(numDestroys <= region.size()); String key = "KEY0"; Object value = key; int destroyed = 0; while(destroyed < numDestroys) { key = "KEY" + ((int) (Math.random() * numAllocations)); value = region.get(key); if(null != value) { region.destroy(key); ++destroyed; } } }
/** * Asserts that OffHeapMetrics match input parameters. * @param freeMemory total off-heap free memory in bytes. * @param allocatedMemory allocated (or used) off-heap memory in bytes. * @param objects number of objects stored in off-heap memory. * @param fragmentation the fragmentation percentage. */ protected void assertOffHeapMetrics(long freeMemory,long allocatedMemory,long objects, int fragmentation) { ManagementService service = ManagementService.getExistingManagementService(getCache()); assertNotNull(service); assertTrue(service.isManager()); MemberMXBean memberBean = service.getMemberMXBean(); assertNotNull(memberBean); assertEquals(freeMemory,memberBean.getOffHeapFreeMemory()); assertEquals(allocatedMemory,memberBean.getOffHeapUsedMemory()); assertEquals(objects,memberBean.getOffHeapObjects()); assertEquals(fragmentation,memberBean.getOffHeapFragmentation()); }
/** * Asserts that the fragmentation stat is available and satisfies an assert operation. * @param fragmentation a fragmentation percentage * @param op an assertion operation */ protected void assertFragmentationStat(int fragmentation,ASSERT_OP op) { ManagementService service = ManagementService.getExistingManagementService(getCache()); assertNotNull(service); assertTrue(service.isManager()); MemberMXBean memberBean = service.getMemberMXBean(); assertNotNull(memberBean); switch(op) { case EQUAL: assertEquals(fragmentation,memberBean.getOffHeapFragmentation()); break; case GREATER_THAN: assertTrue(fragmentation < memberBean.getOffHeapFragmentation()); break; case LESS_THAN: assertTrue(fragmentation > memberBean.getOffHeapFragmentation()); break; } }
/** * Asserts that the compactionTime stat is available and satisfies an assert operation. * @param compactionTime total off heap compaction time. * @param op an assert operation. */ protected void assertCompactionTimeStat(long compactionTime,ASSERT_OP op) { ManagementService service = ManagementService.getExistingManagementService(getCache()); assertNotNull(service); assertTrue(service.isManager()); MemberMXBean memberBean = service.getMemberMXBean(); assertNotNull(memberBean); switch(op) { case EQUAL: assertEquals(compactionTime,memberBean.getOffHeapCompactionTime()); break; case GREATER_THAN: assertTrue(compactionTime < memberBean.getOffHeapCompactionTime()); break; case GREATER_THAN_OR_EQUAL: assertTrue(compactionTime <= memberBean.getOffHeapCompactionTime()); break; case LESS_THAN: assertTrue(compactionTime > memberBean.getOffHeapCompactionTime()); break; } }
assertNotNull(createOffHeapRegionOnVm(managedNodeA,OFF_HEAP_REGION_NAME,DataPolicy.REPLICATE)); assertNotNull(createOffHeapRegionOnVm(managedNodeB,OFF_HEAP_REGION_NAME,DataPolicy.REPLICATE)); assertNotNull(createOffHeapRegionOnVm(managedNodeC,OFF_HEAP_REGION_NAME,DataPolicy.REPLICATE));
assertNotNull(createOffHeapRegionOnVm(managedNodeA,OFF_HEAP_REGION_NAME,DataPolicy.REPLICATE)); assertNotNull(createOffHeapRegionOnVm(managedNodeB,OFF_HEAP_REGION_NAME,DataPolicy.REPLICATE)); assertNotNull(createOffHeapRegionOnVm(managedNodeC,OFF_HEAP_REGION_NAME,DataPolicy.REPLICATE));
assertNotNull(createOffHeapRegionOnVm(vm,OFF_HEAP_REGION_NAME,DataPolicy.REPLICATE));
assertNotNull(createOffHeapRegionOnVm(vm,OFF_HEAP_REGION_NAME,DataPolicy.REPLICATE));
assertNotNull(createOffHeapRegionOnVm(vm,OFF_HEAP_REGION_NAME,DataPolicy.REPLICATE));
assertNotNull(createOffHeapRegionOnVm(vm,OFF_HEAP_REGION_NAME,DataPolicy.REPLICATE));
assertNotNull(createOffHeapRegionOnVm(vm,OFF_HEAP_REGION_NAME,DataPolicy.REPLICATE)); vm.invoke(new SerializableRunnable() { @Override
assertNotNull(createOffHeapRegionOnVm(vm,OFF_HEAP_REGION_NAME,DataPolicy.REPLICATE));