Running ES 5.6.16 on a three-node cluster (all master-eligible, two data-nodes). Will soon perform maintenance (one node at a time) which will take 2 hours tops per node. When one of the data-nodes will be down, I want to minimize the amount of data-shuffling that occurs and the way I understand it is that if you want availability, you need to at least let the replicas on the remaining data-node be promoted to primaries which is totally understandable and fine. But what I would like to avoid is the creation of new replicas.
I'd appreciate your feedback regarding these two options:
Setting cluster.routing.allocation.enable to "primaries". I'm guessing this also includes the scope of "new_primaries" in case some index would roll-over.
Setting index.unassigned.node_left.delayed_timeout to a high enough value, say 2h.
What would the difference between these two be and which one would be more appropriate for my situation?