#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