eliminar objetos de la búsqueda elástica de matriz

He requerido eliminar el objeto de la matriz que satisface la condición, puedo actualizar el objeto de la matriz en función de la condición, que es la siguiente:

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"}
}

esto esta funcionando

para eliminar estoy haciendo esto

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" }
}

pero esto no funciona y da este error,

ElasticsearchIllegalArgumentException [no se pudo ejecutar el script]; anidado: ConcurrentModificationException; Error: ElasticsearchIllegalArgumentException [no se pudo ejecutar el script]; anidado: ConcurrentModificationException

Puedo eliminar toda la matriz o todo el campo usando

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

También puedo eliminar objetos de la matriz especificando todas las claves de un objeto usando

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

mi módulo de nodo la versión de búsqueda elástica es 2.4.2 el servidor de búsqueda elástica es 1.3.2

Respuestas a la pregunta(2)

Su respuesta a la pregunta