anchor.diff:  [[index-modules-translog]]
   == Translog
   
  -Changes to a shard are only persisted to disk when the shard is ``flushed'',
  +Changes to Lucene are only persisted to disk during a Lucene commit,
   which is a relatively heavy operation and so cannot be performed after every
  -index or delete operation. Instead, changes are accumulated in an in-memory
  -indexing buffer and only written to disk periodically. This would mean that
  -the contents of the in-memory buffer would be lost in the event of power
  -failure or some other hardware crash.
  +index or delete operation. Changes that happen after one commit and before another
  +will be lost in the event of process exit or HW failure.
   
   To prevent this data loss, each shard has a _transaction log_ or write ahead
  -log associated with it. Any index or delete operation is first written to the
  -translog before being processed by the internal Lucene index. This translog is
  -only cleared once the shard has been flushed and the data in the in-memory
  -buffer persisted to disk as a Lucene segment.
  +log associated with it. Any index or delete operation is written to the
  +translog after being processed by the internal Lucene index.
   
   In the event of a crash, recent transactions can be replayed from the
   transaction log when the shard recovers.
  +
  +An Elasticsearch flush is the process of performing a Lucene commit and
  +starting a new translog. It is done automatically in the background in order
  +to make sure the transaction log doesn't grow too large, which would make
  +replaying its operations take a considerable amount of time during recovery.
  +It is also exposed through an API, though its rarely needed to be performed
  +manually.
  +
   
   [float]
   === Flush settings
  
positive.code: 
  `index.translog.sync_interval`::
  
  How often the translog is ++fsync++ed to disk. Defaults to `5s`.
  
  `index.translog.fs.type`::
  
  
negative.code: the whole data centre loses power at the same time, then it is possible that
  you could lose the last 5 seconds (or `sync_interval`) of data.
  
  We are constantly monitoring the perfromance implications of better default
  translog sync semantics, so the default might change as time passes and HW,
  virtualization, and other aspects improve.
  
  ******************************************************