diff --git a/core/src/main/java/org/elasticsearch/action/admin/indices/validate/query/TransportValidateQueryAction.java b/core/src/main/java/org/elasticsearch/action/admin/indices/validate/query/TransportValidateQueryAction.java index 7c8d52b6a60..d1405e92e1c 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/indices/validate/query/TransportValidateQueryAction.java +++ b/core/src/main/java/org/elasticsearch/action/admin/indices/validate/query/TransportValidateQueryAction.java @@ -28,7 +28,6 @@ import org.elasticsearch.action.support.ActionFilters; import org.elasticsearch.action.support.DefaultShardOperationFailedException; import org.elasticsearch.action.support.broadcast.BroadcastShardOperationFailedException; import org.elasticsearch.action.support.broadcast.TransportBroadcastAction; -import org.elasticsearch.cache.recycler.PageCacheRecycler; import org.elasticsearch.cluster.ClusterState; import org.elasticsearch.cluster.block.ClusterBlockException; import org.elasticsearch.cluster.block.ClusterBlockLevel; @@ -43,7 +42,6 @@ import org.elasticsearch.common.settings.Settings; import org.elasticsearch.common.util.BigArrays; import org.elasticsearch.index.IndexService; import org.elasticsearch.index.engine.Engine; -import org.elasticsearch.index.query.QueryShardContext; import org.elasticsearch.index.query.QueryShardException; import org.elasticsearch.index.shard.IndexShard; import org.elasticsearch.indices.IndicesService; @@ -73,8 +71,6 @@ public class TransportValidateQueryAction extends TransportBroadcastAction { +public interface Recycler extends Releasable { - public static interface Factory { + interface Factory { Recycler build(); } - public static interface C { + interface C { /** Create a new empty instance of the given size. */ T newInstance(int sizing); @@ -43,7 +43,7 @@ public interface Recycler { void destroy(T value); } - public static interface V extends Releasable { + interface V extends Releasable { /** Reference to the value. */ T v(); diff --git a/core/src/main/java/org/elasticsearch/common/settings/ClusterSettings.java b/core/src/main/java/org/elasticsearch/common/settings/ClusterSettings.java index b29e7604a98..3510b952660 100644 --- a/core/src/main/java/org/elasticsearch/common/settings/ClusterSettings.java +++ b/core/src/main/java/org/elasticsearch/common/settings/ClusterSettings.java @@ -24,7 +24,7 @@ import org.elasticsearch.action.support.AutoCreateIndex; import org.elasticsearch.action.support.DestructiveOperations; import org.elasticsearch.action.support.master.TransportMasterNodeReadAction; import org.elasticsearch.bootstrap.BootstrapSettings; -import org.elasticsearch.cache.recycler.PageCacheRecycler; +import org.elasticsearch.common.util.PageCacheRecycler; import org.elasticsearch.client.Client; import org.elasticsearch.client.transport.TransportClientNodesService; import org.elasticsearch.cluster.ClusterModule; diff --git a/core/src/main/java/org/elasticsearch/common/util/AbstractBigArray.java b/core/src/main/java/org/elasticsearch/common/util/AbstractBigArray.java index 29beee99d5a..f26dad1fdb5 100644 --- a/core/src/main/java/org/elasticsearch/common/util/AbstractBigArray.java +++ b/core/src/main/java/org/elasticsearch/common/util/AbstractBigArray.java @@ -21,7 +21,6 @@ package org.elasticsearch.common.util; import org.apache.lucene.util.ArrayUtil; import org.apache.lucene.util.RamUsageEstimator; -import org.elasticsearch.cache.recycler.PageCacheRecycler; import org.elasticsearch.common.lease.Releasables; import org.elasticsearch.common.recycler.Recycler; diff --git a/core/src/main/java/org/elasticsearch/common/util/BigArrays.java b/core/src/main/java/org/elasticsearch/common/util/BigArrays.java index dfef49ca9d4..017881a9218 100644 --- a/core/src/main/java/org/elasticsearch/common/util/BigArrays.java +++ b/core/src/main/java/org/elasticsearch/common/util/BigArrays.java @@ -22,7 +22,6 @@ package org.elasticsearch.common.util; import org.apache.lucene.util.ArrayUtil; import org.apache.lucene.util.BytesRef; import org.apache.lucene.util.RamUsageEstimator; -import org.elasticsearch.cache.recycler.PageCacheRecycler; import org.elasticsearch.common.Nullable; import org.elasticsearch.common.breaker.CircuitBreaker; import org.elasticsearch.common.breaker.CircuitBreakingException; @@ -30,14 +29,15 @@ import org.elasticsearch.common.inject.Inject; import org.elasticsearch.common.lease.Releasable; import org.elasticsearch.common.lease.Releasables; import org.elasticsearch.common.recycler.Recycler; +import org.elasticsearch.common.settings.Settings; import org.elasticsearch.indices.breaker.CircuitBreakerService; import java.util.Arrays; /** Utility class to work with arrays. */ -public class BigArrays { +public class BigArrays implements Releasable { - public static final BigArrays NON_RECYCLING_INSTANCE = new BigArrays(null, null); + public static final BigArrays NON_RECYCLING_INSTANCE = new BigArrays(null, null, false); /** Page size in bytes: 16KB */ public static final int PAGE_SIZE_IN_BYTES = 1 << 14; @@ -84,6 +84,11 @@ public class BigArrays { return index == (int) index; } + @Override + public void close() { + recycler.close(); + } + private static abstract class AbstractArrayWrapper extends AbstractArray implements BigArray { protected static final long SHALLOW_SIZE = RamUsageEstimator.shallowSizeOfInstance(ByteArrayWrapper.class); @@ -369,9 +374,9 @@ public class BigArrays { private final BigArrays circuitBreakingInstance; @Inject - public BigArrays(PageCacheRecycler recycler, @Nullable final CircuitBreakerService breakerService) { + public BigArrays(Settings settings, @Nullable final CircuitBreakerService breakerService) { // Checking the breaker is disabled if not specified - this(recycler, breakerService, false); + this(new PageCacheRecycler(settings), breakerService, false); } public BigArrays(PageCacheRecycler recycler, @Nullable final CircuitBreakerService breakerService, boolean checkBreaker) { diff --git a/core/src/main/java/org/elasticsearch/cache/recycler/PageCacheRecycler.java b/core/src/main/java/org/elasticsearch/common/util/PageCacheRecycler.java similarity index 97% rename from core/src/main/java/org/elasticsearch/cache/recycler/PageCacheRecycler.java rename to core/src/main/java/org/elasticsearch/common/util/PageCacheRecycler.java index 69ff997a85a..eed357dee74 100644 --- a/core/src/main/java/org/elasticsearch/cache/recycler/PageCacheRecycler.java +++ b/core/src/main/java/org/elasticsearch/common/util/PageCacheRecycler.java @@ -17,11 +17,12 @@ * under the License. */ -package org.elasticsearch.cache.recycler; +package org.elasticsearch.common.util; import org.elasticsearch.common.component.AbstractComponent; import org.elasticsearch.common.inject.Inject; import org.elasticsearch.common.lease.Releasable; +import org.elasticsearch.common.lease.Releasables; import org.elasticsearch.common.recycler.AbstractRecyclerC; import org.elasticsearch.common.recycler.Recycler; import org.elasticsearch.common.settings.Setting; @@ -63,14 +64,10 @@ public class PageCacheRecycler extends AbstractComponent implements Releasable { @Override public void close() { - bytePage.close(); - intPage.close(); - longPage.close(); - objectPage.close(); + Releasables.close(true, bytePage, intPage, longPage, objectPage); } - @Inject - public PageCacheRecycler(Settings settings) { + protected PageCacheRecycler(Settings settings) { super(settings); final Type type = TYPE_SETTING .get(settings); final long limit = LIMIT_HEAP_SETTING .get(settings).bytes(); diff --git a/core/src/main/java/org/elasticsearch/node/Node.java b/core/src/main/java/org/elasticsearch/node/Node.java index 2b7651de7b6..cf33770fd16 100644 --- a/core/src/main/java/org/elasticsearch/node/Node.java +++ b/core/src/main/java/org/elasticsearch/node/Node.java @@ -26,7 +26,6 @@ import org.elasticsearch.ElasticsearchException; import org.elasticsearch.ElasticsearchTimeoutException; import org.elasticsearch.Version; import org.elasticsearch.action.ActionModule; -import org.elasticsearch.cache.recycler.PageCacheRecycler; import org.elasticsearch.client.Client; import org.elasticsearch.client.node.NodeClientModule; import org.elasticsearch.cluster.ClusterModule; @@ -62,6 +61,7 @@ import org.elasticsearch.common.settings.SettingsModule; import org.elasticsearch.common.transport.BoundTransportAddress; import org.elasticsearch.common.transport.TransportAddress; import org.elasticsearch.common.unit.TimeValue; +import org.elasticsearch.common.util.BigArrays; import org.elasticsearch.common.xcontent.json.JsonXContent; import org.elasticsearch.discovery.Discovery; import org.elasticsearch.discovery.DiscoveryModule; @@ -526,7 +526,7 @@ public class Node implements Closeable { toClose.add(injector.getInstance(NodeEnvironment.class)); - toClose.add(injector.getInstance(PageCacheRecycler.class)); + toClose.add(injector.getInstance(BigArrays.class)); if (logger.isTraceEnabled()) { logger.trace("Close times for each service:\n{}", stopWatch.prettyPrint()); diff --git a/core/src/main/java/org/elasticsearch/node/NodeModule.java b/core/src/main/java/org/elasticsearch/node/NodeModule.java index 8c9b3e362fc..08b60970229 100644 --- a/core/src/main/java/org/elasticsearch/node/NodeModule.java +++ b/core/src/main/java/org/elasticsearch/node/NodeModule.java @@ -19,7 +19,6 @@ package org.elasticsearch.node; -import org.elasticsearch.cache.recycler.PageCacheRecycler; import org.elasticsearch.common.inject.AbstractModule; import org.elasticsearch.common.util.BigArrays; import org.elasticsearch.ingest.ProcessorsRegistry; @@ -56,7 +55,6 @@ public class NodeModule extends AbstractModule { private final ProcessorsRegistry.Builder processorsRegistryBuilder; // pkg private so tests can mock - Class pageCacheRecyclerImpl = PageCacheRecycler.class; Class bigArraysImpl = BigArrays.class; public NodeModule(Node node, MonitorService monitorService) { @@ -84,11 +82,6 @@ public class NodeModule extends AbstractModule { @Override protected void configure() { - if (pageCacheRecyclerImpl == PageCacheRecycler.class) { - bind(PageCacheRecycler.class).asEagerSingleton(); - } else { - bind(PageCacheRecycler.class).to(pageCacheRecyclerImpl).asEagerSingleton(); - } if (bigArraysImpl == BigArrays.class) { bind(BigArrays.class).asEagerSingleton(); } else { diff --git a/core/src/main/java/org/elasticsearch/search/SearchService.java b/core/src/main/java/org/elasticsearch/search/SearchService.java index 4cf440f0a95..2f0ea96c6fc 100644 --- a/core/src/main/java/org/elasticsearch/search/SearchService.java +++ b/core/src/main/java/org/elasticsearch/search/SearchService.java @@ -33,10 +33,8 @@ import java.util.concurrent.ScheduledFuture; import java.util.concurrent.atomic.AtomicLong; import org.apache.lucene.search.FieldDoc; -import org.apache.lucene.search.Sort; import org.apache.lucene.search.TopDocs; import org.elasticsearch.ExceptionsHelper; -import org.elasticsearch.cache.recycler.PageCacheRecycler; import org.elasticsearch.cluster.metadata.IndexMetaData; import org.elasticsearch.cluster.service.ClusterService; import org.elasticsearch.common.Nullable; @@ -134,8 +132,6 @@ public class SearchService extends AbstractLifecycleComponent imp private final ScriptService scriptService; - private final PageCacheRecycler pageCacheRecycler; - private final BigArrays bigArrays; private final DfsPhase dfsPhase; @@ -162,7 +158,7 @@ public class SearchService extends AbstractLifecycleComponent imp @Inject public SearchService(Settings settings, ClusterSettings clusterSettings, ClusterService clusterService, IndicesService indicesService, - ThreadPool threadPool, ScriptService scriptService, PageCacheRecycler pageCacheRecycler, BigArrays bigArrays, DfsPhase dfsPhase, + ThreadPool threadPool, ScriptService scriptService, BigArrays bigArrays, DfsPhase dfsPhase, QueryPhase queryPhase, FetchPhase fetchPhase, AggregatorParsers aggParsers, Suggesters suggesters) { super(settings); this.aggParsers = aggParsers; @@ -172,7 +168,6 @@ public class SearchService extends AbstractLifecycleComponent imp this.clusterService = clusterService; this.indicesService = indicesService; this.scriptService = scriptService; - this.pageCacheRecycler = pageCacheRecycler; this.bigArrays = bigArrays; this.dfsPhase = dfsPhase; this.queryPhase = queryPhase; @@ -548,7 +543,7 @@ public class SearchService extends AbstractLifecycleComponent imp DefaultSearchContext context = new DefaultSearchContext(idGenerator.incrementAndGet(), request, shardTarget, engineSearcher, indexService, - indexShard, scriptService, pageCacheRecycler, bigArrays, threadPool.estimatedTimeInMillisCounter(), parseFieldMatcher, + indexShard, scriptService, bigArrays, threadPool.estimatedTimeInMillisCounter(), parseFieldMatcher, defaultSearchTimeout, fetchPhase); SearchContext.setCurrent(context); request.rewrite(context.getQueryShardContext()); diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/support/AggregationContext.java b/core/src/main/java/org/elasticsearch/search/aggregations/support/AggregationContext.java index 1ee72d2b572..d66a1664c8f 100644 --- a/core/src/main/java/org/elasticsearch/search/aggregations/support/AggregationContext.java +++ b/core/src/main/java/org/elasticsearch/search/aggregations/support/AggregationContext.java @@ -19,7 +19,6 @@ package org.elasticsearch.search.aggregations.support; import org.apache.lucene.util.BytesRef; -import org.elasticsearch.cache.recycler.PageCacheRecycler; import org.elasticsearch.common.Nullable; import org.elasticsearch.common.geo.GeoPoint; import org.elasticsearch.common.geo.GeoUtils; @@ -51,10 +50,6 @@ public class AggregationContext { return searchContext; } - public PageCacheRecycler pageCacheRecycler() { - return searchContext.pageCacheRecycler(); - } - public BigArrays bigArrays() { return searchContext.bigArrays(); } diff --git a/core/src/main/java/org/elasticsearch/search/internal/DefaultSearchContext.java b/core/src/main/java/org/elasticsearch/search/internal/DefaultSearchContext.java index e69e4094f44..a001ab22ac4 100644 --- a/core/src/main/java/org/elasticsearch/search/internal/DefaultSearchContext.java +++ b/core/src/main/java/org/elasticsearch/search/internal/DefaultSearchContext.java @@ -29,7 +29,6 @@ import org.apache.lucene.search.FieldDoc; import org.apache.lucene.util.BytesRef; import org.apache.lucene.util.Counter; import org.elasticsearch.action.search.SearchType; -import org.elasticsearch.cache.recycler.PageCacheRecycler; import org.elasticsearch.common.Nullable; import org.elasticsearch.common.ParseFieldMatcher; import org.elasticsearch.common.lease.Releasables; @@ -91,7 +90,6 @@ public class DefaultSearchContext extends SearchContext { private SearchType searchType; private final Engine.Searcher engineSearcher; private final ScriptService scriptService; - private final PageCacheRecycler pageCacheRecycler; private final BigArrays bigArrays; private final IndexShard indexShard; private final IndexService indexService; @@ -153,7 +151,7 @@ public class DefaultSearchContext extends SearchContext { private FetchPhase fetchPhase; public DefaultSearchContext(long id, ShardSearchRequest request, SearchShardTarget shardTarget, Engine.Searcher engineSearcher, - IndexService indexService, IndexShard indexShard, ScriptService scriptService, PageCacheRecycler pageCacheRecycler, + IndexService indexService, IndexShard indexShard, ScriptService scriptService, BigArrays bigArrays, Counter timeEstimateCounter, ParseFieldMatcher parseFieldMatcher, TimeValue timeout, FetchPhase fetchPhase) { super(parseFieldMatcher); @@ -164,7 +162,6 @@ public class DefaultSearchContext extends SearchContext { this.shardTarget = shardTarget; this.engineSearcher = engineSearcher; this.scriptService = scriptService; - this.pageCacheRecycler = pageCacheRecycler; // SearchContexts use a BigArrays that can circuit break this.bigArrays = bigArrays.withCircuitBreaking(); this.dfsResult = new DfsSearchResult(id, shardTarget); @@ -474,11 +471,6 @@ public class DefaultSearchContext extends SearchContext { return scriptService; } - @Override - public PageCacheRecycler pageCacheRecycler() { - return pageCacheRecycler; - } - @Override public BigArrays bigArrays() { return bigArrays; diff --git a/core/src/main/java/org/elasticsearch/search/internal/FilteredSearchContext.java b/core/src/main/java/org/elasticsearch/search/internal/FilteredSearchContext.java index ac283f1f7ef..822ac6f5422 100644 --- a/core/src/main/java/org/elasticsearch/search/internal/FilteredSearchContext.java +++ b/core/src/main/java/org/elasticsearch/search/internal/FilteredSearchContext.java @@ -24,7 +24,6 @@ import org.apache.lucene.search.FieldDoc; import org.apache.lucene.search.Query; import org.apache.lucene.util.Counter; import org.elasticsearch.action.search.SearchType; -import org.elasticsearch.cache.recycler.PageCacheRecycler; import org.elasticsearch.common.ParseFieldMatcher; import org.elasticsearch.common.util.BigArrays; import org.elasticsearch.index.analysis.AnalysisService; @@ -249,11 +248,6 @@ public abstract class FilteredSearchContext extends SearchContext { return in.scriptService(); } - @Override - public PageCacheRecycler pageCacheRecycler() { - return in.pageCacheRecycler(); - } - @Override public BigArrays bigArrays() { return in.bigArrays(); diff --git a/core/src/main/java/org/elasticsearch/search/internal/SearchContext.java b/core/src/main/java/org/elasticsearch/search/internal/SearchContext.java index 55b66c42a60..5135f42ab56 100644 --- a/core/src/main/java/org/elasticsearch/search/internal/SearchContext.java +++ b/core/src/main/java/org/elasticsearch/search/internal/SearchContext.java @@ -22,10 +22,8 @@ package org.elasticsearch.search.internal; import org.apache.lucene.search.Collector; import org.apache.lucene.search.FieldDoc; import org.apache.lucene.search.Query; -import org.apache.lucene.search.Sort; import org.apache.lucene.util.Counter; import org.elasticsearch.action.search.SearchType; -import org.elasticsearch.cache.recycler.PageCacheRecycler; import org.elasticsearch.common.Nullable; import org.elasticsearch.common.ParseFieldMatcher; import org.elasticsearch.common.lease.Releasable; @@ -222,8 +220,6 @@ public abstract class SearchContext implements Releasable { public abstract ScriptService scriptService(); - public abstract PageCacheRecycler pageCacheRecycler(); - public abstract BigArrays bigArrays(); public abstract BitsetFilterCache bitsetFilterCache(); diff --git a/core/src/test/java/org/elasticsearch/common/bytes/PagedBytesReferenceTests.java b/core/src/test/java/org/elasticsearch/common/bytes/PagedBytesReferenceTests.java index 90b253ec441..9cb633e410e 100644 --- a/core/src/test/java/org/elasticsearch/common/bytes/PagedBytesReferenceTests.java +++ b/core/src/test/java/org/elasticsearch/common/bytes/PagedBytesReferenceTests.java @@ -51,7 +51,7 @@ public class PagedBytesReferenceTests extends ESTestCase { @Before public void setUp() throws Exception { super.setUp(); - bigarrays = new BigArrays(null, new NoneCircuitBreakerService()); + bigarrays = new BigArrays(null, new NoneCircuitBreakerService(), false); } @Override diff --git a/core/src/test/java/org/elasticsearch/common/util/BigArraysTests.java b/core/src/test/java/org/elasticsearch/common/util/BigArraysTests.java index 3192c8242b5..6fadb6e5506 100644 --- a/core/src/test/java/org/elasticsearch/common/util/BigArraysTests.java +++ b/core/src/test/java/org/elasticsearch/common/util/BigArraysTests.java @@ -20,7 +20,6 @@ package org.elasticsearch.common.util; import org.apache.lucene.util.BytesRef; -import org.elasticsearch.cache.recycler.PageCacheRecycler; import org.elasticsearch.common.breaker.CircuitBreaker; import org.elasticsearch.common.breaker.CircuitBreakingException; import org.elasticsearch.common.settings.ClusterSettings; @@ -38,8 +37,7 @@ import java.util.Arrays; public class BigArraysTests extends ESSingleNodeTestCase { private BigArrays randombigArrays() { - final PageCacheRecycler recycler = randomBoolean() ? null : getInstanceFromNode(PageCacheRecycler.class); - return new MockBigArrays(recycler, new NoneCircuitBreakerService()); + return new MockBigArrays(Settings.EMPTY, new NoneCircuitBreakerService()); } private BigArrays bigArrays; @@ -339,7 +337,7 @@ public class BigArraysTests extends ESSingleNodeTestCase { .put(HierarchyCircuitBreakerService.REQUEST_CIRCUIT_BREAKER_LIMIT_SETTING.getKey(), size - 1, ByteSizeUnit.BYTES) .build(), new ClusterSettings(Settings.EMPTY, ClusterSettings.BUILT_IN_CLUSTER_SETTINGS)); - BigArrays bigArrays = new BigArrays(null, hcbs).withCircuitBreaking(); + BigArrays bigArrays = new BigArrays(null, hcbs, false).withCircuitBreaking(); Method create = BigArrays.class.getMethod("new" + type + "Array", long.class); try { create.invoke(bigArrays, size); @@ -359,7 +357,7 @@ public class BigArraysTests extends ESSingleNodeTestCase { .put(HierarchyCircuitBreakerService.REQUEST_CIRCUIT_BREAKER_LIMIT_SETTING.getKey(), maxSize, ByteSizeUnit.BYTES) .build(), new ClusterSettings(Settings.EMPTY, ClusterSettings.BUILT_IN_CLUSTER_SETTINGS)); - BigArrays bigArrays = new BigArrays(null, hcbs).withCircuitBreaking(); + BigArrays bigArrays = new BigArrays(null, hcbs, false).withCircuitBreaking(); Method create = BigArrays.class.getMethod("new" + type + "Array", long.class); final int size = scaledRandomIntBetween(1, 20); BigArray array = (BigArray) create.invoke(bigArrays, size); diff --git a/core/src/test/java/org/elasticsearch/common/util/BytesRefHashTests.java b/core/src/test/java/org/elasticsearch/common/util/BytesRefHashTests.java index 8b0051228b4..9f90fcf151d 100644 --- a/core/src/test/java/org/elasticsearch/common/util/BytesRefHashTests.java +++ b/core/src/test/java/org/elasticsearch/common/util/BytesRefHashTests.java @@ -25,7 +25,7 @@ import com.carrotsearch.hppc.cursors.ObjectLongCursor; import org.apache.lucene.util.BytesRef; import org.apache.lucene.util.BytesRefBuilder; import org.apache.lucene.util.TestUtil; -import org.elasticsearch.cache.recycler.PageCacheRecycler; +import org.elasticsearch.common.settings.Settings; import org.elasticsearch.indices.breaker.NoneCircuitBreakerService; import org.elasticsearch.test.ESSingleNodeTestCase; @@ -41,8 +41,7 @@ public class BytesRefHashTests extends ESSingleNodeTestCase { BytesRefHash hash; private BigArrays randombigArrays() { - final PageCacheRecycler recycler = randomBoolean() ? null : getInstanceFromNode(PageCacheRecycler.class); - return new MockBigArrays(recycler, new NoneCircuitBreakerService()); + return new MockBigArrays(Settings.EMPTY, new NoneCircuitBreakerService()); } private void newHash() { diff --git a/core/src/test/java/org/elasticsearch/common/util/LongHashTests.java b/core/src/test/java/org/elasticsearch/common/util/LongHashTests.java index 9439044a7be..66c9e689c96 100644 --- a/core/src/test/java/org/elasticsearch/common/util/LongHashTests.java +++ b/core/src/test/java/org/elasticsearch/common/util/LongHashTests.java @@ -22,7 +22,7 @@ package org.elasticsearch.common.util; import com.carrotsearch.hppc.LongLongHashMap; import com.carrotsearch.hppc.LongLongMap; import com.carrotsearch.hppc.cursors.LongLongCursor; -import org.elasticsearch.cache.recycler.PageCacheRecycler; +import org.elasticsearch.common.settings.Settings; import org.elasticsearch.indices.breaker.NoneCircuitBreakerService; import org.elasticsearch.test.ESSingleNodeTestCase; @@ -36,8 +36,7 @@ public class LongHashTests extends ESSingleNodeTestCase { LongHash hash; private BigArrays randombigArrays() { - final PageCacheRecycler recycler = randomBoolean() ? null : getInstanceFromNode(PageCacheRecycler.class); - return new MockBigArrays(recycler, new NoneCircuitBreakerService()); + return new MockBigArrays(Settings.EMPTY, new NoneCircuitBreakerService()); } private void newHash() { diff --git a/core/src/test/java/org/elasticsearch/common/util/LongObjectHashMapTests.java b/core/src/test/java/org/elasticsearch/common/util/LongObjectHashMapTests.java index 1775f86199a..f783317808d 100644 --- a/core/src/test/java/org/elasticsearch/common/util/LongObjectHashMapTests.java +++ b/core/src/test/java/org/elasticsearch/common/util/LongObjectHashMapTests.java @@ -20,15 +20,14 @@ package org.elasticsearch.common.util; import com.carrotsearch.hppc.LongObjectHashMap; -import org.elasticsearch.cache.recycler.PageCacheRecycler; +import org.elasticsearch.common.settings.Settings; import org.elasticsearch.indices.breaker.NoneCircuitBreakerService; import org.elasticsearch.test.ESSingleNodeTestCase; public class LongObjectHashMapTests extends ESSingleNodeTestCase { private BigArrays randombigArrays() { - final PageCacheRecycler recycler = randomBoolean() ? null : getInstanceFromNode(PageCacheRecycler.class); - return new MockBigArrays(recycler, new NoneCircuitBreakerService()); + return new MockBigArrays(Settings.EMPTY, new NoneCircuitBreakerService()); } public void testDuel() { diff --git a/core/src/test/java/org/elasticsearch/http/netty/NettyHttpChannelTests.java b/core/src/test/java/org/elasticsearch/http/netty/NettyHttpChannelTests.java index 8098d557a05..e7e3c41820b 100644 --- a/core/src/test/java/org/elasticsearch/http/netty/NettyHttpChannelTests.java +++ b/core/src/test/java/org/elasticsearch/http/netty/NettyHttpChannelTests.java @@ -19,7 +19,6 @@ package org.elasticsearch.http.netty; -import org.elasticsearch.cache.recycler.MockPageCacheRecycler; import org.elasticsearch.common.bytes.BytesArray; import org.elasticsearch.common.bytes.BytesReference; import org.elasticsearch.common.network.NetworkService; @@ -72,8 +71,7 @@ public class NettyHttpChannelTests extends ESTestCase { public void setup() throws Exception { networkService = new NetworkService(Settings.EMPTY); threadPool = new ThreadPool("test"); - MockPageCacheRecycler mockPageCacheRecycler = new MockPageCacheRecycler(Settings.EMPTY); - bigArrays = new MockBigArrays(mockPageCacheRecycler, new NoneCircuitBreakerService()); + bigArrays = new MockBigArrays(Settings.EMPTY, new NoneCircuitBreakerService()); } @After diff --git a/core/src/test/java/org/elasticsearch/http/netty/NettyHttpServerPipeliningTests.java b/core/src/test/java/org/elasticsearch/http/netty/NettyHttpServerPipeliningTests.java index f233512e4ce..db48a56a122 100644 --- a/core/src/test/java/org/elasticsearch/http/netty/NettyHttpServerPipeliningTests.java +++ b/core/src/test/java/org/elasticsearch/http/netty/NettyHttpServerPipeliningTests.java @@ -18,7 +18,6 @@ */ package org.elasticsearch.http.netty; -import org.elasticsearch.cache.recycler.MockPageCacheRecycler; import org.elasticsearch.common.network.NetworkService; import org.elasticsearch.common.settings.Settings; import org.elasticsearch.common.transport.InetSocketTransportAddress; @@ -68,7 +67,6 @@ import static org.jboss.netty.handler.codec.http.HttpVersion.HTTP_1_1; public class NettyHttpServerPipeliningTests extends ESTestCase { private NetworkService networkService; private ThreadPool threadPool; - private MockPageCacheRecycler mockPageCacheRecycler; private MockBigArrays bigArrays; private CustomNettyHttpServerTransport httpServerTransport; @@ -76,8 +74,7 @@ public class NettyHttpServerPipeliningTests extends ESTestCase { public void setup() throws Exception { networkService = new NetworkService(Settings.EMPTY); threadPool = new ThreadPool("test"); - mockPageCacheRecycler = new MockPageCacheRecycler(Settings.EMPTY); - bigArrays = new MockBigArrays(mockPageCacheRecycler, new NoneCircuitBreakerService()); + bigArrays = new MockBigArrays(Settings.EMPTY, new NoneCircuitBreakerService()); } @After diff --git a/core/src/test/java/org/elasticsearch/http/netty/NettyHttpServerTransportTests.java b/core/src/test/java/org/elasticsearch/http/netty/NettyHttpServerTransportTests.java index 3089225e453..da548c93985 100644 --- a/core/src/test/java/org/elasticsearch/http/netty/NettyHttpServerTransportTests.java +++ b/core/src/test/java/org/elasticsearch/http/netty/NettyHttpServerTransportTests.java @@ -19,7 +19,6 @@ package org.elasticsearch.http.netty; -import org.elasticsearch.cache.recycler.MockPageCacheRecycler; import org.elasticsearch.common.Strings; import org.elasticsearch.common.network.NetworkService; import org.elasticsearch.common.settings.Settings; @@ -50,15 +49,13 @@ import static org.hamcrest.Matchers.equalTo; public class NettyHttpServerTransportTests extends ESTestCase { private NetworkService networkService; private ThreadPool threadPool; - private MockPageCacheRecycler mockPageCacheRecycler; private MockBigArrays bigArrays; @Before public void setup() throws Exception { networkService = new NetworkService(Settings.EMPTY); threadPool = new ThreadPool("test"); - mockPageCacheRecycler = new MockPageCacheRecycler(Settings.EMPTY); - bigArrays = new MockBigArrays(mockPageCacheRecycler, new NoneCircuitBreakerService()); + bigArrays = new MockBigArrays(Settings.EMPTY, new NoneCircuitBreakerService()); } @After @@ -68,7 +65,6 @@ public class NettyHttpServerTransportTests extends ESTestCase { } threadPool = null; networkService = null; - mockPageCacheRecycler = null; bigArrays = null; } diff --git a/core/src/test/java/org/elasticsearch/index/IndexModuleTests.java b/core/src/test/java/org/elasticsearch/index/IndexModuleTests.java index 6e901a9a671..38b7341cd24 100644 --- a/core/src/test/java/org/elasticsearch/index/IndexModuleTests.java +++ b/core/src/test/java/org/elasticsearch/index/IndexModuleTests.java @@ -32,7 +32,6 @@ import org.apache.lucene.search.similarities.BM25Similarity; import org.apache.lucene.search.similarities.Similarity; import org.apache.lucene.util.SetOnce.AlreadySetException; import org.elasticsearch.Version; -import org.elasticsearch.cache.recycler.PageCacheRecycler; import org.elasticsearch.client.Client; import org.elasticsearch.cluster.metadata.IndexMetaData; import org.elasticsearch.cluster.service.ClusterService; @@ -113,8 +112,7 @@ public class IndexModuleTests extends ESTestCase { // TODO this can be used in other place too - lets first refactor the IndicesQueriesRegistry ThreadPool threadPool = new ThreadPool("test"); CircuitBreakerService circuitBreakerService = new NoneCircuitBreakerService(); - PageCacheRecycler recycler = new PageCacheRecycler(settings); - BigArrays bigArrays = new BigArrays(recycler, circuitBreakerService); + BigArrays bigArrays = new BigArrays(settings, circuitBreakerService); Set scriptEngines = Collections.emptySet(); scriptEngines.addAll(Arrays.asList(scriptEngineServices)); ScriptEngineRegistry scriptEngineRegistry = new ScriptEngineRegistry(Collections.emptyList()); diff --git a/core/src/test/java/org/elasticsearch/index/SearchSlowLogTests.java b/core/src/test/java/org/elasticsearch/index/SearchSlowLogTests.java index 49283d7b73a..3c82d3063af 100644 --- a/core/src/test/java/org/elasticsearch/index/SearchSlowLogTests.java +++ b/core/src/test/java/org/elasticsearch/index/SearchSlowLogTests.java @@ -21,7 +21,6 @@ package org.elasticsearch.index; import org.elasticsearch.Version; import org.elasticsearch.action.search.SearchType; -import org.elasticsearch.cache.recycler.PageCacheRecycler; import org.elasticsearch.cluster.metadata.IndexMetaData; import org.elasticsearch.common.bytes.BytesReference; import org.elasticsearch.common.settings.Settings; @@ -49,9 +48,8 @@ public class SearchSlowLogTests extends ESSingleNodeTestCase { protected SearchContext createSearchContext(IndexService indexService) { BigArrays bigArrays = indexService.getBigArrays(); ThreadPool threadPool = indexService.getThreadPool(); - PageCacheRecycler pageCacheRecycler = node().injector().getInstance(PageCacheRecycler.class); ScriptService scriptService = node().injector().getInstance(ScriptService.class); - return new TestSearchContext(threadPool, pageCacheRecycler, bigArrays, scriptService, indexService) { + return new TestSearchContext(threadPool, bigArrays, scriptService, indexService) { @Override public ShardSearchRequest request() { return new ShardSearchRequest() { diff --git a/core/src/test/java/org/elasticsearch/transport/NettySizeHeaderFrameDecoderTests.java b/core/src/test/java/org/elasticsearch/transport/NettySizeHeaderFrameDecoderTests.java index 98d440bb446..ca5faf68b51 100644 --- a/core/src/test/java/org/elasticsearch/transport/NettySizeHeaderFrameDecoderTests.java +++ b/core/src/test/java/org/elasticsearch/transport/NettySizeHeaderFrameDecoderTests.java @@ -20,7 +20,6 @@ package org.elasticsearch.transport; import org.elasticsearch.Version; -import org.elasticsearch.cache.recycler.MockPageCacheRecycler; import org.elasticsearch.cluster.ClusterName; import org.elasticsearch.common.io.stream.NamedWriteableRegistry; import org.elasticsearch.common.network.NetworkService; @@ -67,7 +66,7 @@ public class NettySizeHeaderFrameDecoderTests extends ESTestCase { threadPool = new ThreadPool(settings); threadPool.setClusterSettings(new ClusterSettings(settings, ClusterSettings.BUILT_IN_CLUSTER_SETTINGS)); NetworkService networkService = new NetworkService(settings); - BigArrays bigArrays = new MockBigArrays(new MockPageCacheRecycler(settings), new NoneCircuitBreakerService()); + BigArrays bigArrays = new MockBigArrays(Settings.EMPTY, new NoneCircuitBreakerService()); nettyTransport = new NettyTransport(settings, threadPool, networkService, bigArrays, Version.CURRENT, new NamedWriteableRegistry(), new NoneCircuitBreakerService()); nettyTransport.start(); diff --git a/core/src/test/java/org/elasticsearch/transport/netty/NettyTransportMultiPortTests.java b/core/src/test/java/org/elasticsearch/transport/netty/NettyTransportMultiPortTests.java index 78aa90cf8fc..352e7bb5a59 100644 --- a/core/src/test/java/org/elasticsearch/transport/netty/NettyTransportMultiPortTests.java +++ b/core/src/test/java/org/elasticsearch/transport/netty/NettyTransportMultiPortTests.java @@ -19,7 +19,6 @@ package org.elasticsearch.transport.netty; import org.elasticsearch.Version; -import org.elasticsearch.cache.recycler.PageCacheRecycler; import org.elasticsearch.common.component.Lifecycle; import org.elasticsearch.common.io.stream.NamedWriteableRegistry; import org.elasticsearch.common.network.NetworkService; @@ -134,7 +133,7 @@ public class NettyTransportMultiPortTests extends ESTestCase { } private NettyTransport startNettyTransport(Settings settings, ThreadPool threadPool) { - BigArrays bigArrays = new MockBigArrays(new PageCacheRecycler(settings), new NoneCircuitBreakerService()); + BigArrays bigArrays = new MockBigArrays(Settings.EMPTY, new NoneCircuitBreakerService()); NettyTransport nettyTransport = new NettyTransport(settings, threadPool, new NetworkService(settings), bigArrays, Version.CURRENT, new NamedWriteableRegistry(), new NoneCircuitBreakerService()); diff --git a/test/framework/src/main/java/org/elasticsearch/common/util/MockBigArrays.java b/test/framework/src/main/java/org/elasticsearch/common/util/MockBigArrays.java index 50f1886431a..26e021bf031 100644 --- a/test/framework/src/main/java/org/elasticsearch/common/util/MockBigArrays.java +++ b/test/framework/src/main/java/org/elasticsearch/common/util/MockBigArrays.java @@ -24,8 +24,8 @@ import com.carrotsearch.randomizedtesting.SeedUtils; import org.apache.lucene.util.Accountable; import org.apache.lucene.util.Accountables; import org.apache.lucene.util.BytesRef; -import org.elasticsearch.cache.recycler.PageCacheRecycler; import org.elasticsearch.common.inject.Inject; +import org.elasticsearch.common.settings.Settings; import org.elasticsearch.common.util.set.Sets; import org.elasticsearch.indices.breaker.CircuitBreakerService; import org.elasticsearch.test.ESTestCase; @@ -75,11 +75,11 @@ public class MockBigArrays extends BigArrays { private final CircuitBreakerService breakerService; @Inject - public MockBigArrays(PageCacheRecycler recycler, CircuitBreakerService breakerService) { - this(recycler, breakerService, false); + public MockBigArrays(Settings settings, CircuitBreakerService breakerService) { + this(new MockPageCacheRecycler(settings), breakerService, false); } - public MockBigArrays(PageCacheRecycler recycler, CircuitBreakerService breakerService, boolean checkBreaker) { + private MockBigArrays(PageCacheRecycler recycler, CircuitBreakerService breakerService, boolean checkBreaker) { super(recycler, breakerService, checkBreaker); this.recycler = recycler; this.breakerService = breakerService; @@ -371,7 +371,7 @@ public class MockBigArrays extends BigArrays { public void fill(long fromIndex, long toIndex, int value) { in.fill(fromIndex, toIndex, value); } - + @Override public Collection getChildResources() { return Collections.singleton(Accountables.namedAccountable("delegate", in)); @@ -416,7 +416,7 @@ public class MockBigArrays extends BigArrays { public void fill(long fromIndex, long toIndex, long value) { in.fill(fromIndex, toIndex, value); } - + @Override public Collection getChildResources() { return Collections.singleton(Accountables.namedAccountable("delegate", in)); diff --git a/test/framework/src/main/java/org/elasticsearch/cache/recycler/MockPageCacheRecycler.java b/test/framework/src/main/java/org/elasticsearch/common/util/MockPageCacheRecycler.java similarity index 97% rename from test/framework/src/main/java/org/elasticsearch/cache/recycler/MockPageCacheRecycler.java rename to test/framework/src/main/java/org/elasticsearch/common/util/MockPageCacheRecycler.java index ae7fc9142ea..766d68f45dd 100644 --- a/test/framework/src/main/java/org/elasticsearch/cache/recycler/MockPageCacheRecycler.java +++ b/test/framework/src/main/java/org/elasticsearch/common/util/MockPageCacheRecycler.java @@ -17,9 +17,8 @@ * under the License. */ -package org.elasticsearch.cache.recycler; +package org.elasticsearch.common.util; -import org.elasticsearch.common.inject.Inject; import org.elasticsearch.common.recycler.Recycler.V; import org.elasticsearch.common.settings.Settings; import org.elasticsearch.common.util.set.Sets; @@ -58,8 +57,7 @@ public class MockPageCacheRecycler extends PageCacheRecycler { private final Random random; - @Inject - public MockPageCacheRecycler(Settings settings) { + MockPageCacheRecycler(Settings settings) { super(settings); // we always initialize with 0 here since we really only wanna have some random bytes / ints / longs // and given the fact that it's called concurrently it won't reproduces anyway the same order other than in a unittest diff --git a/test/framework/src/main/java/org/elasticsearch/node/NodeMocksPlugin.java b/test/framework/src/main/java/org/elasticsearch/node/NodeMocksPlugin.java index f958b2b752e..598f5a7ee7c 100644 --- a/test/framework/src/main/java/org/elasticsearch/node/NodeMocksPlugin.java +++ b/test/framework/src/main/java/org/elasticsearch/node/NodeMocksPlugin.java @@ -18,7 +18,6 @@ */ package org.elasticsearch.node; -import org.elasticsearch.cache.recycler.MockPageCacheRecycler; import org.elasticsearch.common.util.MockBigArrays; import org.elasticsearch.plugins.Plugin; @@ -35,7 +34,6 @@ public class NodeMocksPlugin extends Plugin { } public void onModule(NodeModule module) { - module.pageCacheRecyclerImpl = MockPageCacheRecycler.class; module.bigArraysImpl = MockBigArrays.class; } } diff --git a/test/framework/src/main/java/org/elasticsearch/search/MockSearchService.java b/test/framework/src/main/java/org/elasticsearch/search/MockSearchService.java index 2519606af3b..629a5df3fee 100644 --- a/test/framework/src/main/java/org/elasticsearch/search/MockSearchService.java +++ b/test/framework/src/main/java/org/elasticsearch/search/MockSearchService.java @@ -19,7 +19,6 @@ package org.elasticsearch.search; -import org.elasticsearch.cache.recycler.PageCacheRecycler; import org.elasticsearch.cluster.service.ClusterService; import org.elasticsearch.common.inject.Inject; import org.elasticsearch.common.settings.ClusterSettings; @@ -84,10 +83,10 @@ public class MockSearchService extends SearchService { @Inject public MockSearchService(Settings settings, ClusterSettings clusterSettings, ClusterService clusterService, - IndicesService indicesService, ThreadPool threadPool, ScriptService scriptService, PageCacheRecycler pageCacheRecycler, + IndicesService indicesService, ThreadPool threadPool, ScriptService scriptService, BigArrays bigArrays, DfsPhase dfsPhase, QueryPhase queryPhase, FetchPhase fetchPhase, AggregatorParsers aggParsers, Suggesters suggesters) { - super(settings, clusterSettings, clusterService, indicesService, threadPool, scriptService, pageCacheRecycler, bigArrays, dfsPhase, + super(settings, clusterSettings, clusterService, indicesService, threadPool, scriptService, bigArrays, dfsPhase, queryPhase, fetchPhase, aggParsers, suggesters); } diff --git a/test/framework/src/main/java/org/elasticsearch/test/ESSingleNodeTestCase.java b/test/framework/src/main/java/org/elasticsearch/test/ESSingleNodeTestCase.java index 7875f8fd20b..c86c111f645 100644 --- a/test/framework/src/main/java/org/elasticsearch/test/ESSingleNodeTestCase.java +++ b/test/framework/src/main/java/org/elasticsearch/test/ESSingleNodeTestCase.java @@ -23,7 +23,6 @@ import org.elasticsearch.Version; import org.elasticsearch.action.admin.cluster.health.ClusterHealthResponse; import org.elasticsearch.action.admin.indices.create.CreateIndexRequestBuilder; import org.elasticsearch.action.admin.indices.get.GetIndexResponse; -import org.elasticsearch.cache.recycler.PageCacheRecycler; import org.elasticsearch.client.Client; import org.elasticsearch.client.Requests; import org.elasticsearch.cluster.ClusterName; @@ -35,6 +34,7 @@ import org.elasticsearch.common.Priority; import org.elasticsearch.common.settings.Settings; import org.elasticsearch.common.unit.TimeValue; import org.elasticsearch.common.util.BigArrays; +import org.elasticsearch.common.util.PageCacheRecycler; import org.elasticsearch.common.util.concurrent.EsExecutors; import org.elasticsearch.common.xcontent.XContentBuilder; import org.elasticsearch.env.Environment; @@ -282,9 +282,8 @@ public abstract class ESSingleNodeTestCase extends ESTestCase { protected SearchContext createSearchContext(IndexService indexService) { BigArrays bigArrays = indexService.getBigArrays(); ThreadPool threadPool = indexService.getThreadPool(); - PageCacheRecycler pageCacheRecycler = node().injector().getInstance(PageCacheRecycler.class); ScriptService scriptService = node().injector().getInstance(ScriptService.class); - return new TestSearchContext(threadPool, pageCacheRecycler, bigArrays, scriptService, indexService); + return new TestSearchContext(threadPool, bigArrays, scriptService, indexService); } /** diff --git a/test/framework/src/main/java/org/elasticsearch/test/ESTestCase.java b/test/framework/src/main/java/org/elasticsearch/test/ESTestCase.java index 6ed9a746f46..22216efa15b 100644 --- a/test/framework/src/main/java/org/elasticsearch/test/ESTestCase.java +++ b/test/framework/src/main/java/org/elasticsearch/test/ESTestCase.java @@ -37,7 +37,7 @@ import org.apache.lucene.util.TestUtil; import org.apache.lucene.util.TimeUnits; import org.elasticsearch.Version; import org.elasticsearch.bootstrap.BootstrapForTesting; -import org.elasticsearch.cache.recycler.MockPageCacheRecycler; +import org.elasticsearch.common.util.MockPageCacheRecycler; import org.elasticsearch.client.Requests; import org.elasticsearch.cluster.metadata.IndexMetaData; import org.elasticsearch.common.bytes.BytesReference; @@ -82,9 +82,7 @@ import java.util.List; import java.util.Map; import java.util.Set; import java.util.TreeMap; -import java.util.concurrent.Callable; import java.util.concurrent.ExecutorService; -import java.util.concurrent.Executors; import java.util.concurrent.TimeUnit; import java.util.function.BooleanSupplier; import java.util.function.Consumer; diff --git a/test/framework/src/main/java/org/elasticsearch/test/InternalTestCluster.java b/test/framework/src/main/java/org/elasticsearch/test/InternalTestCluster.java index c67ffc07a2b..1217662480a 100644 --- a/test/framework/src/main/java/org/elasticsearch/test/InternalTestCluster.java +++ b/test/framework/src/main/java/org/elasticsearch/test/InternalTestCluster.java @@ -31,7 +31,6 @@ import org.elasticsearch.Version; import org.elasticsearch.action.admin.cluster.node.stats.NodeStats; import org.elasticsearch.action.admin.indices.stats.CommonStatsFlags; import org.elasticsearch.action.admin.indices.stats.CommonStatsFlags.Flag; -import org.elasticsearch.cache.recycler.PageCacheRecycler; import org.elasticsearch.client.Client; import org.elasticsearch.client.transport.TransportClient; import org.elasticsearch.cluster.ClusterName; @@ -60,6 +59,7 @@ import org.elasticsearch.common.transport.TransportAddress; import org.elasticsearch.common.unit.ByteSizeUnit; import org.elasticsearch.common.unit.ByteSizeValue; import org.elasticsearch.common.unit.TimeValue; +import org.elasticsearch.common.util.PageCacheRecycler; import org.elasticsearch.common.util.concurrent.EsExecutors; import org.elasticsearch.common.util.concurrent.ThreadContext; import org.elasticsearch.discovery.DiscoverySettings; diff --git a/test/framework/src/main/java/org/elasticsearch/test/TestSearchContext.java b/test/framework/src/main/java/org/elasticsearch/test/TestSearchContext.java index d8ea1f60bbd..8122abe483d 100644 --- a/test/framework/src/main/java/org/elasticsearch/test/TestSearchContext.java +++ b/test/framework/src/main/java/org/elasticsearch/test/TestSearchContext.java @@ -27,7 +27,6 @@ import org.apache.lucene.search.FieldDoc; import org.apache.lucene.search.Query; import org.apache.lucene.util.Counter; import org.elasticsearch.action.search.SearchType; -import org.elasticsearch.cache.recycler.PageCacheRecycler; import org.elasticsearch.common.ParseFieldMatcher; import org.elasticsearch.common.util.BigArrays; import org.elasticsearch.index.IndexService; @@ -67,7 +66,6 @@ import org.elasticsearch.threadpool.ThreadPool; public class TestSearchContext extends SearchContext { - final PageCacheRecycler pageCacheRecycler; final BigArrays bigArrays; final IndexService indexService; final IndexFieldDataService indexFieldDataService; @@ -92,9 +90,8 @@ public class TestSearchContext extends SearchContext { private final long originNanoTime = System.nanoTime(); private final Map subPhaseContexts = new HashMap<>(); - public TestSearchContext(ThreadPool threadPool,PageCacheRecycler pageCacheRecycler, BigArrays bigArrays, ScriptService scriptService, IndexService indexService) { + public TestSearchContext(ThreadPool threadPool, BigArrays bigArrays, ScriptService scriptService, IndexService indexService) { super(ParseFieldMatcher.STRICT); - this.pageCacheRecycler = pageCacheRecycler; this.bigArrays = bigArrays.withCircuitBreaking(); this.indexService = indexService; this.indexFieldDataService = indexService.fieldData(); @@ -107,7 +104,6 @@ public class TestSearchContext extends SearchContext { public TestSearchContext(QueryShardContext queryShardContext) { super(ParseFieldMatcher.STRICT); - this.pageCacheRecycler = null; this.bigArrays = null; this.indexService = null; this.indexFieldDataService = null; @@ -299,11 +295,6 @@ public class TestSearchContext extends SearchContext { return scriptService; } - @Override - public PageCacheRecycler pageCacheRecycler() { - return pageCacheRecycler; - } - @Override public BigArrays bigArrays() { return bigArrays;