Hi all,
Apologies if there are similar answers, I have extensively searched, but this does appear to be quite a niche problem.
As the title suggests, I have a scenario where I am using UpdateByQuery (java API) using groovy script (I know...) and a simple filter against a ES version 2.3.3 cluster (yes, I know...). This script removes an element from a nested list similar to
ctx._source.tags.removeAll{it.id == remove_id}
This works perfectly in our integration tests, and running against a single node local cluster on my machine, but fails to actually remove the item in a deployed environment (no errors/exceptions etc. the filter and script execute, it just doesn't update any documents. I have verified the contents of the filter/script in those environments; the filter does match documents, and the script should remove the item).
The only known difference between these 2 clusters is that my local version runs 2.4. Is it expected that behaviour between these 2 versions would differ in this way? Is it possible there are cluster settings that would modify this behaviour? Are there caches that would affect this?
Any help is greatly appreciated.
Thanks,
Chris