public void testParseOffHeapMemorySizeBytes() { assertEquals(MEGABYTE, OffHeapStorage.parseOffHeapMemorySize("1")); assertEquals(Integer.MAX_VALUE * MEGABYTE, OffHeapStorage.parseOffHeapMemorySize("" + Integer.MAX_VALUE)); } public void testParseOffHeapMemorySizeKiloBytes() {
} else { validateVmCompatibility(); final OffHeapMemoryStats stats = new OffHeapStorage(sf); final long maxSlabSize = calcMaxSlabSize(offHeapMemorySize); final int slabCount = calcSlabCount(maxSlabSize, offHeapMemorySize);
@Override public void initialize(OffHeapMemoryStats oldStats) { setFreeMemory(oldStats.getFreeMemory()); setMaxMemory(oldStats.getMaxMemory()); setUsedMemory(oldStats.getUsedMemory()); setObjects(oldStats.getObjects()); setReads(oldStats.getReads()); setCompactions(oldStats.getCompactions()); setFragments(oldStats.getFragments()); setLargestFragment(oldStats.getLargestFragment()); setCompactionTime(oldStats.getCompactionTime()); setFragmentation(oldStats.getFragmentation()); oldStats.close(); }
final long offHeapMemorySize = OffHeapStorage.parseOffHeapMemorySize(getConfig().getOffHeapMemorySize()); this.offHeapStore = OffHeapStorage.createOffHeapStorage(getLogWriter(), this, offHeapMemorySize, this);
@Override public void endCompaction(long start) { incCompactions(); if (DistributionStats.enableClockStats) { stats.incLong(compactionTimeId, DistributionStats.getStatTime()-start); } }
final long offHeapMemorySize = OffHeapStorage.parseOffHeapMemorySize(getConfig().getOffHeapMemorySize()); this.offHeapStore = OffHeapStorage.createOffHeapStorage(getLogWriter(), this, offHeapMemorySize, this);
@Override public void endCompaction(long start) { incCompactions(); if (DistributionStats.enableClockStats) { stats.incLong(compactionTimeId, DistributionStats.getStatTime()-start); } }
@Override public void initialize(OffHeapMemoryStats oldStats) { setFreeMemory(oldStats.getFreeMemory()); setMaxMemory(oldStats.getMaxMemory()); setUsedMemory(oldStats.getUsedMemory()); setObjects(oldStats.getObjects()); setReads(oldStats.getReads()); setCompactions(oldStats.getCompactions()); setFragments(oldStats.getFragments()); setLargestFragment(oldStats.getLargestFragment()); setCompactionTime(oldStats.getCompactionTime()); setFragmentation(oldStats.getFragmentation()); oldStats.close(); }
} else { validateVmCompatibility(); final OffHeapMemoryStats stats = new OffHeapStorage(sf); final long maxSlabSize = calcMaxSlabSize(offHeapMemorySize); assert maxSlabSize > 0; final int slabCount = calcSlabCount(maxSlabSize, offHeapMemorySize);
public void testParseOffHeapMemorySizeGigaBytes() { assertEquals(GIGABYTE, OffHeapStorage.parseOffHeapMemorySize("1g")); assertEquals(Integer.MAX_VALUE * GIGABYTE, OffHeapStorage.parseOffHeapMemorySize("" + Integer.MAX_VALUE + "g")); } }
public void testParseOffHeapMemorySizeKiloBytes() { try { OffHeapStorage.parseOffHeapMemorySize("1k"); fail("Did not receive expected IllegalArgumentException"); } catch (IllegalArgumentException expected) { // Expected } } public void testParseOffHeapMemorySizeMegaBytes() {
public void testParseOffHeapMemorySizeNegative() { assertEquals(0, OffHeapStorage.parseOffHeapMemorySize("-1")); } public void testParseOffHeapMemorySizeNull() {
public void testParseOffHeapMemorySizeMegaBytes() { assertEquals(MEGABYTE, OffHeapStorage.parseOffHeapMemorySize("1m")); assertEquals(Integer.MAX_VALUE * MEGABYTE, OffHeapStorage.parseOffHeapMemorySize("" + Integer.MAX_VALUE + "m")); } public void testParseOffHeapMemorySizeGigaBytes() {
public void testParseOffHeapMemorySizeNull() { assertEquals(0, OffHeapStorage.parseOffHeapMemorySize(null)); } public void testParseOffHeapMemorySizeEmpty() {
public void testParseOffHeapMemorySizeEmpty() { assertEquals(0, OffHeapStorage.parseOffHeapMemorySize("")); } public void testParseOffHeapMemorySizeBytes() {
/** * By default the partition can use up to 100% of the allocated off-heap * memory. */ private int computeOffHeapLocalMaxMemory() { long availableOffHeapMemoryInMB = 0; if (testAvailableOffHeapMemory != null) { availableOffHeapMemoryInMB = OffHeapStorage.parseOffHeapMemorySize(testAvailableOffHeapMemory) / (1024 * 1024); } else if (InternalDistributedSystem.getAnyInstance() == null) { this.localMaxMemoryExists = false; return OFF_HEAP_LOCAL_MAX_MEMORY_PLACEHOLDER; // fix 52033: return non-negative, non-zero temporary placeholder for offHeapLocalMaxMemory } else { String offHeapSizeConfigValue = InternalDistributedSystem.getAnyInstance().getOriginalConfig().getOffHeapMemorySize(); availableOffHeapMemoryInMB = OffHeapStorage.parseOffHeapMemorySize(offHeapSizeConfigValue) / (1024 * 1024); } if (availableOffHeapMemoryInMB > Integer.MAX_VALUE) { logger.warn(LocalizedMessage.create(LocalizedStrings.PartitionAttributesImpl_REDUCED_LOCAL_MAX_MEMORY_FOR_PARTITION_ATTRIBUTES_WHEN_SETTING_FROM_AVAILABLE_OFF_HEAP_MEMORY_SIZE)); return Integer.MAX_VALUE; } this.localMaxMemoryExists = true; return (int) availableOffHeapMemoryInMB; }
public int getLocalMaxMemoryDefault() { if (!this.enableOffHeapMemory) { return PartitionAttributesFactory.LOCAL_MAX_MEMORY_DEFAULT; } long availableOffHeapMemoryInMB = 0; if (InternalDistributedSystem.getAnyInstance() == null) { return USE_CALCULATED_VALUE; } else { String offHeapSizeConfigValue = InternalDistributedSystem.getAnyInstance().getOriginalConfig().getOffHeapMemorySize(); availableOffHeapMemoryInMB = OffHeapStorage.parseOffHeapMemorySize(offHeapSizeConfigValue) / (1024 * 1024); } if (availableOffHeapMemoryInMB == 0) { throw new IllegalStateException("No off-heap memory has been configured."); } if (availableOffHeapMemoryInMB > Integer.MAX_VALUE) { LogService.logger().warning(LocalizedStrings.PartitionAttributesImpl_REDUCED_LOCAL_MAX_MEMORY_FOR_PARTITION_ATTRIBUTES_WHEN_SETTING_FROM_AVAILABLE_OFF_HEAP_MEMORY_SIZE); availableOffHeapMemoryInMB= Integer.MAX_VALUE; } return (int) availableOffHeapMemoryInMB; } }