Проблема с mvel2 — Elasticsearch

#elasticsearch #mvel

#elasticsearch #mvel

Вопрос:

Мы запускаем массовое обновление Elasticsearch (elasticsearch использует MVEL)

И мы получаем ошибку ниже

**** ОШИБКА КОМПИЛЯТОРА! НЕМЕДЛЕННО СООБЩИТЕ ОБ ЭТОМ ПО АДРЕСУ http://jira.codehaus.org/browse/mvel2 Выражение:

  int cIndex= 0; 
if(ctx._source.xId == 46461){
    if(ctx._source.containsKey("attributes") amp;amp; ctx._source.attributes.size() > 0){
        for(cIndex = 0; cIndex < ctx._source.attributes.size(); cIndex  ){
            if(ctx._source.attributes[cIndex].attributeName != null amp;amp; ctx._source.attributes[cIndex].attributeName.indexOf("select") >= 0 amp;amp; ((ctx._source.attributes[cIndex].attributeValue == "Oy") || (ctx._source.attributes[cIndex].containsKey("attributeValueId") amp;amp; ctx._source.attributes[cIndex].attributeValueId != null amp;amp; ctx._source.attributes[cIndex].attributeValueId == "One") amp;amp; ctx._source.attributes[cIndex].attributeName == "attribute_select_1403272286210_2498")){
                ctx._source.attributes[cIndex].attributeValue = "Oye";
                ctx._source.attributes[cIndex].attributeValueId = "One";
            }
        }
    }
}
  

Он отлично работает для нескольких записей и не работает для нескольких записей.
Кто-нибудь сталкивался с этой проблемой? Не уверен, что ES должен обновлять версию mvel
Приветствуется любое изменение.

Комментарии:

1. Получаете ли вы какое-либо исключение, если да, то, пожалуйста, также покажите трассировку стека. Или это проблема с компиляцией выражения или проблема с выполнением.

2. Нет, никаких исключений, он просто отображает **** ОШИБКА КОМПИЛЯТОРА! НЕМЕДЛЕННО СООБЩИТЕ ОБ ЭТОМ ПО АДРЕСУ jira.codehaus.org/browse/mvel2 Выражение: за которым следует приведенный выше текст

Ответ №1:

Эта проблема, похоже, исправлена в «2.2.0», который version MVEL вы используете. Можете ли вы попробовать с <mvel.version>2.2.0.Final</mvel.version>

Также, пожалуйста, обратитесь к ссылке здесь http://jira.codehaus.org/browse/MVEL-299