У меня есть документ, в котором массив строк является одним из его свойств.
В одном случае несколько запросов на обновление выполняются в индексе из двух потоков и потенциально могут обновлять один и тот же документ.
Например, для документа, значение my_array которого равно:
my_array = [1,2,3,4]
Два потока выполняют следующий запрос на обновление, который запускает безболезненный скрипт для индекса с разными параметрами.
thread_0 -> my_item = 3
thread_1 -> my_item =2
int index_of_my_item = ctx._source.my_array.indexOf(params.my_item);
if (-1 != index_of_my_item) {
ctx._source.my_array.remove(index_of_item);
}
Безопасен ли поток выполнения?и значение свойства в документе будет:
my_array = [1,4]
Или есть условия гонки, которые необходимо учитывать?
Спасибо,