As the title suggests, I have updated an index lifecycle policy, and the old indices are still stuck with the old settings. I have tried refreshing the index, clearing the cache, removing the ILM policy and adding it again, and forcing the next step through dev tools. Only the two last points worked, but they take too much time sometimes. Is there a better solution for this?
What I changed was that I added a deletion phase to happen after 15 days. As you can see, the index has been created more than 15 days ago and it still doesn't want to got to the delete phase.
And what were the previous setting? Can you share how your policy currently looks like?
Did you change the policy to rollover when it reaches 15 days or 50 GB and then delete the data after 15 days?
If yes, the delete will happen 15 days after rollover, the index you shared seems to be rolled over on 2026-04-20, so it has not passed 15 days yet, the delete considers the rollover date, not the creation date.
If you want to delete as soon as it rolls over, change the delete to use 0 or 1 day.
Yes, this is how ILM always worked, you can check it in this documentation here.
There is this note:
If an index has been rolled over, then the min_age value is relative to the time the index was rolled over, not the index creation time.
If you have a rollover, all phases after hot in a policy will only start counting after that rollover.
If you check the request of an ILM policy you will see that the delete phase uses min_age, so if you configure it to delete after 15 days, the min_age will be 15d, counting from rollover date.
On the rollover documentation you have also an example in the end mentioning this.
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.