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

Reply via email to