Translog: change flush_threshold_ops to unlimited by default, so we only flush by byte size by default

If you are indexing tiny documents then the previous default (5000)
was too low, causing excessive fsyncs with high indexing rates.  With
this change we now only flush by byte size (200 MB) by default for
better indexing performance for tiny documents.

Closes #6783
This commit is contained in:
mikemccand 2014-07-08 12:42:17 -04:00
parent a8417a7de3
commit 7335b5db22
1 changed files with 1 additions and 1 deletions

View File

@ -78,7 +78,7 @@ public class TranslogService extends AbstractIndexShardComponent {
this.indexSettingsService = indexSettingsService;
this.indexShard = indexShard;
this.translog = translog;
this.flushThresholdOperations = componentSettings.getAsInt(FLUSH_THRESHOLD_OPS_KEY, componentSettings.getAsInt("flush_threshold", 5000));
this.flushThresholdOperations = componentSettings.getAsInt(FLUSH_THRESHOLD_OPS_KEY, componentSettings.getAsInt("flush_threshold", Integer.MAX_VALUE));
this.flushThresholdSize = componentSettings.getAsBytesSize(FLUSH_THRESHOLD_SIZE_KEY, new ByteSizeValue(200, ByteSizeUnit.MB));
this.flushThresholdPeriod = componentSettings.getAsTime(FLUSH_THRESHOLD_PERIOD_KEY, TimeValue.timeValueMinutes(30));
this.interval = componentSettings.getAsTime(FLUSH_THRESHOLD_INTERVAL_KEY, timeValueMillis(5000));