I've hit this while debugging a test, and was able to reproduce with a simple testcase. StandardDirectoryReader.open (nrt) calls IOUtils.close() on hitting an exception from RLD.getReadOnlyClone. But this is wrong, since if two attempts are made to obtain an NRT reader, and both of them fail, the readers that were closed on the first time are no longer closed, since their "closed" member is true. It should instead decRef() them. I'll upload a testcase and fix shortly.