indexOutput.writeString("no need to write, nobody ever will read this"); indexOutput.close(); assertFileExistsHavingRLCount(filename, 0, true); IndexInput firstOpenOnB = dirB.openInput(filename, IOContext.DEFAULT); assertFileExistsHavingRLCount(filename, 0, true); dirA.deleteFile(filename); assertFileExistsHavingRLCount(filename, 0, false); assertFileExistsHavingRLCount(filename, 0, false); cloneOfFirstOpenOnB.close(); assertFileExistsHavingRLCount(filename, 0, false); IndexInput firstOpenOnA = dirA.openInput(filename, IOContext.DEFAULT); assertFileExistsHavingRLCount(filename, 0, false); IndexInput secondOpenOnA = dirA.openInput(filename, IOContext.DEFAULT); assertFileExistsHavingRLCount(filename, 0, false); firstOpenOnA.close(); assertFileExistsHavingRLCount(filename, 0, false); secondOpenOnA.close(); assertFileExistsHavingRLCount(filename, 0, false); firstOpenOnB.close();