Index: lucene/core/src/java/org/apache/lucene/index/SegmentReader.java =================================================================== --- lucene/core/src/java/org/apache/lucene/index/SegmentReader.java (revision 1481937) +++ lucene/core/src/java/org/apache/lucene/index/SegmentReader.java (working copy) @@ -58,7 +58,7 @@ try { if (si.hasDeletions()) { // NOTE: the bitvector is stored using the regular directory, not cfs - liveDocs = si.info.getCodec().liveDocsFormat().readLiveDocs(directory(), si, new IOContext(IOContext.READ, true)); + liveDocs = si.info.getCodec().liveDocsFormat().readLiveDocs(directory(), si, IOContext.READONCE); } else { assert si.getDelCount() == 0; liveDocs = null; Index: lucene/core/src/java/org/apache/lucene/index/BufferedDeletesStream.java =================================================================== --- lucene/core/src/java/org/apache/lucene/index/BufferedDeletesStream.java (revision 1481937) +++ lucene/core/src/java/org/apache/lucene/index/BufferedDeletesStream.java (working copy) @@ -206,7 +206,7 @@ // Lock order: IW -> BD -> RP assert readerPool.infoIsLive(info); final ReadersAndLiveDocs rld = readerPool.get(info, true); - final SegmentReader reader = rld.getReader(IOContext.READ); + final SegmentReader reader = rld.getReader(IOContext.READONCE); int delCount = 0; final boolean segAllDeletes; try { @@ -259,7 +259,7 @@ // Lock order: IW -> BD -> RP assert readerPool.infoIsLive(info); final ReadersAndLiveDocs rld = readerPool.get(info, true); - final SegmentReader reader = rld.getReader(IOContext.READ); + final SegmentReader reader = rld.getReader(IOContext.READONCE); int delCount = 0; final boolean segAllDeletes; try { Index: lucene/core/src/java/org/apache/lucene/index/CheckIndex.java =================================================================== --- lucene/core/src/java/org/apache/lucene/index/CheckIndex.java (revision 1481937) +++ lucene/core/src/java/org/apache/lucene/index/CheckIndex.java (working copy) @@ -412,7 +412,7 @@ // note: we only read the format byte (required preamble) here! IndexInput input = null; try { - input = dir.openInput(segmentsFileName, IOContext.DEFAULT); + input = dir.openInput(segmentsFileName, IOContext.READONCE); } catch (Throwable t) { msg(infoStream, "ERROR: could not open segments file in directory"); if (infoStream != null) Index: lucene/core/src/java/org/apache/lucene/index/IndexWriter.java =================================================================== --- lucene/core/src/java/org/apache/lucene/index/IndexWriter.java (revision 1481937) +++ lucene/core/src/java/org/apache/lucene/index/IndexWriter.java (working copy) @@ -3811,7 +3811,7 @@ final IndexReaderWarmer mergedSegmentWarmer = config.getMergedSegmentWarmer(); if (poolReaders && mergedSegmentWarmer != null && merge.info.info.getDocCount() != 0) { final ReadersAndLiveDocs rld = readerPool.get(merge.info, true); - final SegmentReader sr = rld.getReader(IOContext.READ); + final SegmentReader sr = rld.getReader(IOContext.READONCE); try { mergedSegmentWarmer.warm(sr); } finally { Index: lucene/test-framework/src/java/org/apache/lucene/index/BasePostingsFormatTestCase.java =================================================================== --- lucene/test-framework/src/java/org/apache/lucene/index/BasePostingsFormatTestCase.java (revision 1481937) +++ lucene/test-framework/src/java/org/apache/lucene/index/BasePostingsFormatTestCase.java (working copy) @@ -567,7 +567,7 @@ currentFieldInfos = newFieldInfos; - SegmentReadState readState = new SegmentReadState(dir, segmentInfo, newFieldInfos, IOContext.DEFAULT, 1); + SegmentReadState readState = new SegmentReadState(dir, segmentInfo, newFieldInfos, IOContext.READ, 1); return codec.postingsFormat().fieldsProducer(readState); }