jpountz commented on code in PR #13224: URL: https://github.com/apache/lucene/pull/13224#discussion_r1543602422
########## lucene/core/src/test/org/apache/lucene/util/packed/TestDirectMonotonic.java: ########## @@ -154,6 +154,43 @@ public void testConstantSlope() throws IOException { dir.close(); } + public void testZeroValuesSmallBlobShift() throws IOException { + Directory dir = newDirectory(); + final int numValues = TestUtil.nextInt(random(), 8, 1 << 20); + // use blockShift < log2(numValues) + final int blockShift = + TestUtil.nextInt( + random(), + DirectMonotonicWriter.MIN_BLOCK_SHIFT, + Math.toIntExact(Math.round(Math.log(numValues) / Math.log(2))) - 1); + + final long dataLength; + try (IndexOutput metaOut = dir.createOutput("meta", IOContext.DEFAULT); + IndexOutput dataOut = dir.createOutput("data", IOContext.DEFAULT)) { + DirectMonotonicWriter w = + DirectMonotonicWriter.getInstance(metaOut, dataOut, numValues, blockShift); + for (int i = 0; i < numValues; i++) { + w.add(0); + } + w.finish(); + dataLength = dataOut.getFilePointer(); + } + + try (IndexInput metaIn = dir.openInput("meta", IOContext.READONCE); + IndexInput dataIn = dir.openInput("data", IOContext.DEFAULT)) { + DirectMonotonicReader.Meta meta = + DirectMonotonicReader.loadMeta(metaIn, numValues, blockShift); Review Comment: Can you assert that the whole meta file has been read after this call? -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org