Skip to content

Commit bacba42

Browse files
committed
Switch back to ConcurrentMergeScheduler
Load tests showed that SerialMS has problems to keep up with the merges under high load. We should switch back to CMS until we have a better story to balance merge threads / efforts across shards on a single node. Closes #5817
1 parent 7f276ac commit bacba42

File tree

2 files changed

+2
-6
lines changed

2 files changed

+2
-6
lines changed

docs/reference/index-modules/merge.asciidoc

+1-5
Original file line numberDiff line numberDiff line change
@@ -187,11 +187,7 @@ Defaults to unbounded.
187187

188188
The merge schedule controls the execution of merge operations once they
189189
are needed (according to the merge policy). The following types are
190-
supported, with the default being the `SerialMergeScheduler`.
191-
192-
Note, the default is the serial merge scheduler since there is a merge
193-
thread pool that explicitly schedules merges, and it makes sure that
194-
merges are serial within a shard, yet concurrent across multiple shards.
190+
supported, with the default being the `ConcurrentMergeScheduler`.
195191

196192
[float]
197193
==== ConcurrentMergeScheduler

src/main/java/org/elasticsearch/index/merge/scheduler/MergeSchedulerModule.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
public class MergeSchedulerModule extends AbstractModule {
2929

3030
public static final String MERGE_SCHEDULER_TYPE_KEY = "index.merge.scheduler.type";
31-
public static final Class<? extends MergeSchedulerProvider> DEFAULT = SerialMergeSchedulerProvider.class;
31+
public static final Class<? extends MergeSchedulerProvider> DEFAULT = ConcurrentMergeSchedulerProvider.class;
3232

3333
private final Settings settings;
3434

0 commit comments

Comments
 (0)