anchor.diff: -= Resiliency Status
  += Elasticsearch Resiliency Status
   
   :JIRA: https://issues.apache.org/jira/browse/LUCENE-
   :GIT:  https://github.com/elasticsearch/elasticsearch/issues/
  
positive.code: A test to replicate this condition was added in {GIT}7493[#7493].
  
  [float]
  === Prevent use of known-bad Java versions (STATUS: ONGOING)
  
  Certain versions of the JVM are known to have bugs which can cause index corruption.  {GIT}7580[#7580] prevents Elasticsearch startup if known bad versions are in use.
  
  [float]
  === Lucene checksums phase 3 (STATUS:ONGOING)
  
  Almost all files in Elasticsearch now have checksums which are validated before use.  A few changes remain:
  
  * {GIT}7586[#7586] adds checksums for cluster and index state files. (STATUS: DONE, Fixed in v1.5.0)
  * {GIT}9183[#9183] supports validating the checksums on all files when starting a node. (STATUS: DONE, Fixed in v2.0.0)
  * {JIRA}5894[LUCENE-5894] lays the groundwork for extending more efficient checksum validation to all files during optimized bulk merges. (STATUS: ONGOING, Fixed in Lucene 5.0)
  * {GIT}8403[#8403] to add validation of checksums on Lucene `segments_N` files. (STATUS: NOT STARTED)
  
  [float]
  
negative.code: * Flush immediately after the last concurrent recovery finishes to clear out the translog before a new recovery starts {GIT}9439[#9439]. (STATUS: DONE, Fixed in v1.5.0)
  
  [float]
  === Prevent use of known-bad Java versions (STATUS: DONE, v1.5.0)
  
  Certain versions of the JVM are known to have bugs which can cause index corruption.  {GIT}7580[#7580] prevents Elasticsearch startup if known bad versions are in use.
  
  [float]
  === Make recovery be more resilient to partial network partitions (STATUS: DONE, v1.5.0)
  
  When a node is experience network issues, the master detects it and removes the node from the cluster. That causes all ongoing recoveries from and to that node to be stopped and a new location is found for the relevant shards. However, in the of case partial network partition, where there are connectivity issues between the source and target nodes of a recovery but not between those nodes and the current master things may go wrong. While the nodes successfully restore the connection, the on going recoveries may have encountered issues. In {GIT}8720[#8720], we added test simulations for these and solved several issues that were flagged by them.
  
  
  [float]
  === Validate quorum before accepting a write request (STATUS: DONE, v1.4.0)
  
  Today, when a node holding a primary shard receives an index request, it checks the local cluster state to see whether a quorum of shards is available before it accepts the request. However, it can take some time before an unresponsive node is removed from the cluster state. We are adding an optional live check, where the primary node tries to contact its replicas to confirm that they are still responding before accepting any changes. See {GIT}6937[#6937].
  
  