ILM index priority not being set correctly

I have an ILM policy defined that looks like this:

GET _ilm/policy/warm-shrink-merge-after-1-year
{
  "warm-shrink-merge-after-1-year" : {
    "version" : 1,
    "modified_date" : "2020-09-28T23:03:18.959Z",
    "policy" : {
      "phases" : {
        "hot" : {
          "min_age" : "0ms",
          "actions" : {
            "set_priority" : {
              "priority" : 100
            }
          }
        },
        "warm" : {
          "min_age" : "396d",
          "actions" : {
            "allocate" : {
              "number_of_replicas" : 0,
              "include" : { },
              "exclude" : { },
              "require" : {
                "data" : "warm"
              }
            },
            "forcemerge" : {
              "max_num_segments" : 1
            },
            "set_priority" : {
              "priority" : 50
            },
            "shrink" : {
              "number_of_shards" : 1
            }
          }
        }
      }
    }
  }
}

I've applied this policy to some indexes, and everything seems to be working (shard and replica numbers changed, segments merged, moved to nodes with "warm" attribute) except that the priority of my warm indexes ends up being 100, not 50. Am I doing something wrong here?

GET /apirequest-prod-2018.12/_ilm/explain
{
  "indices" : {
    "shrink-apirequest-prod-2018.12" : {
      "index" : "shrink-apirequest-prod-2018.12",
      "managed" : true,
      "policy" : "warm-shrink-merge-after-1-year",
      "lifecycle_date_millis" : 1543622406182,
      "age" : "668.6d",
      "phase" : "warm",
      "action" : "complete",
      "action_time_millis" : 1601336208877,
      "step" : "complete",
      "step_time_millis" : 1601336208877
    }
  }
}
GET /apirequest-prod-2018.12/_settings
{
  "shrink-apirequest-prod-2018.12" : {
    "settings" : {
      "index" : {
        "lifecycle" : {
          "name" : "warm-shrink-merge-after-1-year"
        },
        "routing" : {
          "allocation" : {
            "initial_recovery" : {
              "_id" : "_G4C70tnRvG3G4curdzFkQ"
            },
            "require" : {
              "data" : "warm",
              "_id" : null
            }
          }
        },
        "number_of_shards" : "1",
        "routing_partition_size" : "1",
        "blocks" : {
          "write" : "true"
        },
        "provided_name" : "shrink-apirequest-prod-2018.12",
        "resize" : {
          "source" : {
            "name" : "apirequest-prod-2018.12",
            "uuid" : "ggpZLn2mT5GvqzzI4my_VA"
          }
        },
        "creation_date" : "1601335609424",
        "priority" : "100",
        "number_of_replicas" : "0",
        "uuid" : "CMI8mTGBSZekR3ArmsbGrg",
        "version" : {
          "created" : "6030199",
          "upgraded" : "7010199"
        }
      }
    }
  }
}

Running ES 7.9.2

From further observation, it seems like the priority is correctly set to 50 as the warm phase runs, but then is set to 100 again perhaps due to the shrink operation.

Is that the expected behaviour?

Hi, anyone have any thoughts on the correct way to do this?

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