I am getting ILM errors on all of my indexes. For example:
stack_trace" : "java.lang.IllegalArgumentException: index.lifecycle.rollover_alias [jaeger-span] does not point to index [jaeger-span-2024-08-02]\n\tat org.elasticsearch.xpack.core.ilm.RolloverStep.performAction(RolloverStep.java:73)\n\tat org.elasticsearch.xpack.ilm.IndexLifecycleRunner.maybeRunAsyncAction(IndexLifecycleRunner.java:294)\n\tat org.elasticsearch.xpack.ilm.IndexLifecycleRunner$2.clusterStateProcessed(IndexLifecycleRunner.java:250)\n\tat org.elasticsearch.cluster.service.MasterService$SafeClusterStateTaskListener.clusterStateProcessed(MasterService.java:534)\n\tat org.elasticsearch.cluster.service.MasterService$TaskOutputs.lambda$processedDifferentClusterState$1(MasterService.java:421)\n\tat java.base/java.util.ArrayList.forEach(ArrayList.java:1511)\n\tat org.elasticsearch.cluster.service.MasterService$TaskOutputs.processedDifferentClusterState(MasterService.java:421)\n\tat org.elasticsearch.cluster.service.MasterService.onPublicationSuccess(MasterService.java:281)\n\tat org.elasticsearch.cluster.service.MasterService.publish(MasterService.java:273)\n\tat org.elasticsearch.cluster.service.MasterService.runTasks(MasterService.java:250)\n\tat org.elasticsearch.cluster.service.MasterService.access$000(MasterService.java:73)\n\tat org.elasticsearch.cluster.service.MasterService$Batcher.run(MasterService.java:151)\n\tat org.elasticsearch.cluster.service.TaskBatcher.runIfNotProcessed(TaskBatcher.java:150)\n\tat org.elasticsearch.cluster.service.TaskBatcher$BatchedTask.run(TaskBatcher.java:188)\n\tat org.elasticsearch.common.util.concurrent.ThreadContext$ContextPreservingRunnable.run(ThreadContext.java:684)\n\tat org.elasticsearch.common.util.concurrent.PrioritizedEsThreadPoolExecutor$TieBreakingPrioritizedRunnable.runAndClean(PrioritizedEsThreadPoolExecutor.java:252)\n\tat org.elasticsearch.common.util.concurrent.PrioritizedEsThreadPoolExecutor$TieBreakingPrioritizedRunnable.run(PrioritizedEsThreadPoolExecutor.java:215)\n\tat java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)\n\tat java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630)\n\tat java.base/java.lang.Thread.run(Thread.java:832)\n
In my case both the index and the alias exist. The ILM profile should roll over each index at max 20GB or 14 days but its failing with above error. Any suggestions on this is helpful.
This is the current write index.... you can only have one...
I am not really sure what state you are in. You look like you are trying to mix daily indices and ILM, which are similar concepts but not the same. I am not sure what is writing your data.
Your ILM policy says rollover on 7 days or 20 GB... but looks like whatever is writing your data is writing daily indices...
If you were to upgrade and use data streams this is all handled for you...
Is it possible to apply ILM for daily indices, yes as you mentioned data is getting written to daily indices. How can this be corrected, any guidance or suggestions.
Yes, you can use ILM with daily indices where the date is in the name but that means that you do not use rollover, which is currently part of your policy. You would then write to the indices directly and not have a write alias. In this scenarion ILM actions and transitions are based on the index creation timestamp rather than the rollover timestamp.
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.