Translog

edit

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 to 5s.

Note: these parameters can be updated at runtime using the Index Settings Update API (for example, these number can be increased when executing bulk updates to support higher TPS)