diff --git a/server/src/main/java/org/elasticsearch/index/engine/LuceneChangesSnapshot.java b/server/src/main/java/org/elasticsearch/index/engine/LuceneChangesSnapshot.java index 1f13c82d63a2f..88a2d93eb6805 100644 --- a/server/src/main/java/org/elasticsearch/index/engine/LuceneChangesSnapshot.java +++ b/server/src/main/java/org/elasticsearch/index/engine/LuceneChangesSnapshot.java @@ -23,7 +23,6 @@ import org.apache.lucene.util.ArrayUtil; import org.elasticsearch.common.bytes.BytesReference; import org.elasticsearch.common.lucene.Lucene; -import org.elasticsearch.common.lucene.index.SequentialStoredFieldsLeafReader; import org.elasticsearch.common.lucene.search.Queries; import org.elasticsearch.core.internal.io.IOUtils; import org.elasticsearch.index.fieldvisitor.FieldsVisitor; @@ -219,12 +218,8 @@ private Translog.Operation readDocAsOp(int docIndex) throws IOException { final String sourceField = parallelArray.hasRecoverySource[docIndex] ? SourceFieldMapper.RECOVERY_SOURCE_NAME : SourceFieldMapper.NAME; final FieldsVisitor fields = new FieldsVisitor(true, sourceField); - if (leaf.reader() instanceof SequentialStoredFieldsLeafReader) { - ((SequentialStoredFieldsLeafReader) leaf.reader()).getSequentialStoredFieldsReader().visitDocument(segmentDocID, fields); - } else { - assert false : "The changes reader isn't wrapped with Lucene#wrapAllDocsLive"; - throw new IllegalStateException("The changes reader isn't wrapped with Lucene#wrapAllDocsLive"); - } + leaf.reader().document(segmentDocID, fields); + final Translog.Operation op; final boolean isTombstone = parallelArray.isTombStone[docIndex]; if (isTombstone && fields.id() == null) { diff --git a/test/framework/src/main/java/org/elasticsearch/test/engine/ThrowingLeafReaderWrapper.java b/test/framework/src/main/java/org/elasticsearch/test/engine/ThrowingLeafReaderWrapper.java index 619b7484c7f78..5fab629a5b3f7 100644 --- a/test/framework/src/main/java/org/elasticsearch/test/engine/ThrowingLeafReaderWrapper.java +++ b/test/framework/src/main/java/org/elasticsearch/test/engine/ThrowingLeafReaderWrapper.java @@ -8,9 +8,9 @@ package org.elasticsearch.test.engine; -import org.apache.lucene.codecs.StoredFieldsReader; import org.apache.lucene.index.BinaryDocValues; import org.apache.lucene.index.Fields; +import org.apache.lucene.index.FilterLeafReader; import org.apache.lucene.index.LeafReader; import org.apache.lucene.index.NumericDocValues; import org.apache.lucene.index.PostingsEnum; @@ -20,7 +20,6 @@ import org.apache.lucene.index.TermsEnum; import org.apache.lucene.util.BytesRef; import org.apache.lucene.util.automaton.CompiledAutomaton; -import org.elasticsearch.common.lucene.index.SequentialStoredFieldsLeafReader; import java.io.IOException; @@ -29,7 +28,7 @@ * are called on is. This allows to test parts of the system under certain * error conditions that would otherwise not be possible. */ -public class ThrowingLeafReaderWrapper extends SequentialStoredFieldsLeafReader { +public class ThrowingLeafReaderWrapper extends FilterLeafReader { private final Thrower thrower; @@ -198,9 +197,4 @@ public CacheHelper getCoreCacheHelper() { public CacheHelper getReaderCacheHelper() { return in.getReaderCacheHelper(); } - - @Override - protected StoredFieldsReader doGetSequentialStoredFieldsReader(StoredFieldsReader reader) { - return reader; - } }