|
@@ -578,44 +578,112 @@ public abstract class EngineTestCase extends ESTestCase {
|
|
|
|
|
|
public EngineConfig config(IndexSettings indexSettings, Store store, Path translogPath, MergePolicy mergePolicy,
|
|
|
ReferenceManager.RefreshListener refreshListener, Sort indexSort, LongSupplier globalCheckpointSupplier) {
|
|
|
- return config(indexSettings, store, translogPath, mergePolicy, refreshListener, null, indexSort, globalCheckpointSupplier,
|
|
|
- new NoneCircuitBreakerService());
|
|
|
+ return config(
|
|
|
+ indexSettings,
|
|
|
+ store,
|
|
|
+ translogPath,
|
|
|
+ mergePolicy,
|
|
|
+ refreshListener,
|
|
|
+ indexSort,
|
|
|
+ globalCheckpointSupplier,
|
|
|
+ globalCheckpointSupplier == null ? null : Collections::emptyList);
|
|
|
+ }
|
|
|
+
|
|
|
+ public EngineConfig config(
|
|
|
+ final IndexSettings indexSettings,
|
|
|
+ final Store store,
|
|
|
+ final Path translogPath,
|
|
|
+ final MergePolicy mergePolicy,
|
|
|
+ final ReferenceManager.RefreshListener refreshListener,
|
|
|
+ final Sort indexSort,
|
|
|
+ final LongSupplier globalCheckpointSupplier,
|
|
|
+ final Supplier<Collection<RetentionLease>> retentionLeasesSupplier) {
|
|
|
+ return config(
|
|
|
+ indexSettings,
|
|
|
+ store,
|
|
|
+ translogPath,
|
|
|
+ mergePolicy,
|
|
|
+ refreshListener,
|
|
|
+ null,
|
|
|
+ indexSort,
|
|
|
+ globalCheckpointSupplier,
|
|
|
+ retentionLeasesSupplier,
|
|
|
+ new NoneCircuitBreakerService());
|
|
|
}
|
|
|
|
|
|
public EngineConfig config(IndexSettings indexSettings, Store store, Path translogPath, MergePolicy mergePolicy,
|
|
|
ReferenceManager.RefreshListener externalRefreshListener,
|
|
|
ReferenceManager.RefreshListener internalRefreshListener,
|
|
|
- Sort indexSort, @Nullable final LongSupplier maybeGlobalCheckpointSupplier,
|
|
|
+ Sort indexSort, @Nullable LongSupplier maybeGlobalCheckpointSupplier,
|
|
|
CircuitBreakerService breakerService) {
|
|
|
- IndexWriterConfig iwc = newIndexWriterConfig();
|
|
|
- TranslogConfig translogConfig = new TranslogConfig(shardId, translogPath, indexSettings, BigArrays.NON_RECYCLING_INSTANCE);
|
|
|
- Engine.EventListener listener = new Engine.EventListener() {
|
|
|
- @Override
|
|
|
- public void onFailedEngine(String reason, @Nullable Exception e) {
|
|
|
- // we don't need to notify anybody in this test
|
|
|
- }
|
|
|
- };
|
|
|
+ return config(
|
|
|
+ indexSettings,
|
|
|
+ store,
|
|
|
+ translogPath,
|
|
|
+ mergePolicy,
|
|
|
+ externalRefreshListener,
|
|
|
+ internalRefreshListener,
|
|
|
+ indexSort,
|
|
|
+ maybeGlobalCheckpointSupplier,
|
|
|
+ maybeGlobalCheckpointSupplier == null ? null : Collections::emptyList,
|
|
|
+ breakerService);
|
|
|
+ }
|
|
|
+
|
|
|
+ public EngineConfig config(
|
|
|
+ final IndexSettings indexSettings,
|
|
|
+ final Store store,
|
|
|
+ final Path translogPath,
|
|
|
+ final MergePolicy mergePolicy,
|
|
|
+ final ReferenceManager.RefreshListener externalRefreshListener,
|
|
|
+ final ReferenceManager.RefreshListener internalRefreshListener,
|
|
|
+ final Sort indexSort,
|
|
|
+ final @Nullable LongSupplier maybeGlobalCheckpointSupplier,
|
|
|
+ final @Nullable Supplier<Collection<RetentionLease>> maybeRetentionLeasesSupplier,
|
|
|
+ final CircuitBreakerService breakerService) {
|
|
|
+ final IndexWriterConfig iwc = newIndexWriterConfig();
|
|
|
+ final TranslogConfig translogConfig = new TranslogConfig(shardId, translogPath, indexSettings, BigArrays.NON_RECYCLING_INSTANCE);
|
|
|
+ final Engine.EventListener listener = new Engine.EventListener() {}; // we don't need to notify anybody in this test
|
|
|
final List<ReferenceManager.RefreshListener> extRefreshListenerList =
|
|
|
- externalRefreshListener == null ? emptyList() : Collections.singletonList(externalRefreshListener);
|
|
|
+ externalRefreshListener == null ? emptyList() : Collections.singletonList(externalRefreshListener);
|
|
|
final List<ReferenceManager.RefreshListener> intRefreshListenerList =
|
|
|
- internalRefreshListener == null ? emptyList() : Collections.singletonList(internalRefreshListener);
|
|
|
+ internalRefreshListener == null ? emptyList() : Collections.singletonList(internalRefreshListener);
|
|
|
final LongSupplier globalCheckpointSupplier;
|
|
|
final Supplier<Collection<RetentionLease>> retentionLeasesSupplier;
|
|
|
if (maybeGlobalCheckpointSupplier == null) {
|
|
|
+ assert maybeRetentionLeasesSupplier == null;
|
|
|
final ReplicationTracker replicationTracker = new ReplicationTracker(
|
|
|
shardId, allocationId.getId(), indexSettings, SequenceNumbers.NO_OPS_PERFORMED, update -> {}, () -> 0L);
|
|
|
globalCheckpointSupplier = replicationTracker;
|
|
|
retentionLeasesSupplier = replicationTracker::getRetentionLeases;
|
|
|
} else {
|
|
|
+ assert maybeRetentionLeasesSupplier != null;
|
|
|
globalCheckpointSupplier = maybeGlobalCheckpointSupplier;
|
|
|
- retentionLeasesSupplier = Collections::emptyList;
|
|
|
+ retentionLeasesSupplier = maybeRetentionLeasesSupplier;
|
|
|
}
|
|
|
- EngineConfig config = new EngineConfig(shardId, allocationId.getId(), threadPool, indexSettings, null, store,
|
|
|
- mergePolicy, iwc.getAnalyzer(), iwc.getSimilarity(), new CodecService(null, logger), listener,
|
|
|
- IndexSearcher.getDefaultQueryCache(), IndexSearcher.getDefaultQueryCachingPolicy(), translogConfig,
|
|
|
- TimeValue.timeValueMinutes(5), extRefreshListenerList, intRefreshListenerList, indexSort,
|
|
|
- breakerService, globalCheckpointSupplier, retentionLeasesSupplier, primaryTerm::get, tombstoneDocSupplier());
|
|
|
- return config;
|
|
|
+ return new EngineConfig(
|
|
|
+ shardId,
|
|
|
+ allocationId.getId(),
|
|
|
+ threadPool,
|
|
|
+ indexSettings,
|
|
|
+ null,
|
|
|
+ store,
|
|
|
+ mergePolicy,
|
|
|
+ iwc.getAnalyzer(),
|
|
|
+ iwc.getSimilarity(),
|
|
|
+ new CodecService(null, logger),
|
|
|
+ listener,
|
|
|
+ IndexSearcher.getDefaultQueryCache(),
|
|
|
+ IndexSearcher.getDefaultQueryCachingPolicy(),
|
|
|
+ translogConfig,
|
|
|
+ TimeValue.timeValueMinutes(5),
|
|
|
+ extRefreshListenerList,
|
|
|
+ intRefreshListenerList,
|
|
|
+ indexSort,
|
|
|
+ breakerService,
|
|
|
+ globalCheckpointSupplier,
|
|
|
+ retentionLeasesSupplier,
|
|
|
+ primaryTerm::get,
|
|
|
+ tombstoneDocSupplier());
|
|
|
}
|
|
|
|
|
|
protected static final BytesReference B_1 = new BytesArray(new byte[]{1});
|