Translogedit
Each shard has a transaction log or write ahead log associated with it. It allows to guarantee that when an index/delete operation occurs, it is applied atomically, while not "committing" the internal Lucene index for each request. A flush ("commit") still happens based on several parameters:
-
index.translog.flush_threshold_ops -
After how many operations to flush. Defaults to
unlimited. -
index.translog.flush_threshold_size -
Once the translog hits this size, a flush will happen. Defaults to
512mb. -
index.translog.flush_threshold_period -
The period with no flush happening to force a flush. Defaults to
30m. -
index.translog.interval -
How often to check if a flush is needed, randomized
between the interval value and 2x the interval value. Defaults to
5s. -
index.gateway.local.sync -
How often the translog is
fsynced to disk. Defaults to5s.
Note: these parameters except index.gateway.local.sync can be updated at runtime using the Index
Settings Update API (for example, these numbers can be increased when
executing bulk updates to support higher TPS)