1010package org .elasticsearch .index .engine ;
1111
1212import org .apache .lucene .codecs .DocValuesProducer ;
13+ import org .apache .lucene .index .BinaryDocValues ;
1314import org .apache .lucene .index .CodecReader ;
15+ import org .apache .lucene .index .DocValuesSkipper ;
1416import org .apache .lucene .index .FieldInfo ;
1517import org .apache .lucene .index .FilterCodecReader ;
1618import org .apache .lucene .index .MergePolicy ;
1719import org .apache .lucene .index .MergeTrigger ;
1820import org .apache .lucene .index .NumericDocValues ;
1921import org .apache .lucene .index .OneMergeWrappingMergePolicy ;
22+ import org .apache .lucene .index .SortedDocValues ;
23+ import org .apache .lucene .index .SortedNumericDocValues ;
24+ import org .apache .lucene .index .SortedSetDocValues ;
2025import org .elasticsearch .ExceptionsHelper ;
2126import org .elasticsearch .action .support .PlainActionFuture ;
2227import org .elasticsearch .action .support .WriteRequest ;
2328import org .elasticsearch .cluster .health .ClusterHealthStatus ;
2429import org .elasticsearch .cluster .metadata .IndexMetadata ;
25- import org .elasticsearch .cluster .metadata .ProjectId ;
2630import org .elasticsearch .cluster .node .DiscoveryNode ;
2731import org .elasticsearch .cluster .routing .IndexShardRoutingTable ;
2832import org .elasticsearch .cluster .routing .ShardRoutingState ;
3842import org .elasticsearch .index .IndexModule ;
3943import org .elasticsearch .index .IndexSettings ;
4044import org .elasticsearch .index .MergeSchedulerConfig ;
41- import org .elasticsearch .index .codec .FilterDocValuesProducer ;
4245import org .elasticsearch .index .merge .OnGoingMerge ;
4346import org .elasticsearch .index .shard .IndexEventListener ;
4447import org .elasticsearch .index .shard .ShardId ;
@@ -122,14 +125,50 @@ public CacheHelper getReaderCacheHelper() {
122125
123126 @ Override
124127 public DocValuesProducer getDocValuesReader () {
125- return new FilterDocValuesProducer (super .getDocValuesReader ()) {
128+ final var in = super .getDocValuesReader ();
129+ return new DocValuesProducer () {
126130 @ Override
127131 public NumericDocValues getNumeric (FieldInfo field ) throws IOException {
128132 safeAwait (runMerges , TimeValue .ONE_MINUTE );
129133 if (failOnce .compareAndSet (false , true )) {
130134 throw new IOException (FAILING_MERGE_ON_PURPOSE );
131135 }
132- return super .getNumeric (field );
136+ return in .getNumeric (field );
137+ }
138+
139+ @ Override
140+ public BinaryDocValues getBinary (FieldInfo field ) throws IOException {
141+ return in .getBinary (field );
142+ }
143+
144+ @ Override
145+ public SortedDocValues getSorted (FieldInfo fieldInfo ) throws IOException {
146+ return in .getSorted (fieldInfo );
147+ }
148+
149+ @ Override
150+ public SortedNumericDocValues getSortedNumeric (FieldInfo fieldInfo ) throws IOException {
151+ return in .getSortedNumeric (fieldInfo );
152+ }
153+
154+ @ Override
155+ public SortedSetDocValues getSortedSet (FieldInfo field ) throws IOException {
156+ return in .getSortedSet (field );
157+ }
158+
159+ @ Override
160+ public DocValuesSkipper getSkipper (FieldInfo fieldInfo ) throws IOException {
161+ return in .getSkipper (fieldInfo );
162+ }
163+
164+ @ Override
165+ public void checkIntegrity () throws IOException {
166+ in .checkIntegrity ();
167+ }
168+
169+ @ Override
170+ public void close () throws IOException {
171+ in .close ();
133172 }
134173 };
135174 }
@@ -151,11 +190,10 @@ private class TestEngine extends InternalEngine {
151190 protected ElasticsearchMergeScheduler createMergeScheduler (
152191 ShardId shardId ,
153192 IndexSettings indexSettings ,
154- ThreadPoolMergeExecutorService executor ,
155- MergeMetrics metrics
193+ ThreadPoolMergeExecutorService executor
156194 ) {
157195 threadPoolMergeExecutorServiceReference .set (Objects .requireNonNull (executor ));
158- return new ThreadPoolMergeScheduler (shardId , indexSettings , executor , merge -> 0L , metrics ) {
196+ return new ThreadPoolMergeScheduler (shardId , indexSettings , executor , merge -> 0L ) {
159197
160198 @ Override
161199 public void merge (MergeSource mergeSource , MergeTrigger trigger ) {
@@ -337,7 +375,7 @@ public void testFailedMergeDeadlock() throws Exception {
337375 }
338376
339377 // check the state of the shard
340- var routingTable = internalCluster ().clusterService (dataNode ).state ().routingTable (ProjectId . DEFAULT );
378+ var routingTable = internalCluster ().clusterService (dataNode ).state ().routingTable ();
341379 var indexRoutingTable = routingTable .index (shardId .getIndex ());
342380 var primary = asInstanceOf (IndexShardRoutingTable .class , indexRoutingTable .shard (shardId .id ())).primaryShard ();
343381 assertThat (primary .state (), equalTo (ShardRoutingState .UNASSIGNED ));
0 commit comments