f5e4cd4616
Today we throttle recoveries only for incoming recoveries. Nodes that have a lot of primaries can get overloaded due to too many recoveries. To still keep that at bay we limit the number of threads that are sending files to the target to overcome this problem. The right solution here is to also throttle the outgoing recoveries that are today unbounded on the master and don't start the recovery until we have enough resources on both source and target nodes. The concurrency aspects of the recovery source also added a lot of complexity and additional threadpools that are hard to configure. This commit removes the concurrent streamns notion completely and sends files in the thread that drives the recovery simplifying the recovery code considerably. Outgoing recoveries are not throttled on the master via a allocation decider. |
||
---|---|---|
.. | ||
allocation_awareness.asciidoc | ||
allocation_filtering.asciidoc | ||
disk_allocator.asciidoc | ||
misc.asciidoc | ||
shards_allocation.asciidoc |