Update by query in ES with option conflicts=proceed

Hi Team,

I have below two questions for 'update_by_query' API with option 'conflicts=proceed'.

  1. Basically if we allow processing documents with 'conflicts=proceed' option and still have a retry based on 'VersionConflicts' field of response, the next time will it perform update for all documents matching search filter or just for the documents which has old data for that field?

    I can see '_update' API behaves like that, it only updates document when there is a change in field and returns "result": "noop" in response.
    Is similar thing happening for 'update_by_query'? as I believe under the hood it uses '_update' API after '_search'?

    I can not see count for 'noop' in response of 'update_by_query' in case the search query matches the criteria but there is no change in the actual document field, though it's purpose for 'update_by_query' seems little different from documentation.

  2. Do we have any plan to return the documents for which 'update_by_query' has failed when we specify 'conflict=proceed' option. I can see that in documentation but actual behavior is different, we get empty array in response. It will be really useful if that is in plan.

Thank you!

This is a community forum where people volunteer their time and effort. Be aware that there are no SLAs or even guarantees of getting a response or resolution, although the community is quite active and most queries gets responsed to even though it sometimes can take some time. It is considered quite rude to ping people who are not already involved in the thread.

1 Like