Your policy has a min_age for the warm phase of 30d, but then the cold and delete phases both have a min_age of 7d. This means that once your index hits the warm phase, it executes the actions in the warm phase, then goes directly to the cold, executes those, then directly goes to the delete phase and deletes the index.
Generally you'll always want the min_age to be getting increasingly longer, so something like 30d for warm, 45d for cold, and 60d for delete.
@warkolm we could enforce >=, but not >, as it's still valid to have a policy that just runs through actions sequentially regardless of timing (for instance, 0d for both a warm and cold phase).
ILM timings are absolute time. So you'd need something like:
warm - min_age: 7d
cold - min_age: 37d
delete - min_age: 44d
This means "enter the warm phase after the index is 7 days old[1]", then "enter the cold phase after the index is 37 days old", then "delete the index when it is 44 days old".
The 44 is 7 + 30 + 7 = 44.
[1]: technically it's calculated based on the time rollover completes, but calling it "age" is easier to reason about.
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.