# Too many cached tokens with illegal\_state\_exception

**URL:** <https://discuss.elastic.co/t/too-many-cached-tokens-with-illegal-state-exception/245539>\
**Category:** Вопросы на русском языке\
**Created:** [August 19, 2020, 8:00am UTC](https://discuss.elastic.co/t/too-many-cached-tokens-with-illegal-state-exception/245539 "2020-08-19T08:00:43Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![111375](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/111375/32/73751_2.png) [@111375](https://discuss.elastic.co/u/111375)\
**Post date:** [August 19, 2020, 8:00am UTC](https://discuss.elastic.co/t/too-many-cached-tokens-with-illegal-state-exception/245539/1 "2020-08-19T08:00:43Z")

</div>

Доброго времени суток.  
При использовании фонетического анализатора (см `transliteration ` в конфиге ниже), во время записи (индексации) документов в Elasticsearch, используя Bulk API (пачка порядка 100 документов за один запрос), в ответе API выстреливает исключение вида:

```auto
Type: "illegal_state_exception",
Reason: "Too many cached tokens (> 100)"

```

Причем данное исключение появилось не сразу, поначалу данные индексировались корректно.

Если пересоздать индекс без фонетического анализатора - исключения пропадают.  
Гугление данного исключения не дало никаких результатов, нигде нет и упоминания.  
Фонетический анализатор используется в нескольких полях документа, маппинг приведен ниже.

Как решить данную проблему?

Версия ES: 7.4.1  
Конфиг индекса:

```auto
{
  "settings": {
    "number_of_shards": 3,
    "index.refresh_interval": "30s",
    "analysis": {
      "filter": {
        "transliteration_english": {
          "type": "phonetic",
          "encoder": "beider_morse",
          "rule_type": "approx",
          "name_type": "generic",
          "languageset": [
            "english"
          ]
        },
        "transliteration_cyrillic": {
          "type": "phonetic",
          "encoder": "beider_morse",
          "rule_type": "approx",
          "name_type": "generic",
          "languageset": [
            "cyrillic"
          ]
        }
      },
      "analyzer": {
        "transliteration": {
          "tokenizer": "standard",
          "filter": [
            "lowercase",
            "transliteration_english",
            "transliteration_cyrillic"
          ]
        }
      }
    }
  },
  "mappings": {
    "properties": {
      "field1": {
        "type": "search_as_you_type",
        "analyzer": "transliteration",
        "max_shingle_size": 3
      },
      "field2": {
        "type": "text",
        "analyzer": "russian",
        "fields": {
          "keyword": {
            "type": "keyword",
            "ignore_above": 256
          },
          "translit": {
            "type": "search_as_you_type",
            "analyzer": "transliteration",
            "max_shingle_size": 2
          }
        }
      },
      "field3": {
        "type": "keyword"
      },
      "field4": {
        "type": "keyword"
      },
      "field5": {
        "type": "keyword"
      },
      "field6": {
        "type": "integer"
      },
      "field7": {
        "type": "integer"
      },
      "field8": {
        "type": "search_as_you_type",
        "analyzer": "russian",
        "fields": {
          "keyword": {
            "type": "keyword",
            "ignore_above": 256
          }
        }
      },
      "field9": {
        "properties": {
          "subfield1": {
            "type": "keyword"
          },
          "subfield2": {
            "type": "search_as_you_type",
            "max_shingle_size": 2,
            "analyzer": "russian",
            "fields": {
              "keyword": {
                "type": "keyword",
                "ignore_above": 256
              }
            }
          }
        }
      },
      "field10": {
        "type": "boolean"
      },
      "field11": {
        "type": "boolean"
      }
    }
  }
}

```

---

<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:** [August 20, 2020, 3:42pm UTC](https://discuss.elastic.co/t/too-many-cached-tokens-with-illegal-state-exception/245539/2 "2020-08-20T15:42:52Z")

</div>

А можно на stacktrace этой ошибки как-нибудь посмотреть? Странно, что это во время индексирования происходит, этот фильтр обычно только во время поиска так сбоит.

---

<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:** [August 24, 2020, 4:06pm UTC](https://discuss.elastic.co/t/too-many-cached-tokens-with-illegal-state-exception/245539/3 "2020-08-24T16:06:16Z")

</div>

Удалось воспроизвести. Похоже на баг, я открыл [https://github.com/elastic/elasticsearch/issues/61491](https://github.com/elastic/elasticsearch/issues/61491)

---

<div class="post-metadata">

**Author:** ![111375](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/111375/32/73751_2.png) [@111375](https://discuss.elastic.co/u/111375)\
**Post date:** [August 25, 2020, 4:13pm UTC](https://discuss.elastic.co/t/too-many-cached-tokens-with-illegal-state-exception/245539/4 "2020-08-25T16:13:47Z")

</div>

Не успел прислать stacktrace.  
Большое спасибо за оперативность и исследование проблемы!

---

<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:** [September 22, 2020, 4:13pm UTC](https://discuss.elastic.co/t/too-many-cached-tokens-with-illegal-state-exception/245539/5 "2020-09-22T16:13:49Z")

</div>

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