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
This commit is contained in:
Simon Willnauer 2014-04-15 15:14:44 +02:00
parent 9920084ba2
commit 320a206352
2 changed files with 2 additions and 6 deletions

View File

@ -187,11 +187,7 @@ Defaults to unbounded.
The merge schedule controls the execution of merge operations once they The merge schedule controls the execution of merge operations once they
are needed (according to the merge policy). The following types are are needed (according to the merge policy). The following types are
supported, with the default being the `SerialMergeScheduler`. supported, with the default being the `ConcurrentMergeScheduler`.
Note, the default is the serial merge scheduler since there is a merge
thread pool that explicitly schedules merges, and it makes sure that
merges are serial within a shard, yet concurrent across multiple shards.
[float] [float]
==== ConcurrentMergeScheduler ==== ConcurrentMergeScheduler

View File

@ -28,7 +28,7 @@ import org.elasticsearch.common.settings.Settings;
public class MergeSchedulerModule extends AbstractModule { public class MergeSchedulerModule extends AbstractModule {
public static final String MERGE_SCHEDULER_TYPE_KEY = "index.merge.scheduler.type"; public static final String MERGE_SCHEDULER_TYPE_KEY = "index.merge.scheduler.type";
public static final Class<? extends MergeSchedulerProvider> DEFAULT = SerialMergeSchedulerProvider.class; public static final Class<? extends MergeSchedulerProvider> DEFAULT = ConcurrentMergeSchedulerProvider.class;
private final Settings settings; private final Settings settings;