uschindler commented on code in PR #12841: URL: https://github.com/apache/lucene/pull/12841#discussion_r1420382794
########## lucene/core/src/java21/org/apache/lucene/store/MemorySegmentIndexInput.java: ########## @@ -303,6 +304,48 @@ public byte readByte(long pos) throws IOException { } } + @Override + public void readGroupVInts(long[] dst, int limit) throws IOException { + int i; + for (i = 0; i <= limit - 4; i += 4) { + readGroupVInt(dst, i); + } + for (; i < limit; ++i) { + dst[i] = readVInt(); + } + } + + private void readGroupVInt(long[] dst, int offset) throws IOException { + if (curSegment.byteSize() - curPosition < GroupVIntUtil.MAX_LENGTH_PER_GROUP) { + GroupVIntUtil.fallbackReadGroupVInt(this, dst, offset); + return; + } + Review Comment: the bigger problem here is that it is not in the try-catch block. when the indexinput is closed this fails with NPE or IllegalStateException. Everything in this method must be in the try-catch. Look at othe rmethods, the NPE/ISE catch block always covers everything. -- 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