From 04212b2cef2b3b20df918246d694d10d411e7295 Mon Sep 17 00:00:00 2001 From: Viktor Lofgren Date: Fri, 1 Sep 2023 15:45:02 +0200 Subject: [PATCH] (btree) Add more consistent asserts on sortedness --- .../btree/src/main/java/nu/marginalia/btree/BTreeReader.java | 4 +--- .../btree/src/main/java/nu/marginalia/btree/BTreeWriter.java | 2 ++ 2 files changed, 3 insertions(+), 3 deletions(-) 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); }