Thanks for digging into this. I do think it will be helpful for developers that blithely access the IndexInput from multiple threads :)
On Sat, Oct 21, 2023 at 3:53 PM Chris Hostetter <hossman_luc...@fucit.org> wrote: > > > Uwe: In your PR, you should add these details to the javadocs of > ByteBufferIndexInput.alreadyClosed(), so future code spelunkers understand > the choice being made here is intentional :) > > : please don't add the NPE here as cause (except for debugging). The NPE is > only > : catched to NOT add extra checks in the highly performance sensitive code. > : Actually the NPE is catched to detect the case where the bytebuffer was > : already unset to trigger the already closed. The code uses setting the > buffers > : to NULL to signal cause, but it does NOT add a NULL check everywhere. This > : allows Hotspot to compile this code without any bounds checks and signal the > : AlreadyClosedException only when a NPE happens. Adding the NPE as cause > would > > > > -Hoss > http://www.lucidworks.com/ > > --------------------------------------------------------------------- > To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org > For additional commands, e-mail: dev-h...@lucene.apache.org > --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org