# Index Lifecycle Policy requires rollover and adjacent settings even when rollover is disabled

**URL:** <https://discuss.elastic.co/t/index-lifecycle-policy-requires-rollover-and-adjacent-settings-even-when-rollover-is-disabled/194588>\
**Category:** Elasticsearch\
**Tags:** ilm-index-lifecycle-management\
**Created:** [August 9, 2019, 10:19am UTC](https://discuss.elastic.co/t/index-lifecycle-policy-requires-rollover-and-adjacent-settings-even-when-rollover-is-disabled/194588 "2019-08-09T10:19:07Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![oysteila](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/oysteila/32/23147_2.png) [@oysteila](https://discuss.elastic.co/u/oysteila)\
**Post date:** [August 9, 2019, 10:19am UTC](https://discuss.elastic.co/t/index-lifecycle-policy-requires-rollover-and-adjacent-settings-even-when-rollover-is-disabled/194588/1 "2019-08-09T10:19:07Z")

</div>

It would appear that ILM is broken once you decide you wish to use ILM without rollover.

Note that I do not under any circumstance _wish_ to activate rollover. We use daily indices. Please do not suggest I activate rollover and be done with it.

The purpose of the policy is to move daily indices to warm nodes after 21 days and then delete them after 100 days. This is the only thing I wish to do.

This is what the policy looks like:

> {  
> "data-hot-warm-delete" : {  
> "version" : 1,  
> "modified\_date" : "2019-08-09T10:02:10.587Z",  
> "policy" : {  
> "phases" : {  
> "hot" : {  
> "min\_age" : "0ms",  
> "actions" : {  
> "set\_priority" : {  
> "priority" : 100  
> }  
> }  
> },  
> "delete" : {  
> "min\_age" : "100d",  
> "actions" : {  
> "delete" : { }  
> }  
> },  
> "warm" : {  
> "min\_age" : "21d",  
> "actions" : {  
> "allocate" : {  
> "include" : { },  
> "exclude" : { },  
> "require" : {  
> "box\_type" : "warm"  
> }  
> },  
> "set\_priority" : {  
> "priority" : 50  
> }  
> }  
> }  
> }  
> }  
> }  
> }

If I attempt to run this policy on an index, I get the following error:

> {  
> "error": {  
> "root\_cause": [  
> {  
> "type": "remote\_transport\_exception",  
> "reason": "[masternode01][10.0.95.50:9300][indices:admin/ilm/retry]"  
> }  
> ],  
> "type": "illegal\_argument\_exception",  
> "reason": "step [{"phase":"hot","action":"rollover","name":"check-rollover-ready"}] for index [data-2019-04-01] with policy [data-hot-warm-delete] does not exist"  
> },  
> "status": 400  
> }

Once again, please do not suggest I activate rollover. I do not want it. Rollover is built in to our indexing scheme. Instead I wish to know how I can build a simple ILM policy that will simply migrate the indices to warm nodes after 21 days and then delete them after 100.

From my perspective it seems to be a bug in ILM. But if ILM is built such that rollover is an absolute must, I'll simply move back to Curator.

---

<div class="post-metadata">

**Author:** ![dakrone](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dakrone/32/23351_2.png) [@dakrone](https://discuss.elastic.co/u/dakrone)\
**Post date:** [August 9, 2019, 2:26pm UTC](https://discuss.elastic.co/t/index-lifecycle-policy-requires-rollover-and-adjacent-settings-even-when-rollover-is-disabled/194588/2 "2019-08-09T14:26:03Z")

</div>

> [@oysteila](#):
>
> But if ILM is built such that rollover is an absolute must, I'll simply move back to Curator.

Rollover is not a requirement of ILM.

What is the output of ILM explain for the index in question:

```auto
GET /data-2019-04-01/_ilm/explain?human

```

---

<div class="post-metadata">

**Author:** ![oysteila](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/oysteila/32/23147_2.png) [@oysteila](https://discuss.elastic.co/u/oysteila)\
**Post date:** [August 15, 2019, 11:06am UTC](https://discuss.elastic.co/t/index-lifecycle-policy-requires-rollover-and-adjacent-settings-even-when-rollover-is-disabled/194588/4 "2019-08-15T11:06:34Z")

</div>

This is the policy:

```
{
  "data-hot-warm-delete" : {
    "version" : 1,
    "modified_date" : "2019-08-09T10:02:10.587Z",
    "policy" : {
      "phases" : {
        "hot" : {
          "min_age" : "0ms",
          "actions" : {
            "set_priority" : {
              "priority" : 100
            }
          }
        },
        "delete" : {
          "min_age" : "100d",
          "actions" : {
            "delete" : { }
          }
        },
        "warm" : {
          "min_age" : "21d",
          "actions" : {
            "allocate" : {
              "include" : { },
              "exclude" : { },
              "require" : {
                "box_type" : "warm"
              }
            },
            "set_priority" : {
              "priority" : 50
            }
          }
        }
      }
    }
  }
}

```

This is the output from `POST data-2019-06-01/_ilm/retry` :

```
{
  "error": {
    "root_cause": [
      {
        "type": "remote_transport_exception",
        "reason": "[masternode-01][10.95.23.30:9300][indices:admin/ilm/retry]"
      }
    ],
    "type": "illegal_argument_exception",
    "reason": "step [{\"phase\":\"hot\",\"action\":\"rollover\",\"name\":\"check-rollover-ready\"}] for index [data-2019-06-01] with policy [data-hot-warm-delete] does not exist"
  },
  "status": 400
}

```

Explain output is not from the new policy, but an old one - likely due to a retry failing to even get off the ground.

---

<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:** [September 12, 2019, 11:06am UTC](https://discuss.elastic.co/t/index-lifecycle-policy-requires-rollover-and-adjacent-settings-even-when-rollover-is-disabled/194588/5 "2019-09-12T11:06:40Z")

</div>

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
