Добрый день! В Elasticsearch 7.3.1 возникает ошибка ilm
Index lifecycle error index_closed_exception: closed
Индекс при этом открыт - 100% уверен, для надежности даже делал
POST logs-servicename-2020.05.29-001972/_open
этому индексу. Заметил что такое возникает, что если есть индексы с таким же именем (на "теплых" нодах) которые закрыты. Но эта ошибка возникает на открытом индексе на "горячей" ноде, и из-за этого индексы не ролловятся.
Делаю:
GET logs-servicename-2020.05.29-001972/_ilm/explain
получаю такой вывод:
{
"indices" : {
"logs-servicename-2020.05.29-001972" : {
"index" : "logs-servicename-2020.05.29-001972",
"managed" : true,
"policy" : "ilm_policy_20d",
"lifecycle_date_millis" : 1591853716850,
"phase" : "hot",
"phase_time_millis" : 1591885841145,
"action" : "rollover",
"action_time_millis" : 1591853778932,
"step" : "ERROR",
"step_time_millis" : 1591885892717,
"failed_step" : "check-rollover-ready",
"step_info" : {
"type" : "index_closed_exception",
"reason" : "closed",
"index_uuid" : "wTuCyTnNTYyaXPIzm0GOfA",
"index" : "logs-servicename-2020.05.29-001972",
"stack_trace" : """
[logs-servicename-2020.05.29-001972/wTuCyTnNTYyaXPIzm0GOfA] IndexClosedException[closed]
at org.elasticsearch.cluster.metadata.IndexNameExpressionResolver.concreteIndices(IndexNameExpressionResolver.java:234)
at org.elasticsearch.cluster.metadata.IndexNameExpressionResolver.concreteIndexNames(IndexNameExpressionResolver.java:142)
at org.elasticsearch.cluster.metadata.IndexNameExpressionResolver.concreteIndexNames(IndexNameExpressionResolver.java:75)
at org.elasticsearch.action.support.broadcast.node.TransportBroadcastByNodeAction$AsyncAction.<init>(TransportBroadcastByNodeAction.java:253)
at org.elasticsearch.action.support.broadcast.node.TransportBroadcastByNodeAction.doExecute(TransportBroadcastByNodeAction.java:226)
at org.elasticsearch.action.support.broadcast.node.TransportBroadcastByNodeAction.doExecute(TransportBroadcastByNodeAction.java:77)
at org.elasticsearch.action.support.TransportAction$RequestFilterChain.proceed(TransportAction.java:145)
at org.elasticsearch.xpack.security.action.filter.SecurityActionFilter.lambda$apply$0(SecurityActionFilter.java:86)
at org.elasticsearch.action.ActionListener$1.onResponse(ActionListener.java:62)
at org.elasticsearch.xpack.security.action.filter.SecurityActionFilter.lambda$authorizeRequest$4(SecurityActionFilter.java:172)
at org.elasticsearch.action.ActionListener$1.onResponse(ActionListener.java:62)
at org.elasticsearch.xpack.security.authz.AuthorizationService.lambda$runRequestInterceptors$15(AuthorizationService.java:341)
at org.elasticsearch.action.ActionListener$1.onResponse(ActionListener.java:62)
at org.elasticsearch.common.util.concurrent.ListenableFuture$1.run(ListenableFuture.java:99)
at org.elasticsearch.common.util.concurrent.EsExecutors$DirectExecutorService.execute(EsExecutors.java:193)
at org.elasticsearch.common.util.concurrent.ListenableFuture.notifyListener(ListenableFuture.java:92)
at org.elasticsearch.common.util.concurrent.ListenableFuture.lambda$done$0(ListenableFuture.java:84)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1540)
at org.elasticsearch.common.util.concurrent.ListenableFuture.done(ListenableFuture.java:84)
at org.elasticsearch.common.util.concurrent.BaseFuture.set(BaseFuture.java:144)
at org.elasticsearch.common.util.concurrent.ListenableFuture.onResponse(ListenableFuture.java:117)
at org.elasticsearch.action.StepListener.onResponse(StepListener.java:62)
at org.elasticsearch.xpack.security.authz.interceptor.BulkShardRequestInterceptor.intercept(BulkShardRequestInterceptor.java:71)
at org.elasticsearch.xpack.security.authz.AuthorizationService.lambda$runRequestInterceptors$14(AuthorizationService.java:336)
at org.elasticsearch.action.ActionListener$1.onResponse(ActionListener.java:62)
at org.elasticsearch.common.util.concurrent.ListenableFuture$1.run(ListenableFuture.java:99)
at org.elasticsearch.common.util.concurrent.EsExecutors$DirectExecutorService.execute(EsExecutors.java:193)
at org.elasticsearch.common.util.concurrent.ListenableFuture.notifyListener(ListenableFuture.java:92)
at org.elasticsearch.common.util.concurrent.ListenableFuture.lambda$done$0(ListenableFuture.java:84)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1540)
at org.elasticsearch.common.util.concurrent.ListenableFuture.done(ListenableFuture.java:84)
at org.elasticsearch.common.util.concurrent.BaseFuture.set(BaseFuture.java:144)
at org.elasticsearch.common.util.concurrent.ListenableFuture.onResponse(ListenableFuture.java:117)
at org.elasticsearch.action.StepListener.onResponse(StepListener.java:62)
at org.elasticsearch.xpack.security.authz.interceptor.FieldAndDocumentLevelSecurityRequestInterceptor.intercept(FieldAndDocumentLevelSecurityRequestInterceptor.java:61)
at org.elasticsearch.xpack.security.authz.interceptor.SearchRequestInterceptor.intercept(SearchRequestInterceptor.java:19)
at org.elasticsearch.xpack.security.authz.AuthorizationService.lambda$runRequestInterceptors$14(AuthorizationService.java:336)
at org.elasticsearch.action.ActionListener$1.onResponse(ActionListener.java:62)
at org.elasticsearch.common.util.concurrent.ListenableFuture$1.run(ListenableFuture.java:99)
at org.elasticsearch.common.util.concurrent.EsExecutors$DirectExecutorService.execute(EsExecutors.java:193)
at org.elasticsearch.common.util.concurrent.ListenableFuture.notifyListener(ListenableFuture.java:92)
at org.elasticsearch.common.util.concurrent.ListenableFuture.lambda$done$0(ListenableFuture.java:84)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1540)
at org.elasticsearch.common.util.concurrent.ListenableFuture.done(ListenableFuture.java:84)
at org.elasticsearch.common.util.concurrent.BaseFuture.set(BaseFuture.java:144)
at org.elasticsearch.common.util.concurrent.ListenableFuture.onResponse(ListenableFuture.java:117)
at org.elasticsearch.action.StepListener.onResponse(StepListener.java:62)
at org.elasticsearch.xpack.security.authz.interceptor.IndicesAliasesRequestInterceptor.intercept(IndicesAliasesRequestInterceptor.java:102)
at org.elasticsearch.xpack.security.authz.AuthorizationService.lambda$runRequestInterceptors$14(AuthorizationService.java:336)
at org.elasticsearch.action.ActionListener$1.onResponse(ActionListener.java:62)
at org.elasticsearch.common.util.concurrent.ListenableFuture$1.run(ListenableFuture.java:99)
at org.elasticsearch.common.util.concurrent.EsExecutors$DirectExecutorService.execute(EsExecutors.java:193)
at org.elasticsearch.common.util.concurrent.ListenableFuture.notifyListener(ListenableFuture.java:92)
at org.elasticsearch.common.util.concurrent.ListenableFuture.lambda$done$0(ListenableFuture.java:84)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1540)
at org.elasticsearch.common.util.concurrent.ListenableFuture.done(ListenableFuture.java:84)
at org.elasticsearch.common.util.concurrent.BaseFuture.set(BaseFuture.java:144)
at org.elasticsearch.common.util.concurrent.ListenableFuture.onResponse(ListenableFuture.java:117)
at org.elasticsearch.action.StepListener.onResponse(StepListener.java:62)
at org.elasticsearch.xpack.security.authz.interceptor.FieldAndDocumentLevelSecurityRequestInterceptor.intercept(FieldAndDocumentLevelSecurityRequestInterceptor.java:61)
at org.elasticsearch.xpack.security.authz.interceptor.UpdateRequestInterceptor.intercept(UpdateRequestInterceptor.java:23)
at org.elasticsearch.xpack.security.authz.AuthorizationService.lambda$runRequestInterceptors$14(AuthorizationService.java:336)
at org.elasticsearch.action.ActionListener$1.onResponse(ActionListener.java:62)
at org.elasticsearch.common.util.concurrent.ListenableFuture$1.run(ListenableFuture.java:99)
at org.elasticsearch.common.util.concurrent.EsExecutors$DirectExecutorService.execute(EsExecutors.java:193)
at org.elasticsearch.common.util.concurrent.ListenableFuture.notifyListener(ListenableFuture.java:92)
at org.elasticsearch.common.util.concurrent.ListenableFuture.lambda$done$0(ListenableFuture.java:84)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1540)
at org.elasticsearch.common.util.concurrent.ListenableFuture.done(ListenableFuture.java:84)
at org.elasticsearch.common.util.concurrent.BaseFuture.set(BaseFuture.java:144)
at org.elasticsearch.common.util.concurrent.ListenableFuture.onResponse(ListenableFuture.java:117)
at org.elasticsearch.action.StepListener.onResponse(StepListener.java:62)
at org.elasticsearch.xpack.security.authz.interceptor.ResizeRequestInterceptor.intercept(ResizeRequestInterceptor.java:82)
at org.elasticsearch.xpack.security.authz.AuthorizationService.runRequestInterceptors(AuthorizationService.java:342)
at org.elasticsearch.xpack.security.authz.AuthorizationService.handleIndexActionAuthorizationResult(AuthorizationService.java:319)
at org.elasticsearch.xpack.security.authz.AuthorizationService.lambda$authorizeAction$9(AuthorizationService.java:260)
at org.elasticsearch.xpack.security.authz.AuthorizationService$AuthorizationResultListener.onResponse(AuthorizationService.java:604)
at org.elasticsearch.xpack.security.authz.AuthorizationService$AuthorizationResultListener.onResponse(AuthorizationService.java:579)
at org.elasticsearch.action.support.ContextPreservingActionListener.onResponse(ContextPreservingActionListener.java:43)
at org.elasticsearch.xpack.security.authz.RBACEngine.buildIndicesAccessControl(RBACEngine.java:489)
at org.elasticsearch.xpack.security.authz.RBACEngine.lambda$authorizeIndexAction$3(RBACEngine.java:281)
at org.elasticsearch.action.ActionListener$1.onResponse(ActionListener.java:62)
at org.elasticsearch.xpack.security.authz.AuthorizationService$CachingAsyncSupplier.lambda$getAsync$0(AuthorizationService.java:641)
at org.elasticsearch.action.ActionListener$1.onResponse(ActionListener.java:62)
at org.elasticsearch.xpack.security.authz.AuthorizationService.resolveIndexNames(AuthorizationService.java:550)
at org.elasticsearch.xpack.security.authz.AuthorizationService.lambda$authorizeAction$6(AuthorizationService.java:248)
at org.elasticsearch.action.ActionListener$1.onResponse(ActionListener.java:62)
at org.elasticsearch.xpack.security.authz.AuthorizationService$CachingAsyncSupplier.lambda$getAsync$0(AuthorizationService.java:641)
at org.elasticsearch.action.ActionListener$1.onResponse(ActionListener.java:62)
at org.elasticsearch.xpack.security.authz.RBACEngine.loadAuthorizedIndices(RBACEngine.java:312)
at org.elasticsearch.xpack.security.authz.AuthorizationService.lambda$authorizeAction$5(AuthorizationService.java:244)
at org.elasticsearch.xpack.security.authz.AuthorizationService$CachingAsyncSupplier.getAsync(AuthorizationService.java:639)
at org.elasticsearch.xpack.security.authz.AuthorizationService.lambda$authorizeAction$8(AuthorizationService.java:247)
at org.elasticsearch.xpack.security.authz.AuthorizationService$CachingAsyncSupplier.getAsync(AuthorizationService.java:639)
at org.elasticsearch.xpack.security.authz.RBACEngine.lambda$authorizeIndexAction$4(RBACEngine.java:273)
at org.elasticsearch.action.ActionListener$1.onResponse(ActionListener.java:62)
at org.elasticsearch.xpack.security.authz.RBACEngine.authorizeIndexActionName(RBACEngine.java:297)
at org.elasticsearch.xpack.security.authz.RBACEngine.authorizeIndexAction(RBACEngine.java:270)
at org.elasticsearch.xpack.security.authz.AuthorizationService.authorizeAction(AuthorizationService.java:258)
at
...
"""
},
"phase_execution" : {
"policy" : "ilm_policy_20d",
"phase_definition" : {
"min_age" : "0ms",
"actions" : {
"rollover" : {
"max_size" : "200gb",
"max_age" : "1d"
}
}
},
"version" : 21,
"modified_date_in_millis" : 1583495675815
}
}
}
}
Полный вывод не поместился по причине чрезмерного количества символов.
Индексы на "теплых" нодах я закрываю. Но речь сейчас об индексах, которые лежат на "горячих" нодах, они открыты, но ilm не срабатывает по ним, и они раздуваются до больших размеров.
Как решить эту проблему, подскажите пожалуйста?