# Rolling Restarts: node\_left.delayed\_timeout vs allocation.enable

**URL:** https://discuss.elastic.co/t/rolling-restarts-node-left-delayed-timeout-vs-allocation-enable/56944
**Category:** Elasticsearch
**Created:** [August 2, 2016, 3:24am UTC](https://discuss.elastic.co/t/rolling-restarts-node-left-delayed-timeout-vs-allocation-enable/56944 "2016-08-02T03:24:51Z")
**Posts on this page:** 3
**Page:** 1

<div class="post-metadata">

### Author: ![cheruvian](https://avatars.discourse-cdn.com/v4/letter/c/48db29/32.png) [@cheruvian](https://discuss.elastic.co/u/cheruvian)
#### Post date: [August 2, 2016, 3:24am UTC](https://discuss.elastic.co/t/rolling-restarts-node-left-delayed-timeout-vs-allocation-enable/56944/1 "2016-08-02T03:24:51Z")

</div>

What are the benefits/drawbacks to using `index.unassigned.node_left.delayed_timeout` vs `cluster.routing.allocation.enable` when doing a rolling restart?

From what I understand:

- `index.unassigned.node_left.delayed_timeout`: [https://www.elastic.co/guide/en/elasticsearch/reference/current/delayed-allocation.html](https://www.elastic.co/guide/en/elasticsearch/reference/current/delayed-allocation.html)
- Prevents ES from triggering allocation
- It also has the benefit of cancelling allocation if timeout expires
- `cluster.routing.allocation.enable: none` (or new\_primaries)
- Prevents allocation of new primaries

It seems as though when doing a rolling restart you'd want to increase the node\_left.delayed\_timeout (Default 1m) to something reasonable (5m for us) or something pretty high for manual maintenance (2h?). Yet [the docs](https://www.elastic.co/guide/en/elasticsearch/guide/current/_rolling_restarts.html) for rolling restarts recommend setting allocation enable to none (which should really be new\_primaries...).

Am I missing something or over simplifying?

Thanks,  
Ryan

[Interestingly Azure recommends using `delayed_timeout`](https://azure.microsoft.com/en-us/documentation/articles/guidance-elasticsearch-configuring-resilience-and-recovery/)

---

<div class="post-metadata">

### Author: ![warkolm](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/warkolm/32/39224_2.png) [@warkolm](https://discuss.elastic.co/u/warkolm)
#### Post date: [August 2, 2016, 10:36am UTC](https://discuss.elastic.co/t/rolling-restarts-node-left-delayed-timeout-vs-allocation-enable/56944/2 "2016-08-02T10:36:32Z")

</div>

The second is the original method of stopping reallocation in cases of node restarts. The first is probably the better way to do it now.  
You may, for whatever reason, want to stop all allocation for other non-restart reasons though, so having the option makes sense.

I've raised [https://github.com/elastic/elasticsearch/issues/19739](https://github.com/elastic/elasticsearch/issues/19739) as a discussion issue 🙂

---

<div class="post-metadata">

### Author: ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)
#### Post date: [July 5, 2017, 10:30pm UTC](https://discuss.elastic.co/t/rolling-restarts-node-left-delayed-timeout-vs-allocation-enable/56944/3 "2017-07-05T22:30:54Z")

</div>


