msokolov opened a new issue, #14123: URL: https://github.com/apache/lucene/issues/14123
### Description I'm confused about this one -- it seems straightforward; the test creates an index with a segment that has no vectors, so its vectorsReader is null, but we assume it is not null when wrapping it in `SortingCodecReader`. So we can easily enough add protection ` (if (null) return null)` in `SortingCodecReader.getVectorReader()` and it is clear that we already expect to handle a null return in the merge call. Indeed I tried this and it fixes the test. What I'm struggling with is (1) why wasn't this a problem in the past? and (2) Why do we need this protection for KnnVectorsReader, but not for all the other reader types. For example, looking at `SortingCodecReader.getPointsReader()` it just assumes that its delegate reader is non-null. Re: (1) ``` java.lang.NullPointerException: Cannot invoke "org.apache.lucene.codecs.KnnVectorsReader.checkIntegrity()" because "this.val$delegate" is null Stacktrace java.lang.NullPointerException: Cannot invoke "org.apache.lucene.codecs.KnnVectorsReader.checkIntegrity()" because "this.val$delegate" is null at org.apache.lucene.index.SortingCodecReader$5.checkIntegrity(SortingCodecReader.java:557) at org.apache.lucene.codecs.KnnVectorsWriter.merge(KnnVectorsWriter.java:95) at org.apache.lucene.index.SegmentMerger.mergeVectorValues(SegmentMerger.java:271) at org.apache.lucene.index.SegmentMerger.mergeWithLogging(SegmentMerger.java:314) at org.apache.lucene.index.SegmentMerger.merge(SegmentMerger.java:158) at org.apache.lucene.index.IndexWriter.addIndexesReaderMerge(IndexWriter.java:3468) at org.apache.lucene.index.IndexWriter$AddIndexesMergeSource.merge(IndexWriter.java:3345) at org.apache.lucene.index.ConcurrentMergeScheduler.doMerge(ConcurrentMergeScheduler.java:668) at org.apache.lucene.index.ConcurrentMergeScheduler$MergeThread.run(ConcurrentMergeScheduler.java:729) Standard Error Jan 09, 2025 8:54:46 PM com.carrotsearch.randomizedtesting.RandomizedRunner$QueueUncaughtExceptionsHandler uncaughtException WARNING: Uncaught exception in thread: Thread[#695,Lucene Merge Thread #0,5,TGRP-TestSortingCodecReader] org.apache.lucene.index.MergePolicy$MergeException: java.lang.NullPointerException: Cannot invoke "org.apache.lucene.codecs.KnnVectorsReader.checkIntegrity()" because "this.val$delegate" is null at __randomizedtesting.SeedInfo.seed([C61D1CC67658F8FD]:0) at org.apache.lucene.index.ConcurrentMergeScheduler.handleMergeException(ConcurrentMergeScheduler.java:764) at org.apache.lucene.index.ConcurrentMergeScheduler$MergeThread.run(ConcurrentMergeScheduler.java:756) Caused by: java.lang.NullPointerException: Cannot invoke "org.apache.lucene.codecs.KnnVectorsReader.checkIntegrity()" because "this.val$delegate" is null at org.apache.lucene.index.SortingCodecReader$5.checkIntegrity(SortingCodecReader.java:557) at org.apache.lucene.codecs.KnnVectorsWriter.merge(KnnVectorsWriter.java:95) at org.apache.lucene.index.SegmentMerger.mergeVectorValues(SegmentMerger.java:271) at org.apache.lucene.index.SegmentMerger.mergeWithLogging(SegmentMerger.java:314) at org.apache.lucene.index.SegmentMerger.merge(SegmentMerger.java:158) at org.apache.lucene.index.IndexWriter.addIndexesReaderMerge(IndexWriter.java:3468) at org.apache.lucene.index.IndexWriter$AddIndexesMergeSource.merge(IndexWriter.java:3345) at org.apache.lucene.index.ConcurrentMergeScheduler.doMerge(ConcurrentMergeScheduler.java:668) at org.apache.lucene.index.ConcurrentMergeScheduler$MergeThread.run(ConcurrentMergeScheduler.java:729) ``` ### Gradle command to reproduce _No response_ -- 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.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