OpenSearch/test
Yannick Welsch 31b0777c91 Simplify delayed shard allocation (#18351)
This commit simplifies the delayed shard allocation implementation by assigning clear responsibilities to the various components that are affected by delayed shard allocation:

- UnassignedInfo gets a boolean flag delayed which determines whether assignment of the shard should be delayed. The flag gets persisted in the cluster state and is thus available across nodes, i.e. each node knows whether a shard was delayed-unassigned in a specific cluster state. Before, nodes other than the current master were unaware of that information.
- This flag is initially set as true if the shard becomes unassigned due to a node leaving and the index setting index.unassigned.node_left.delayed_timeout being strictly positive. From then on, unassigned shards can only transition from delayed to non-delayed, never in the other direction.
- The reroute step is in charge of removing the delay marker (comparing timestamp when node left to current timestamp).
- A dedicated service DelayedAllocationService, reacting to cluster change events, has the responsibility to schedule reroutes to remove the delay marker.

Closes #18293
2016-05-26 13:39:55 +02:00
..
fixtures in the plugin: guard against HADOOP_HOME in environment on any platform. 2015-12-21 02:21:53 -05:00
framework Simplify delayed shard allocation (#18351) 2016-05-26 13:39:55 +02:00
logger-usage Remove System.out.println and Throwable.printStackTrace from tests 2016-03-15 15:40:37 +01:00
build.gradle Build: Add pom generation to assemble task 2016-05-05 17:57:44 -07:00