remover objetos da pesquisa elástica da matriz

Eu precisei remover o objeto da matriz que satisfaz a condição, sou capaz de atualizar o objeto da matriz com base na condição, que é a seguinte:

PUT twitter/twit/1
{"list": 
     [
        {
            "tweet_id": "1",
            "a": "b"
        },
        {
            "tweet_id": "123",
            "a": "f"
        }
    ]
}

POST /twitter/twit/1/_update
{"script":"foreach (item :ctx._source.list) {
                if item['tweet_id'] == tweet_id) {
                      item['new_field'] = 'ghi';
                }
           }",
 "params": {tweet_id": 123"}
}

isso está funcionando

para remover eu estou fazendo isso

POST /twitter/twit/1/_update
{ "script": "foreach (item : ctx._source.list) {
                    if item['tweet_id'] == tweet_id) {
                          ctx._source.list.remove(item); 
                    }
            }",
  "params": { tweet_id": "123" }
}

mas isso não está funcionando e está dando esse erro,

ElasticsearchIllegalArgumentException [falha ao executar o script]; aninhado: ConcurrentModificationException; Erro: ElasticsearchIllegalArgumentException [falha ao executar o script]; aninhado: ConcurrentModificationException

Consigo remover toda a matriz ou todo o campo usando

"script": "ctx._source.remove('list')"

Eu também sou capaz de remover o objeto da matriz, especificando todas as chaves de um objeto usando

"script":"ctx._source.list.remove(tag)",
     "params" : {
        "tag" : {"tweet_id": "123","a": "f"}

minha versão de pesquisa elástica do módulo nó é 2.4.2 o servidor de pesquisa elástica é 1.3.2

questionAnswers(2)

yourAnswerToTheQuestion