diff --git a/src/main/java/net/openhft/chronicle/map/VanillaChronicleMap.java b/src/main/java/net/openhft/chronicle/map/VanillaChronicleMap.java index 17eafaa20..1d353b457 100644 --- a/src/main/java/net/openhft/chronicle/map/VanillaChronicleMap.java +++ b/src/main/java/net/openhft/chronicle/map/VanillaChronicleMap.java @@ -134,8 +134,7 @@ class VanillaChronicleMap, this.removeReturnsNull = builder.removeReturnsNull(); this.actualSegments = builder.actualSegments(); - // align by 8 because otherwise sizeOfBitSets() might address less blocks than specified - this.entriesPerSegment = align8(builder.actualEntriesPerSegment()); + this.entriesPerSegment = builder.actualEntriesPerSegment(); this.metaDataBytes = builder.metaDataBytes(); this.eventListener = builder.eventListener(); @@ -254,7 +253,7 @@ class VanillaChronicleMap, } long sizeOfBitSets() { - return align64(entriesPerSegment / 8L); + return align64(align8(entriesPerSegment) / 8L); } int numberOfBitSets() { @@ -557,7 +556,7 @@ class VanillaChronicleMap, createHashLookups(start); start += align64(sizeOfMultiMap() + sizeOfMultiMapBitSet()) * multiMapsPerSegment(); final NativeBytes bsBytes = new NativeBytes(tmpBytes.objectSerializer(), - start, start + sizeOfBitSets() / 8L, null); + start, start + align8(align8(entriesPerSegment) / 8L), null); freeList = new SingleThreadedDirectBitSet(bsBytes); start += numberOfBitSets() * sizeOfBitSets(); entriesOffset = start - bytes.startAddr(); diff --git a/src/test/java/net/openhft/chronicle/map/ChronicleMapTest.java b/src/test/java/net/openhft/chronicle/map/ChronicleMapTest.java index db04d7d83..8983bcaa7 100644 --- a/src/test/java/net/openhft/chronicle/map/ChronicleMapTest.java +++ b/src/test/java/net/openhft/chronicle/map/ChronicleMapTest.java @@ -1131,12 +1131,11 @@ public class ChronicleMapTest { } private ChronicleMap getViewTestMap(int noOfElements) throws IOException { - int entries = 100 * 1000; ChronicleMap map = ChronicleMapBuilder.of(Integer.class, CharSequence.class) - .entries(entries) + .entries(noOfElements) .minSegments(16) - .entrySize(32) + .valueSize((noOfElements + "").length()) .putReturnsNull(true) .removeReturnsNull(true).create();