diff --git a/code/libraries/btree/src/main/java/nu/marginalia/btree/BTreeReader.java b/code/libraries/btree/src/main/java/nu/marginalia/btree/BTreeReader.java index cec925e6..778e921a 100644 --- a/code/libraries/btree/src/main/java/nu/marginalia/btree/BTreeReader.java +++ b/code/libraries/btree/src/main/java/nu/marginalia/btree/BTreeReader.java @@ -123,9 +123,7 @@ public class BTreeReader { */ public long[] queryData(long[] keys, int offset) { - if (getClass().desiredAssertionStatus()) { - assert(isSorted(keys)); - } + assert(isSorted(keys)) : "The input array docIds is assumed to be sorted"; if (header.layers() == 0) { return queryDataNoIndex(keys, offset); diff --git a/code/libraries/btree/src/main/java/nu/marginalia/btree/BTreeWriter.java b/code/libraries/btree/src/main/java/nu/marginalia/btree/BTreeWriter.java index a359edcd..13aca70a 100644 --- a/code/libraries/btree/src/main/java/nu/marginalia/btree/BTreeWriter.java +++ b/code/libraries/btree/src/main/java/nu/marginalia/btree/BTreeWriter.java @@ -41,6 +41,8 @@ public class BTreeWriter { throw new IllegalStateException("Dog ear was not overwritten: " + header); } + assert slice.isSortedN(ctx.entrySize) : "Provided data was not sorted"; + if (header.layers() >= 1) { // Omit layer if data fits within a single block writeIndex(header); }