I have read the documentation, and the solution to this error is that I need to set an alias for the index. But this index is at the system level, that is, I did not build it. Why do I need to manually set aliases?
Setting [index.lifecycle.rollover_alias] for index [y] is empty or not defined
> [2021-11-12T07:12:28,714][INFO ][o.e.x.i.IndexLifecycleRunner] [es-dev01] policy [ilm-history-ilm-policy] for index [.ds-ilm-history-5-2021.10.26-000001] on an error step due to a transient error, moving back to the failed step [check-rollover-ready] for execution. retry attempt [1211]
> [2021-11-12T07:22:28,713][ERROR][o.e.x.i.IndexLifecycleRunner] [es-dev01] policy [ilm-history-ilm-policy] for index [.ds-ilm-history-5-2021.10.26-000001] failed on step [{"phase":"hot","action":"rollover","name":"check-rollover-ready"}]. Moving to ERROR step
> java.lang.IllegalArgumentException: setting [index.lifecycle.rollover_alias] for index [.ds-ilm-history-5-2021.10.26-000001] is empty or not defined
> at org.elasticsearch.xpack.core.ilm.WaitForRolloverReadyStep.evaluateCondition(WaitForRolloverReadyStep.java:77) [x-pack-core-7.13.4.jar:7.13.4]
> at org.elasticsearch.xpack.ilm.IndexLifecycleRunner.runPeriodicStep(IndexLifecycleRunner.java:176) [x-pack-ilm-7.13.4.jar:7.13.4]
> at org.elasticsearch.xpack.ilm.IndexLifecycleService.triggerPolicies(IndexLifecycleService.java:334) [x-pack-ilm-7.13.4.jar:7.13.4]
> at org.elasticsearch.xpack.ilm.IndexLifecycleService.triggered(IndexLifecycleService.java:272) [x-pack-ilm-7.13.4.jar:7.13.4]
> at org.elasticsearch.xpack.core.scheduler.SchedulerEngine.notifyListeners(SchedulerEngine.java:184) [x-pack-core-7.13.4.jar:7.13.4]
> at org.elasticsearch.xpack.core.scheduler.SchedulerEngine$ActiveSchedule.run(SchedulerEngine.java:217) [x-pack-core-7.13.4.jar:7.13.4]
> at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) [?:?]
> at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?]
> at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) [?:?]
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130) [?:?]
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630) [?:?]
> at java.lang.Thread.run(Thread.java:831) [?:?]
> [2021-11-12T07:32:28,714][INFO ][o.e.x.i.IndexLifecycleRunner] [es-dev01] policy [ilm-history-ilm-policy] for index [.ds-ilm-history-5-2021.10.26-000001] on an error step due to a transient error, moving back to the failed step [check-rollover-ready] for execution. retry attempt [1212]
> [2021-11-12T07:42:28,714][ERROR][o.e.x.i.IndexLifecycleRunner] [es-dev01] policy [ilm-history-ilm-policy] for index [.ds-ilm-history-5-2021.10.26-000001] failed on step [{"phase":"hot","action":"rollover","name":"check-rollover-ready"}]. Moving to ERROR step
> java.lang.IllegalArgumentException: setting [index.lifecycle.rollover_alias] for index [.ds-ilm-history-5-2021.10.26-000001] is empty or not defined
> at org.elasticsearch.xpack.core.ilm.WaitForRolloverReadyStep.evaluateCondition(WaitForRolloverReadyStep.java:77) [x-pack-core-7.13.4.jar:7.13.4]
> at org.elasticsearch.xpack.ilm.IndexLifecycleRunner.runPeriodicStep(IndexLifecycleRunner.java:176) [x-pack-ilm-7.13.4.jar:7.13.4]
> at org.elasticsearch.xpack.ilm.IndexLifecycleService.triggerPolicies(IndexLifecycleService.java:334) [x-pack-ilm-7.13.4.jar:7.13.4]
> at org.elasticsearch.xpack.ilm.IndexLifecycleService.triggered(IndexLifecycleService.java:272) [x-pack-ilm-7.13.4.jar:7.13.4]
> at org.elasticsearch.xpack.core.scheduler.SchedulerEngine.notifyListeners(SchedulerEngine.java:184) [x-pack-core-7.13.4.jar:7.13.4]
> at org.elasticsearch.xpack.core.scheduler.SchedulerEngine$ActiveSchedule.run(SchedulerEngine.java:217) [x-pack-core-7.13.4.jar:7.13.4]
> at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) [?:?]
> at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?]
> at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) [?:?]
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130) [?:?]
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630) [?:?]
> at java.lang.Thread.run(Thread.java:831) [?:?]
> [2021-11-12T07:52:28,713][INFO ][o.e.x.i.IndexLifecycleRunner] [es-dev01] policy [ilm-history-ilm-policy] for index [.ds-ilm-history-5-2021.10.26-000001] on an error step due to a transient error, moving back to the failed step [check-rollover-ready] for execution. retry attempt [1213]
> [2021-11-12T08:02:28,713][ERROR][o.e.x.i.IndexLifecycleRunner] [es-dev01] policy [ilm-history-ilm-policy] for index [.ds-ilm-history-5-2021.10.26-000001] failed on step [{"phase":"hot","action":"rollover","name":"check-rollover-ready"}]. Moving to ERROR step
> java.lang.IllegalArgumentException: setting [index.lifecycle.rollover_alias] for index [.ds-ilm-history-5-2021.10.26-000001] is empty or not defined
> at org.elasticsearch.xpack.core.ilm.WaitForRolloverReadyStep.evaluateCondition(WaitForRolloverReadyStep.java:77) [x-pack-core-7.13.4.jar:7.13.4]
> at org.elasticsearch.xpack.ilm.IndexLifecycleRunner.runPeriodicStep(IndexLifecycleRunner.java:176) [x-pack-ilm-7.13.4.jar:7.13.4]
> at org.elasticsearch.xpack.ilm.IndexLifecycleService.triggerPolicies(IndexLifecycleService.java:334) [x-pack-ilm-7.13.4.jar:7.13.4]
> at org.elasticsearch.xpack.ilm.IndexLifecycleService.triggered(IndexLifecycleService.java:272) [x-pack-ilm-7.13.4.jar:7.13.4]
> at org.elasticsearch.xpack.core.scheduler.SchedulerEngine.notifyListeners(SchedulerEngine.java:184) [x-pack-core-7.13.4.jar:7.13.4]
> at org.elasticsearch.xpack.core.scheduler.SchedulerEngine$ActiveSchedule.run(SchedulerEngine.java:217) [x-pack-core-7.13.4.jar:7.13.4]
> at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) [?:?]
> at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?]
> at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) [?:?]
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130) [?:?]
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630) [?:?]
> at java.lang.Thread.run(Thread.java:831) [?:?]