diff --git a/src/main/java/net/openhft/chronicle/hash/impl/stage/entry/HashLookupPos.java b/src/main/java/net/openhft/chronicle/hash/impl/stage/entry/HashLookupPos.java index b056f4fd0..427c2cc3a 100644 --- a/src/main/java/net/openhft/chronicle/hash/impl/stage/entry/HashLookupPos.java +++ b/src/main/java/net/openhft/chronicle/hash/impl/stage/entry/HashLookupPos.java @@ -32,9 +32,12 @@ public abstract class HashLookupPos { public abstract boolean hashLookupPosInit(); public void initHashLookupPos() { - // validation + make hashLookupPos a dependant of tier. This is needed, because after - // tier change should re-perform hashLookupSearch, starting from the searchStartPos - assert s.tier >= 0; + // Validation + make hashLookupPos a dependant of tier. This is needed, because after + // tier change should re-perform hashLookupSearch, starting from the searchStartPos. + // Not an assert statement, because segmentTier stage should be initialized regardless + // assertions enabled or not. + if (s.tier < 0) + throw new AssertionError(); s.innerReadLock.lock(); this.hashLookupPos = hls.searchStartPos; } diff --git a/src/main/java/net/openhft/chronicle/hash/impl/stage/entry/HashLookupSearch.java b/src/main/java/net/openhft/chronicle/hash/impl/stage/entry/HashLookupSearch.java index 91d27a0b1..cc2495f9c 100644 --- a/src/main/java/net/openhft/chronicle/hash/impl/stage/entry/HashLookupSearch.java +++ b/src/main/java/net/openhft/chronicle/hash/impl/stage/entry/HashLookupSearch.java @@ -79,9 +79,12 @@ public abstract class HashLookupSearch { } public void putNewVolatile(long value) { - // correctness check + make putNewVolatile() dependant on keySearch, this, in turn, - // is needed for hlp.hashLookupPos re-initialization after nextTier() - assert !ks.searchStatePresent(); + // Correctness check + make putNewVolatile() dependant on keySearch, this, in turn, + // is needed for hlp.hashLookupPos re-initialization after nextTier(). + // Not an assert statement, because ks.searchStatePresent() should run regardless assertions + // enabled or not. + if (ks.searchStatePresent()) + throw new AssertionError(); hl().checkValueForPut(value); long currentEntry = hl().readEntry(addr(), hlp.hashLookupPos);