Remove core delete-by-query implementation #10859
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This removes the core implementation of DBQ, which is trappy because it does an unexpected refresh every time and it can create inconsistent replicas since they can delete different documents from one another and the primary. See #10067 for details.
The plan is to create a separate "scan/scroll/delete" plugin for 2.0, which will do a scan/scroll query and then bulk-delete the IDs, for users who really need DBQ but can't implement it client side on upgrade.
I left DBQ in Translog / IndexShard / InternalEngine so that on upgrade if a DBQ is in the translog it can still be applied.
On backport to 1.x I'll just add back the deprecations in the docs and public APIs.