I have set up a lifecycle policy in order to delete index data when it is older that 50 gb
Here is how it looks like below:
PUT _ilm/policy/deleting_policy
{
"policy": {
"phases": {
"hot": {
"min_age": "0ms",
"actions": {
"rollover": {
"max_size": "50gb"
},
"set_priority": {
"priority": 100
}
}
},
"delete": {
"min_age": "25d",
"actions": {
"delete": {
"delete_searchable_snapshot": true
}
}
}
}
}
}
Output of GET /myindex-000001/_ilm/explain?human
{
"index.query.default_field": [
"*"
],
"index.refresh_interval": "1s",
"index.write.wait_for_active_shards": "1",
"index.lifecycle.name": "deleting_policy",
"index.lifecycle.rollover_alias": "myindex-alias",
"index.routing.allocation.include._tier_preference": "data_content",
"index.blocks.read_only_allow_delete": "false",
"index.priority": "100",
"index.number_of_replicas": "1"
}
I can see that the myindex-000001 has over 100gb data and a second index: myindex-000002 has been created automatically because of the policy and the index's health is green however it hasn't deleted data from first index or moved any data to the new index.
Here is the error on second index:
Index lifecycle error
illegal_argument_exception: setting [index.lifecycle.rollover_alias] for index [myindex-000002] is empty or not defined
And I can see that it doesn't have the alias under the settings of the second index but the inxed is created automatically via policy. Is there anything that I should setup in the policy that make the alias when creates a new index?
what am I missing here?