# Ошибка Index lifecycle error: index\_closed\_exception: closed

**URL:** <https://discuss.elastic.co/t/index-lifecycle-error-index-closed-exception-closed/236724>\
**Category:** Вопросы на русском языке\
**Created:** [June 11, 2020, 2:43pm UTC](https://discuss.elastic.co/t/index-lifecycle-error-index-closed-exception-closed/236724 "2020-06-11T14:43:22Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![Sergei\_Frolov](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/sergei_frolov/32/47922_2.png) [@Sergei\_Frolov](https://discuss.elastic.co/u/Sergei_Frolov)\
**Post date:** [June 11, 2020, 2:43pm UTC](https://discuss.elastic.co/t/index-lifecycle-error-index-closed-exception-closed/236724/1 "2020-06-11T14:43:23Z")

</div>

Добрый день! В Elasticsearch 7.3.1 возникает ошибка ilm

`Index lifecycle error index_closed_exception: closed`

 ![Снимок экрана 2020-06-11 в 17.47.43](https://us1.discourse-cdn.com/elastic/original/3X/5/9/59724aaba01eb3c29567267499f424dfea6794e9.png)

Индекс при этом открыт - 100% уверен, для надежности даже делал

`POST logs-servicename-2020.05.29-001972/_open`

этому индексу. Заметил что такое возникает, что если есть индексы с таким же именем (на "теплых" нодах) которые закрыты. Но эта ошибка возникает на открытом индексе на "горячей" ноде, и из-за этого индексы не ролловятся.

Делаю:

`GET logs-servicename-2020.05.29-001972/_ilm/explain`

получаю такой вывод:

```auto
{
  "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 не срабатывает по ним, и они раздуваются до больших размеров.

Как решить эту проблему, подскажите пожалуйста?

---

<div class="post-metadata">

**Author:** ![Igor\_Motov](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/igor_motov/32/45193_2.png) [@Igor\_Motov](https://discuss.elastic.co/u/Igor_Motov)\
**Post date:** [June 11, 2020, 3:11pm UTC](https://discuss.elastic.co/t/index-lifecycle-error-index-closed-exception-closed/236724/2 "2020-06-11T15:11:56Z")

</div>

> [@Sergei\_Frolov](#):
>
> Заметил что такое возникает, что если есть индексы с таким же именем (на "теплых" нодах) которые закрыты.

Я не очень понимаю эту фразу. Индекс - это понятие логическое и существует на уровне кластера. Индекс с определенным именем в кластере может быть только один, и он либо открыт, либо закрыт. Шарды индекса - могут быть присвоены различным нодам. Вы не могли бы более подробно объяснить ситуацию?

---

<div class="post-metadata">

**Author:** ![Sergei\_Frolov](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/sergei_frolov/32/47922_2.png) [@Sergei\_Frolov](https://discuss.elastic.co/u/Sergei_Frolov)\
**Post date:** [June 11, 2020, 3:26pm UTC](https://discuss.elastic.co/t/index-lifecycle-error-index-closed-exception-closed/236724/3 "2020-06-11T15:26:13Z")

</div>

Да - конечно. Извиняюсь что не подробно изложил все происходящее.

Есть индекс на "горячей" ноде:

```auto
logs-servicename-2020.05.29-001972

```

На "теплой" лежит вот такой, перемещенный туда как раз с помощью ilm, и на этом этапе все проходит нормально, индекс отролловился, переместился на "теплую":

```auto
logs-servicename-2020.05.29-001971

```

я закрываю этот индекс на теплой через `POST /logs-servicename-2020.05.29-001971/_close` api.

При этом индекс на горячей ноде открыт, данные в него пишутся и читаются. Но через какое-то время этот открытый и находящийся на "горячей" ноде индекс, видимо когда приходит время его отролловить через ilm - выдает описанную выше ошибку. Но индекс не закрыт! Он так и остается открытым - с ошибкой и не ролловится.

---

<div class="post-metadata">

**Author:** ![Sergei\_Frolov](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/sergei_frolov/32/47922_2.png) [@Sergei\_Frolov](https://discuss.elastic.co/u/Sergei_Frolov)\
**Post date:** [June 11, 2020, 3:34pm UTC](https://discuss.elastic.co/t/index-lifecycle-error-index-closed-exception-closed/236724/4 "2020-06-11T15:34:44Z")

</div>

Эта ошибка у меня уже давно. Находил подобные советы, но они не помогли:

```auto
PUT /index/_settings
{
  "index.blocks.read_only_allow_delete": null
}

POST /index/_ilm/retry

```

Ошибка в stack\_trace как будто говорит о недостатке каких-то прав, но как может не хватать прав юзеру elastic? или от кого ролловятся индексы? неужели у него нет роли superuser?

И потом, эта ошибка не всегда есть, а только когда предыдущий индекс, отролловленный и перемещенный на "теплую" ноду, я закрываю через \_close api.

---

<div class="post-metadata">

**Author:** ![Igor\_Motov](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/igor_motov/32/45193_2.png) [@Igor\_Motov](https://discuss.elastic.co/u/Igor_Motov)\
**Post date:** [June 11, 2020, 3:35pm UTC](https://discuss.elastic.co/t/index-lifecycle-error-index-closed-exception-closed/236724/5 "2020-06-11T15:35:19Z")

</div>

А CCR используется?

---

<div class="post-metadata">

**Author:** ![Sergei\_Frolov](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/sergei_frolov/32/47922_2.png) [@Sergei\_Frolov](https://discuss.elastic.co/u/Sergei_Frolov)\
**Post date:** [June 11, 2020, 3:36pm UTC](https://discuss.elastic.co/t/index-lifecycle-error-index-closed-exception-closed/236724/6 "2020-06-11T15:36:08Z")

</div>

cross-cluster репликация не используется.

---

<div class="post-metadata">

**Author:** ![Igor\_Motov](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/igor_motov/32/45193_2.png) [@Igor\_Motov](https://discuss.elastic.co/u/Igor_Motov)\
**Post date:** [June 11, 2020, 5:35pm UTC](https://discuss.elastic.co/t/index-lifecycle-error-index-closed-exception-closed/236724/7 "2020-06-11T17:35:02Z")

</div>

Я затрудняюсь сказать, что происходит. Судя по логу в этот момент `logs-servicename-2020.05.29-001972` был закрыт, разработчик ILM утверждает, что это единственное объяснение этой ошибки, которое ему приходит в голову.

Я попробую воспроизвести эту ситуацию попозже.

---

<div class="post-metadata">

**Author:** ![Sergei\_Frolov](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/sergei_frolov/32/47922_2.png) [@Sergei\_Frolov](https://discuss.elastic.co/u/Sergei_Frolov)\
**Post date:** [June 11, 2020, 5:40pm UTC](https://discuss.elastic.co/t/index-lifecycle-error-index-closed-exception-closed/236724/8 "2020-06-11T17:40:33Z")

</div>

Вот что мне удалось выяснить. Получив все алиасы через:

`GET _aliases`

я увидел, что мой алиас имеется не только у нужного мне и открытого индекса, но также и у трех других - закрытых.

Что я сделал:

```auto
POST /_aliases
{
    "actions" : [
        { "remove" : { "index" : "logs_appname-2020.05.27-000152", "alias" : "logs_appname" } },
        { "remove" : { "index" : "logs_appname-2020.05.28-000153", "alias" : "logs_appname" } }, 
        { "remove" : { "index" : "logs_appname-2020.05.09-000138", "alias" : "logs_appname" } }
        
    ]
}

POST logs_appname-2020.05.29-000154/_ilm/retry

GET logs_appname-2020.05.29-000154/_ilm/explain

{
  "indices" : {
    "logs_appname-2020.05.29-000154" : {
      "index" : "logs_appname-2020.05.29-000154",
      "managed" : true,
      "policy" : "ilm_policy_7d",
      "lifecycle_date_millis" : 1591896868100,
      "phase" : "hot",
      "phase_time_millis" : 1591896857310,
      "action" : "complete",
      "action_time_millis" : 1591896871583,
      "step" : "complete",
      "step_time_millis" : 1591896871583,
      "phase_execution" : {
        "policy" : "ilm_policy_7d",
        "phase_definition" : {
          "min_age" : "0ms",
          "actions" : {
            "rollover" : {
              "max_size" : "200gb",
              "max_age" : "1d"
            }
          }
        },
        "version" : 27,
        "modified_date_in_millis" : 1583498046946
      }
    }
  }
}

```

Так ilm сработал. При чем алиасы удалились у закрытых индексов, в чем я сомневался, но это сработало. Но дело в том, что у меня сейчас несколько сотен таких индексов.

Есть ли какая-то возможность массово удалить алиасы у всех индексов которые `"is_write_index" : false`?

И почему это не происходит при шаге ilm?

---

<div class="post-metadata">

**Author:** ![Igor\_Motov](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/igor_motov/32/45193_2.png) [@Igor\_Motov](https://discuss.elastic.co/u/Igor_Motov)\
**Post date:** [June 11, 2020, 8:44pm UTC](https://discuss.elastic.co/t/index-lifecycle-error-index-closed-exception-closed/236724/9 "2020-06-11T20:44:42Z")

</div>

Так вы alias, что-ли, закрывали вместо индекса?

> [@Sergei\_Frolov](#):
>
> И почему это не происходит при шаге ilm?

Посмотрите, пожалуйста, вторую половину секции Description [документации Rollover](https://www.elastic.co/guide/en/elasticsearch/reference/master/indices-rollover-index.html#rollover-index-api-desc).

---

<div class="post-metadata">

**Author:** ![Sergei\_Frolov](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/sergei_frolov/32/47922_2.png) [@Sergei\_Frolov](https://discuss.elastic.co/u/Sergei_Frolov)\
**Post date:** [June 15, 2020, 4:49pm UTC](https://discuss.elastic.co/t/index-lifecycle-error-index-closed-exception-closed/236724/10 "2020-06-15T16:49:04Z")

</div>

Игорь, добрый день!

> Так вы alias, что-ли, закрывали вместо индекса?

нет, я закрывал именно определенные индексы, например так:

`POST logs-servicename-2020.05.29-001972/_close`

Выглядит это странным образом - как баг в ilm в этой версии (7.3.1), словно ilm не убирает alias с отролловленного индекса - хотя навешивает на новый тоже.

Решил это удалением алиасов у всех закрытых индексов:

`curl -s -u elastic:passwd -XGET "es_node:9200/_cat/indices" | grep "close" | awk '{print $3}' | xargs -I{} curl -s -u elastic:passwd -XDELETE "es_node:9200/{}/_aliases/*"`

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [July 13, 2020, 4:49pm UTC](https://discuss.elastic.co/t/index-lifecycle-error-index-closed-exception-closed/236724/11 "2020-07-13T16:49:06Z")

</div>

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
