From 6da9391b242193f2ba905ded648ac1336b23d9ea Mon Sep 17 00:00:00 2001 From: Sachin Kale Date: Thu, 22 Dec 2022 21:58:57 +0530 Subject: [PATCH] Add builder for EngineConfig Signed-off-by: Sachin Kale --- .../indices/IndexingMemoryControllerIT.java | 47 ++- .../opensearch/index/engine/EngineConfig.java | 291 +++++++++++------- .../index/engine/EngineConfigFactory.java | 53 ++-- .../index/engine/EngineConfigTests.java | 100 +++--- .../index/engine/InternalEngineTests.java | 143 +++++---- .../index/shard/IndexShardTests.java | 47 ++- .../index/shard/RefreshListenersTests.java | 47 ++- .../IndexingMemoryControllerTests.java | 47 ++- .../index/engine/EngineTestCase.java | 235 +++++++------- 9 files changed, 533 insertions(+), 477 deletions(-) diff --git a/server/src/internalClusterTest/java/org/opensearch/indices/IndexingMemoryControllerIT.java b/server/src/internalClusterTest/java/org/opensearch/indices/IndexingMemoryControllerIT.java index 0d3c685ab0327..d45ab01a44d66 100644 --- a/server/src/internalClusterTest/java/org/opensearch/indices/IndexingMemoryControllerIT.java +++ b/server/src/internalClusterTest/java/org/opensearch/indices/IndexingMemoryControllerIT.java @@ -81,30 +81,29 @@ EngineConfig engineConfigWithLargerIndexingMemory(EngineConfig config) { .put("indices.memory.index_buffer_size", "10mb") .build(); IndexSettings indexSettings = new IndexSettings(config.getIndexSettings().getIndexMetadata(), settings); - return new EngineConfig( - config.getShardId(), - config.getThreadPool(), - indexSettings, - config.getWarmer(), - config.getStore(), - config.getMergePolicy(), - config.getAnalyzer(), - config.getSimilarity(), - new CodecService(null, LogManager.getLogger(IndexingMemoryControllerIT.class)), - config.getEventListener(), - config.getQueryCache(), - config.getQueryCachingPolicy(), - config.getTranslogConfig(), - config.getFlushMergesAfter(), - config.getExternalRefreshListener(), - config.getInternalRefreshListener(), - config.getIndexSort(), - config.getCircuitBreakerService(), - config.getGlobalCheckpointSupplier(), - config.retentionLeasesSupplier(), - config.getPrimaryTermSupplier(), - config.getTombstoneDocSupplier() - ); + return new EngineConfig.Builder().setShardId(config.getShardId()) + .setThreadPool(config.getThreadPool()) + .setIndexSettings(indexSettings) + .setWarmer(config.getWarmer()) + .setStore(config.getStore()) + .setMergePolicy(config.getMergePolicy()) + .setAnalyzer(config.getAnalyzer()) + .setSimilarity(config.getSimilarity()) + .setCodecService(new CodecService(null, LogManager.getLogger(IndexingMemoryControllerIT.class))) + .setEventListener(config.getEventListener()) + .setQueryCache(config.getQueryCache()) + .setQueryCachingPolicy(config.getQueryCachingPolicy()) + .setTranslogConfig(config.getTranslogConfig()) + .setFlushMergesAfter(config.getFlushMergesAfter()) + .setExternalRefreshListener(config.getExternalRefreshListener()) + .setInternalRefreshListener(config.getInternalRefreshListener()) + .setIndexSort(config.getIndexSort()) + .setCircuitBreakerService(config.getCircuitBreakerService()) + .setGlobalCheckpointSupplier(config.getGlobalCheckpointSupplier()) + .setRetentionLeasesSupplier(config.retentionLeasesSupplier()) + .setPrimaryTermSupplier(config.getPrimaryTermSupplier()) + .setTombstoneDocSupplier(config.getTombstoneDocSupplier()) + .createEngineConfig(); } @Override diff --git a/server/src/main/java/org/opensearch/index/engine/EngineConfig.java b/server/src/main/java/org/opensearch/index/engine/EngineConfig.java index ba30103f70269..1952819a820fb 100644 --- a/server/src/main/java/org/opensearch/index/engine/EngineConfig.java +++ b/server/src/main/java/org/opensearch/index/engine/EngineConfig.java @@ -154,114 +154,6 @@ public Supplier retentionLeasesSupplier() { private final TranslogFactory translogFactory; - public EngineConfig( - ShardId shardId, - ThreadPool threadPool, - IndexSettings indexSettings, - Engine.Warmer warmer, - Store store, - MergePolicy mergePolicy, - Analyzer analyzer, - Similarity similarity, - CodecService codecService, - Engine.EventListener eventListener, - QueryCache queryCache, - QueryCachingPolicy queryCachingPolicy, - TranslogConfig translogConfig, - TimeValue flushMergesAfter, - List externalRefreshListener, - List internalRefreshListener, - Sort indexSort, - CircuitBreakerService circuitBreakerService, - LongSupplier globalCheckpointSupplier, - Supplier retentionLeasesSupplier, - LongSupplier primaryTermSupplier, - TombstoneDocSupplier tombstoneDocSupplier - ) { - this( - shardId, - threadPool, - indexSettings, - warmer, - store, - mergePolicy, - analyzer, - similarity, - codecService, - eventListener, - queryCache, - queryCachingPolicy, - translogConfig, - null, - flushMergesAfter, - externalRefreshListener, - internalRefreshListener, - indexSort, - circuitBreakerService, - globalCheckpointSupplier, - retentionLeasesSupplier, - primaryTermSupplier, - tombstoneDocSupplier - ); - } - - /** - * Creates a new {@link org.opensearch.index.engine.EngineConfig} - */ - EngineConfig( - ShardId shardId, - ThreadPool threadPool, - IndexSettings indexSettings, - Engine.Warmer warmer, - Store store, - MergePolicy mergePolicy, - Analyzer analyzer, - Similarity similarity, - CodecService codecService, - Engine.EventListener eventListener, - QueryCache queryCache, - QueryCachingPolicy queryCachingPolicy, - TranslogConfig translogConfig, - TranslogDeletionPolicyFactory translogDeletionPolicyFactory, - TimeValue flushMergesAfter, - List externalRefreshListener, - List internalRefreshListener, - Sort indexSort, - CircuitBreakerService circuitBreakerService, - LongSupplier globalCheckpointSupplier, - Supplier retentionLeasesSupplier, - LongSupplier primaryTermSupplier, - TombstoneDocSupplier tombstoneDocSupplier - ) { - this( - shardId, - threadPool, - indexSettings, - warmer, - store, - mergePolicy, - analyzer, - similarity, - codecService, - eventListener, - queryCache, - queryCachingPolicy, - translogConfig, - translogDeletionPolicyFactory, - flushMergesAfter, - externalRefreshListener, - internalRefreshListener, - indexSort, - circuitBreakerService, - globalCheckpointSupplier, - retentionLeasesSupplier, - primaryTermSupplier, - tombstoneDocSupplier, - false, - new InternalTranslogFactory() - ); - } - /** * Creates a new {@link org.opensearch.index.engine.EngineConfig} */ @@ -573,4 +465,187 @@ public TombstoneDocSupplier getTombstoneDocSupplier() { public TranslogDeletionPolicyFactory getCustomTranslogDeletionPolicyFactory() { return translogDeletionPolicyFactory; } + + public static class Builder { + private ShardId shardId; + private ThreadPool threadPool; + private IndexSettings indexSettings; + private Engine.Warmer warmer; + private Store store; + private MergePolicy mergePolicy; + private Analyzer analyzer; + private Similarity similarity; + private CodecService codecService; + private Engine.EventListener eventListener; + private QueryCache queryCache; + private QueryCachingPolicy queryCachingPolicy; + private TranslogConfig translogConfig; + private TimeValue flushMergesAfter; + private List externalRefreshListener; + private List internalRefreshListener; + private Sort indexSort; + private CircuitBreakerService circuitBreakerService; + private LongSupplier globalCheckpointSupplier; + private Supplier retentionLeasesSupplier; + private LongSupplier primaryTermSupplier; + private TombstoneDocSupplier tombstoneDocSupplier; + private TranslogDeletionPolicyFactory translogDeletionPolicyFactory = null; + private boolean isReadOnlyReplica = false; + private TranslogFactory translogFactory = new InternalTranslogFactory(); + + public Builder setShardId(ShardId shardId) { + this.shardId = shardId; + return this; + } + + public Builder setThreadPool(ThreadPool threadPool) { + this.threadPool = threadPool; + return this; + } + + public Builder setIndexSettings(IndexSettings indexSettings) { + this.indexSettings = indexSettings; + return this; + } + + public Builder setWarmer(Engine.Warmer warmer) { + this.warmer = warmer; + return this; + } + + public Builder setStore(Store store) { + this.store = store; + return this; + } + + public Builder setMergePolicy(MergePolicy mergePolicy) { + this.mergePolicy = mergePolicy; + return this; + } + + public Builder setAnalyzer(Analyzer analyzer) { + this.analyzer = analyzer; + return this; + } + + public Builder setSimilarity(Similarity similarity) { + this.similarity = similarity; + return this; + } + + public Builder setCodecService(CodecService codecService) { + this.codecService = codecService; + return this; + } + + public Builder setEventListener(Engine.EventListener eventListener) { + this.eventListener = eventListener; + return this; + } + + public Builder setQueryCache(QueryCache queryCache) { + this.queryCache = queryCache; + return this; + } + + public Builder setQueryCachingPolicy(QueryCachingPolicy queryCachingPolicy) { + this.queryCachingPolicy = queryCachingPolicy; + return this; + } + + public Builder setTranslogConfig(TranslogConfig translogConfig) { + this.translogConfig = translogConfig; + return this; + } + + public Builder setFlushMergesAfter(TimeValue flushMergesAfter) { + this.flushMergesAfter = flushMergesAfter; + return this; + } + + public Builder setExternalRefreshListener(List externalRefreshListener) { + this.externalRefreshListener = externalRefreshListener; + return this; + } + + public Builder setInternalRefreshListener(List internalRefreshListener) { + this.internalRefreshListener = internalRefreshListener; + return this; + } + + public Builder setIndexSort(Sort indexSort) { + this.indexSort = indexSort; + return this; + } + + public Builder setCircuitBreakerService(CircuitBreakerService circuitBreakerService) { + this.circuitBreakerService = circuitBreakerService; + return this; + } + + public Builder setGlobalCheckpointSupplier(LongSupplier globalCheckpointSupplier) { + this.globalCheckpointSupplier = globalCheckpointSupplier; + return this; + } + + public Builder setRetentionLeasesSupplier(Supplier retentionLeasesSupplier) { + this.retentionLeasesSupplier = retentionLeasesSupplier; + return this; + } + + public Builder setPrimaryTermSupplier(LongSupplier primaryTermSupplier) { + this.primaryTermSupplier = primaryTermSupplier; + return this; + } + + public Builder setTombstoneDocSupplier(TombstoneDocSupplier tombstoneDocSupplier) { + this.tombstoneDocSupplier = tombstoneDocSupplier; + return this; + } + + public Builder setTranslogDeletionPolicyFactory(TranslogDeletionPolicyFactory translogDeletionPolicyFactory) { + this.translogDeletionPolicyFactory = translogDeletionPolicyFactory; + return this; + } + + public Builder setIsReadOnlyReplica(boolean isReadOnlyReplica) { + this.isReadOnlyReplica = isReadOnlyReplica; + return this; + } + + public Builder setTranslogFactory(TranslogFactory translogFactory) { + this.translogFactory = translogFactory; + return this; + } + + public EngineConfig createEngineConfig() { + return new EngineConfig( + shardId, + threadPool, + indexSettings, + warmer, + store, + mergePolicy, + analyzer, + similarity, + codecService, + eventListener, + queryCache, + queryCachingPolicy, + translogConfig, + translogDeletionPolicyFactory, + flushMergesAfter, + externalRefreshListener, + internalRefreshListener, + indexSort, + circuitBreakerService, + globalCheckpointSupplier, + retentionLeasesSupplier, + primaryTermSupplier, + tombstoneDocSupplier, + isReadOnlyReplica, + translogFactory + ); + } + } } diff --git a/server/src/main/java/org/opensearch/index/engine/EngineConfigFactory.java b/server/src/main/java/org/opensearch/index/engine/EngineConfigFactory.java index f0db086e47816..1fe85c037c274 100644 --- a/server/src/main/java/org/opensearch/index/engine/EngineConfigFactory.java +++ b/server/src/main/java/org/opensearch/index/engine/EngineConfigFactory.java @@ -156,33 +156,32 @@ public EngineConfig newEngineConfig( codecServiceToUse = newCodecServiceOrDefault(indexSettings, null, null, null); } - return new EngineConfig( - shardId, - threadPool, - indexSettings, - warmer, - store, - mergePolicy, - analyzer, - similarity, - codecServiceToUse, - eventListener, - queryCache, - queryCachingPolicy, - translogConfig, - translogDeletionPolicyFactory, - flushMergesAfter, - externalRefreshListener, - internalRefreshListener, - indexSort, - circuitBreakerService, - globalCheckpointSupplier, - retentionLeasesSupplier, - primaryTermSupplier, - tombstoneDocSupplier, - isReadOnlyReplica, - translogFactory - ); + return new EngineConfig.Builder().setShardId(shardId) + .setThreadPool(threadPool) + .setIndexSettings(indexSettings) + .setWarmer(warmer) + .setStore(store) + .setMergePolicy(mergePolicy) + .setAnalyzer(analyzer) + .setSimilarity(similarity) + .setCodecService(codecServiceToUse) + .setEventListener(eventListener) + .setQueryCache(queryCache) + .setQueryCachingPolicy(queryCachingPolicy) + .setTranslogConfig(translogConfig) + .setTranslogDeletionPolicyFactory(translogDeletionPolicyFactory) + .setFlushMergesAfter(flushMergesAfter) + .setExternalRefreshListener(externalRefreshListener) + .setInternalRefreshListener(internalRefreshListener) + .setIndexSort(indexSort) + .setCircuitBreakerService(circuitBreakerService) + .setGlobalCheckpointSupplier(globalCheckpointSupplier) + .setRetentionLeasesSupplier(retentionLeasesSupplier) + .setPrimaryTermSupplier(primaryTermSupplier) + .setTombstoneDocSupplier(tombstoneDocSupplier) + .setIsReadOnlyReplica(isReadOnlyReplica) + .setTranslogFactory(translogFactory) + .createEngineConfig(); } public CodecService newCodecServiceOrDefault( diff --git a/server/src/test/java/org/opensearch/index/engine/EngineConfigTests.java b/server/src/test/java/org/opensearch/index/engine/EngineConfigTests.java index 1754d6082b86d..1f91a5751a0ec 100644 --- a/server/src/test/java/org/opensearch/index/engine/EngineConfigTests.java +++ b/server/src/test/java/org/opensearch/index/engine/EngineConfigTests.java @@ -13,7 +13,6 @@ import org.opensearch.common.settings.Settings; import org.opensearch.index.IndexSettings; import org.opensearch.index.seqno.RetentionLeases; -import org.opensearch.index.translog.InternalTranslogFactory; import org.opensearch.indices.replication.common.ReplicationType; import org.opensearch.test.IndexSettingsModule; import org.opensearch.test.OpenSearchTestCase; @@ -34,31 +33,29 @@ public void setUp() throws Exception { } public void testEngineConfig_DefaultValueForReadOnlyEngine() { - EngineConfig config = new EngineConfig( - null, - null, - defaultIndexSettings, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - () -> RetentionLeases.EMPTY, - null, - null - ); + EngineConfig config = new EngineConfig.Builder().setShardId(null) + .setThreadPool(null) + .setIndexSettings(defaultIndexSettings) + .setWarmer(null) + .setStore(null) + .setMergePolicy(null) + .setAnalyzer(null) + .setSimilarity(null) + .setCodecService(null) + .setEventListener(null) + .setQueryCache(null) + .setQueryCachingPolicy(null) + .setTranslogConfig(null) + .setFlushMergesAfter(null) + .setExternalRefreshListener(null) + .setInternalRefreshListener(null) + .setIndexSort(null) + .setCircuitBreakerService(null) + .setGlobalCheckpointSupplier(null) + .setRetentionLeasesSupplier(() -> RetentionLeases.EMPTY) + .setPrimaryTermSupplier(null) + .setTombstoneDocSupplier(null) + .createEngineConfig(); assertFalse(config.isReadOnlyReplica()); } @@ -79,32 +76,29 @@ public void testEngineConfig_ReadOnlyEngineWithSegRepEnabled() { } private EngineConfig createReadOnlyEngine(IndexSettings indexSettings) { - return new EngineConfig( - null, - null, - indexSettings, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - null, - () -> RetentionLeases.EMPTY, - null, - null, - true, - new InternalTranslogFactory() - ); + return new EngineConfig.Builder().setShardId(null) + .setThreadPool(null) + .setIndexSettings(indexSettings) + .setWarmer(null) + .setStore(null) + .setMergePolicy(null) + .setAnalyzer(null) + .setSimilarity(null) + .setCodecService(null) + .setEventListener(null) + .setQueryCache(null) + .setQueryCachingPolicy(null) + .setTranslogConfig(null) + .setFlushMergesAfter(null) + .setExternalRefreshListener(null) + .setInternalRefreshListener(null) + .setIndexSort(null) + .setCircuitBreakerService(null) + .setGlobalCheckpointSupplier(null) + .setRetentionLeasesSupplier(() -> RetentionLeases.EMPTY) + .setPrimaryTermSupplier(null) + .setTombstoneDocSupplier(null) + .setIsReadOnlyReplica(true) + .createEngineConfig(); } } diff --git a/server/src/test/java/org/opensearch/index/engine/InternalEngineTests.java b/server/src/test/java/org/opensearch/index/engine/InternalEngineTests.java index e4b2bbcacbdcd..09864e47aa39f 100644 --- a/server/src/test/java/org/opensearch/index/engine/InternalEngineTests.java +++ b/server/src/test/java/org/opensearch/index/engine/InternalEngineTests.java @@ -3685,30 +3685,29 @@ public void testRecoverFromForeignTranslog() throws IOException { BigArrays.NON_RECYCLING_INSTANCE ); - EngineConfig brokenConfig = new EngineConfig( - shardId, - threadPool, - config.getIndexSettings(), - null, - store, - newMergePolicy(), - config.getAnalyzer(), - config.getSimilarity(), - new CodecService(null, logger), - config.getEventListener(), - IndexSearcher.getDefaultQueryCache(), - IndexSearcher.getDefaultQueryCachingPolicy(), - translogConfig, - TimeValue.timeValueMinutes(5), - config.getExternalRefreshListener(), - config.getInternalRefreshListener(), - null, - new NoneCircuitBreakerService(), - () -> UNASSIGNED_SEQ_NO, - () -> RetentionLeases.EMPTY, - primaryTerm::get, - tombstoneDocSupplier() - ); + EngineConfig brokenConfig = new EngineConfig.Builder().setShardId(shardId) + .setThreadPool(threadPool) + .setIndexSettings(config.getIndexSettings()) + .setWarmer(null) + .setStore(store) + .setMergePolicy(newMergePolicy()) + .setAnalyzer(config.getAnalyzer()) + .setSimilarity(config.getSimilarity()) + .setCodecService(new CodecService(null, logger)) + .setEventListener(config.getEventListener()) + .setQueryCache(IndexSearcher.getDefaultQueryCache()) + .setQueryCachingPolicy(IndexSearcher.getDefaultQueryCachingPolicy()) + .setTranslogConfig(translogConfig) + .setFlushMergesAfter(TimeValue.timeValueMinutes(5)) + .setExternalRefreshListener(config.getExternalRefreshListener()) + .setInternalRefreshListener(config.getInternalRefreshListener()) + .setIndexSort(null) + .setCircuitBreakerService(new NoneCircuitBreakerService()) + .setGlobalCheckpointSupplier(() -> UNASSIGNED_SEQ_NO) + .setRetentionLeasesSupplier(() -> RetentionLeases.EMPTY) + .setPrimaryTermSupplier(primaryTerm::get) + .setTombstoneDocSupplier(tombstoneDocSupplier()) + .createEngineConfig(); expectThrows(EngineCreationFailureException.class, () -> new InternalEngine(brokenConfig)); engine = createEngine(store, primaryTranslogDir); // and recover again! @@ -3728,31 +3727,30 @@ public CustomTranslogDeletionPolicy(IndexSettings indexSettings, Supplier expectThrows(AlreadyClosedException.class, () -> recoverShardFromStore(shard))); diff --git a/server/src/test/java/org/opensearch/index/shard/RefreshListenersTests.java b/server/src/test/java/org/opensearch/index/shard/RefreshListenersTests.java index 3ed944cc39c51..48a1ebe4d9a52 100644 --- a/server/src/test/java/org/opensearch/index/shard/RefreshListenersTests.java +++ b/server/src/test/java/org/opensearch/index/shard/RefreshListenersTests.java @@ -148,30 +148,29 @@ public void onFailedEngine(String reason, @Nullable Exception e) { primaryTerm ); store.associateIndexWithNewTranslog(translogUUID); - EngineConfig config = new EngineConfig( - shardId, - threadPool, - indexSettings, - null, - store, - newMergePolicy(), - iwc.getAnalyzer(), - iwc.getSimilarity(), - new CodecService(null, logger), - eventListener, - IndexSearcher.getDefaultQueryCache(), - IndexSearcher.getDefaultQueryCachingPolicy(), - translogConfig, - TimeValue.timeValueMinutes(5), - Collections.singletonList(listeners), - Collections.emptyList(), - null, - new NoneCircuitBreakerService(), - () -> SequenceNumbers.NO_OPS_PERFORMED, - () -> RetentionLeases.EMPTY, - () -> primaryTerm, - EngineTestCase.tombstoneDocSupplier() - ); + EngineConfig config = new EngineConfig.Builder().setShardId(shardId) + .setThreadPool(threadPool) + .setIndexSettings(indexSettings) + .setWarmer(null) + .setStore(store) + .setMergePolicy(newMergePolicy()) + .setAnalyzer(iwc.getAnalyzer()) + .setSimilarity(iwc.getSimilarity()) + .setCodecService(new CodecService(null, logger)) + .setEventListener(eventListener) + .setQueryCache(IndexSearcher.getDefaultQueryCache()) + .setQueryCachingPolicy(IndexSearcher.getDefaultQueryCachingPolicy()) + .setTranslogConfig(translogConfig) + .setFlushMergesAfter(TimeValue.timeValueMinutes(5)) + .setExternalRefreshListener(Collections.singletonList(listeners)) + .setInternalRefreshListener(Collections.emptyList()) + .setIndexSort(null) + .setCircuitBreakerService(new NoneCircuitBreakerService()) + .setGlobalCheckpointSupplier(() -> SequenceNumbers.NO_OPS_PERFORMED) + .setRetentionLeasesSupplier(() -> RetentionLeases.EMPTY) + .setPrimaryTermSupplier(() -> primaryTerm) + .setTombstoneDocSupplier(EngineTestCase.tombstoneDocSupplier()) + .createEngineConfig(); engine = new InternalEngine(config); engine.translogManager().recoverFromTranslog((s) -> 0, engine.getProcessedLocalCheckpoint(), Long.MAX_VALUE); listeners.setCurrentRefreshLocationSupplier(engine.translogManager()::getTranslogLastWriteLocation); diff --git a/server/src/test/java/org/opensearch/indices/IndexingMemoryControllerTests.java b/server/src/test/java/org/opensearch/indices/IndexingMemoryControllerTests.java index c68ad7eaba82e..01ebd42f273f1 100644 --- a/server/src/test/java/org/opensearch/indices/IndexingMemoryControllerTests.java +++ b/server/src/test/java/org/opensearch/indices/IndexingMemoryControllerTests.java @@ -400,30 +400,29 @@ EngineConfig configWithRefreshListener(EngineConfig config, ReferenceManager.Ref final List internalRefreshListener = new ArrayList<>(config.getInternalRefreshListener()); ; internalRefreshListener.add(listener); - return new EngineConfig( - config.getShardId(), - config.getThreadPool(), - config.getIndexSettings(), - config.getWarmer(), - config.getStore(), - config.getMergePolicy(), - config.getAnalyzer(), - config.getSimilarity(), - new CodecService(null, logger), - config.getEventListener(), - config.getQueryCache(), - config.getQueryCachingPolicy(), - config.getTranslogConfig(), - config.getFlushMergesAfter(), - config.getExternalRefreshListener(), - internalRefreshListener, - config.getIndexSort(), - config.getCircuitBreakerService(), - config.getGlobalCheckpointSupplier(), - config.retentionLeasesSupplier(), - config.getPrimaryTermSupplier(), - config.getTombstoneDocSupplier() - ); + return new EngineConfig.Builder().setShardId(config.getShardId()) + .setThreadPool(config.getThreadPool()) + .setIndexSettings(config.getIndexSettings()) + .setWarmer(config.getWarmer()) + .setStore(config.getStore()) + .setMergePolicy(config.getMergePolicy()) + .setAnalyzer(config.getAnalyzer()) + .setSimilarity(config.getSimilarity()) + .setCodecService(new CodecService(null, logger)) + .setEventListener(config.getEventListener()) + .setQueryCache(config.getQueryCache()) + .setQueryCachingPolicy(config.getQueryCachingPolicy()) + .setTranslogConfig(config.getTranslogConfig()) + .setFlushMergesAfter(config.getFlushMergesAfter()) + .setExternalRefreshListener(config.getExternalRefreshListener()) + .setInternalRefreshListener(internalRefreshListener) + .setIndexSort(config.getIndexSort()) + .setCircuitBreakerService(config.getCircuitBreakerService()) + .setGlobalCheckpointSupplier(config.getGlobalCheckpointSupplier()) + .setRetentionLeasesSupplier(config.retentionLeasesSupplier()) + .setPrimaryTermSupplier(config.getPrimaryTermSupplier()) + .setTombstoneDocSupplier(config.getTombstoneDocSupplier()) + .createEngineConfig(); } ThreadPoolStats.Stats getRefreshThreadPoolStats() { diff --git a/test/framework/src/main/java/org/opensearch/index/engine/EngineTestCase.java b/test/framework/src/main/java/org/opensearch/index/engine/EngineTestCase.java index f4a9f51789679..788ca6cc9f26d 100644 --- a/test/framework/src/main/java/org/opensearch/index/engine/EngineTestCase.java +++ b/test/framework/src/main/java/org/opensearch/index/engine/EngineTestCase.java @@ -246,84 +246,81 @@ public void setUp() throws Exception { } public EngineConfig copy(EngineConfig config, LongSupplier globalCheckpointSupplier) { - return new EngineConfig( - config.getShardId(), - config.getThreadPool(), - config.getIndexSettings(), - config.getWarmer(), - config.getStore(), - config.getMergePolicy(), - config.getAnalyzer(), - config.getSimilarity(), - new CodecService(null, logger), - config.getEventListener(), - config.getQueryCache(), - config.getQueryCachingPolicy(), - config.getTranslogConfig(), - config.getFlushMergesAfter(), - config.getExternalRefreshListener(), - Collections.emptyList(), - config.getIndexSort(), - config.getCircuitBreakerService(), - globalCheckpointSupplier, - config.retentionLeasesSupplier(), - config.getPrimaryTermSupplier(), - tombstoneDocSupplier() - ); + return new EngineConfig.Builder().setShardId(config.getShardId()) + .setThreadPool(config.getThreadPool()) + .setIndexSettings(config.getIndexSettings()) + .setWarmer(config.getWarmer()) + .setStore(config.getStore()) + .setMergePolicy(config.getMergePolicy()) + .setAnalyzer(config.getAnalyzer()) + .setSimilarity(config.getSimilarity()) + .setCodecService(new CodecService(null, logger)) + .setEventListener(config.getEventListener()) + .setQueryCache(config.getQueryCache()) + .setQueryCachingPolicy(config.getQueryCachingPolicy()) + .setTranslogConfig(config.getTranslogConfig()) + .setFlushMergesAfter(config.getFlushMergesAfter()) + .setExternalRefreshListener(config.getExternalRefreshListener()) + .setInternalRefreshListener(emptyList()) + .setIndexSort(config.getIndexSort()) + .setCircuitBreakerService(config.getCircuitBreakerService()) + .setGlobalCheckpointSupplier(globalCheckpointSupplier) + .setRetentionLeasesSupplier(config.retentionLeasesSupplier()) + .setPrimaryTermSupplier(config.getPrimaryTermSupplier()) + .setTombstoneDocSupplier(tombstoneDocSupplier()) + .createEngineConfig(); } public EngineConfig copy(EngineConfig config, Analyzer analyzer) { - return new EngineConfig( - config.getShardId(), - config.getThreadPool(), - config.getIndexSettings(), - config.getWarmer(), - config.getStore(), - config.getMergePolicy(), - analyzer, - config.getSimilarity(), - new CodecService(null, logger), - config.getEventListener(), - config.getQueryCache(), - config.getQueryCachingPolicy(), - config.getTranslogConfig(), - config.getFlushMergesAfter(), - config.getExternalRefreshListener(), - Collections.emptyList(), - config.getIndexSort(), - config.getCircuitBreakerService(), - config.getGlobalCheckpointSupplier(), - config.retentionLeasesSupplier(), - config.getPrimaryTermSupplier(), - config.getTombstoneDocSupplier() - ); + return new EngineConfig.Builder().setShardId(config.getShardId()) + .setThreadPool(config.getThreadPool()) + .setIndexSettings(config.getIndexSettings()) + .setWarmer(config.getWarmer()) + .setStore(config.getStore()) + .setMergePolicy(config.getMergePolicy()) + .setAnalyzer(analyzer) + .setSimilarity(config.getSimilarity()) + .setCodecService(new CodecService(null, logger)) + .setEventListener(config.getEventListener()) + .setQueryCache(config.getQueryCache()) + .setQueryCachingPolicy(config.getQueryCachingPolicy()) + .setTranslogConfig(config.getTranslogConfig()) + .setFlushMergesAfter(config.getFlushMergesAfter()) + .setExternalRefreshListener(config.getExternalRefreshListener()) + .setInternalRefreshListener(emptyList()) + .setIndexSort(config.getIndexSort()) + .setCircuitBreakerService(config.getCircuitBreakerService()) + .setGlobalCheckpointSupplier(config.getGlobalCheckpointSupplier()) + .setRetentionLeasesSupplier(config.retentionLeasesSupplier()) + .setPrimaryTermSupplier(config.getPrimaryTermSupplier()) + .setTombstoneDocSupplier(config.getTombstoneDocSupplier()) + .createEngineConfig(); } public EngineConfig copy(EngineConfig config, MergePolicy mergePolicy) { - return new EngineConfig( - config.getShardId(), - config.getThreadPool(), - config.getIndexSettings(), - config.getWarmer(), - config.getStore(), - mergePolicy, - config.getAnalyzer(), - config.getSimilarity(), - new CodecService(null, logger), - config.getEventListener(), - config.getQueryCache(), - config.getQueryCachingPolicy(), - config.getTranslogConfig(), - config.getFlushMergesAfter(), - config.getExternalRefreshListener(), - Collections.emptyList(), - config.getIndexSort(), - config.getCircuitBreakerService(), - config.getGlobalCheckpointSupplier(), - config.retentionLeasesSupplier(), - config.getPrimaryTermSupplier(), - config.getTombstoneDocSupplier() - ); + return new EngineConfig.Builder().setShardId(config.getShardId()) + .setThreadPool(config.getThreadPool()) + .setIndexSettings(config.getIndexSettings()) + .setWarmer(config.getWarmer()) + .setStore(config.getStore()) + .setMergePolicy(mergePolicy) + .setAnalyzer(config.getAnalyzer()) + .setSimilarity(config.getSimilarity()) + .setCodecService(new CodecService(null, logger)) + .setEventListener(config.getEventListener()) + .setQueryCache(config.getQueryCache()) + .setQueryCachingPolicy(config.getQueryCachingPolicy()) + .setTranslogConfig(config.getTranslogConfig()) + .setFlushMergesAfter(config.getFlushMergesAfter()) + .setExternalRefreshListener(config.getExternalRefreshListener()) + .setInternalRefreshListener(emptyList()) + .setIndexSort(config.getIndexSort()) + .setCircuitBreakerService(config.getCircuitBreakerService()) + .setGlobalCheckpointSupplier(config.getGlobalCheckpointSupplier()) + .setRetentionLeasesSupplier(config.retentionLeasesSupplier()) + .setPrimaryTermSupplier(config.getPrimaryTermSupplier()) + .setTombstoneDocSupplier(config.getTombstoneDocSupplier()) + .createEngineConfig(); } @Override @@ -866,30 +863,29 @@ public EngineConfig config( globalCheckpointSupplier = maybeGlobalCheckpointSupplier; retentionLeasesSupplier = maybeRetentionLeasesSupplier; } - return new EngineConfig( - shardId, - threadPool, - indexSettings, - null, - store, - mergePolicy, - iwc.getAnalyzer(), - iwc.getSimilarity(), - new CodecService(null, logger), - eventListener, - IndexSearcher.getDefaultQueryCache(), - IndexSearcher.getDefaultQueryCachingPolicy(), - translogConfig, - TimeValue.timeValueMinutes(5), - extRefreshListenerList, - intRefreshListenerList, - indexSort, - breakerService, - globalCheckpointSupplier, - retentionLeasesSupplier, - primaryTerm, - tombstoneDocSupplier() - ); + return new EngineConfig.Builder().setShardId(shardId) + .setThreadPool(threadPool) + .setIndexSettings(indexSettings) + .setWarmer(null) + .setStore(store) + .setMergePolicy(mergePolicy) + .setAnalyzer(iwc.getAnalyzer()) + .setSimilarity(iwc.getSimilarity()) + .setCodecService(new CodecService(null, logger)) + .setEventListener(eventListener) + .setQueryCache(IndexSearcher.getDefaultQueryCache()) + .setQueryCachingPolicy(IndexSearcher.getDefaultQueryCachingPolicy()) + .setTranslogConfig(translogConfig) + .setFlushMergesAfter(TimeValue.timeValueMinutes(5)) + .setExternalRefreshListener(extRefreshListenerList) + .setInternalRefreshListener(intRefreshListenerList) + .setIndexSort(indexSort) + .setCircuitBreakerService(breakerService) + .setGlobalCheckpointSupplier(globalCheckpointSupplier) + .setRetentionLeasesSupplier(retentionLeasesSupplier) + .setPrimaryTermSupplier(primaryTerm) + .setTombstoneDocSupplier(tombstoneDocSupplier()) + .createEngineConfig(); } protected EngineConfig config( @@ -906,30 +902,29 @@ protected EngineConfig config( .build() ); TranslogConfig translogConfig = new TranslogConfig(shardId, translogPath, indexSettings, BigArrays.NON_RECYCLING_INSTANCE); - return new EngineConfig( - config.getShardId(), - config.getThreadPool(), - indexSettings, - config.getWarmer(), - store, - config.getMergePolicy(), - config.getAnalyzer(), - config.getSimilarity(), - new CodecService(null, logger), - config.getEventListener(), - config.getQueryCache(), - config.getQueryCachingPolicy(), - translogConfig, - config.getFlushMergesAfter(), - config.getExternalRefreshListener(), - config.getInternalRefreshListener(), - config.getIndexSort(), - config.getCircuitBreakerService(), - config.getGlobalCheckpointSupplier(), - config.retentionLeasesSupplier(), - config.getPrimaryTermSupplier(), - tombstoneDocSupplier - ); + return new EngineConfig.Builder().setShardId(config.getShardId()) + .setThreadPool(config.getThreadPool()) + .setIndexSettings(indexSettings) + .setWarmer(config.getWarmer()) + .setStore(store) + .setMergePolicy(config.getMergePolicy()) + .setAnalyzer(config.getAnalyzer()) + .setSimilarity(config.getSimilarity()) + .setCodecService(new CodecService(null, logger)) + .setEventListener(config.getEventListener()) + .setQueryCache(config.getQueryCache()) + .setQueryCachingPolicy(config.getQueryCachingPolicy()) + .setTranslogConfig(translogConfig) + .setFlushMergesAfter(config.getFlushMergesAfter()) + .setExternalRefreshListener(config.getExternalRefreshListener()) + .setInternalRefreshListener(config.getInternalRefreshListener()) + .setIndexSort(config.getIndexSort()) + .setCircuitBreakerService(config.getCircuitBreakerService()) + .setGlobalCheckpointSupplier(config.getGlobalCheckpointSupplier()) + .setRetentionLeasesSupplier(config.retentionLeasesSupplier()) + .setPrimaryTermSupplier(config.getPrimaryTermSupplier()) + .setTombstoneDocSupplier(tombstoneDocSupplier) + .createEngineConfig(); } protected EngineConfig noOpConfig(IndexSettings indexSettings, Store store, Path translogPath) {