OpenSearch/test
Yannick Welsch 031415a5f6
Replicate writes only to fully initialized shards (#28049)
The primary currently replicates writes to all other shard copies as soon as they're added to the routing table. Initially those shards are not even ready yet to receive these replication requests, for example when undergoing a file-based peer recovery. Based on the specific stage that the shard copies are in, they will throw different kinds of exceptions when they receive the replication requests. The primary then ignores responses from shards that match certain exception types. With this mechanism it's not possible for a primary to distinguish between a situation where a replication target shard is not allocated and ready yet to receive requests and a situation where the shard was successfully allocated and active but subsequently failed.
This commit changes replication so that only initializing shards that have successfully opened their engine are used as replication targets. This removes the need to replicate requests to initializing shards that are not even ready yet to receive those requests. This saves on network bandwidth and enables features that rely on the distinction between a "not-yet-ready" shard and a failed shard.
2018-02-02 11:13:07 +01:00
..
fixtures Fix SecurityException when HDFS Repository used against HA Namenodes (#27196) 2017-12-01 14:26:05 -05:00
framework Replicate writes only to fully initialized shards (#28049) 2018-02-02 11:13:07 +01:00
logger-usage Upgrade checkstyle to version 7.5 2017-02-03 09:46:44 -05:00
build.gradle Build: Add 3rd party dependencies report generation (#27727) 2017-12-26 10:51:47 +01:00