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.
Elasticsearch provides two ways to cancel a task
POST _tasks/oTUltX4IQMOUUVeiohTt8A:12345/_cancel
POST _tasks/_cancel?nodes=nodeId1,nodeId2&actions=*reindex
Elastic4s which takes nodeIds and actions, provides a single interface for both, but both are broken :
s"/_tasks/cancel"
while it should bes"/_tasks/_cancel"
s"/_tasks/task_id:${request.nodeIds.mkString(",")}/_cancel"
but this URL is invalid for two reasons:Both result in a 400 with
"reason": "malformed task id task_id:<my_task_id>"
As the handler always returns a Right
override def handle(response: HttpResponse) = Right(response.statusCode >= 200 && response.statusCode < 300)
this API always fail silently.My solution is to provide a new API
cancelTaskById(taskId: String)
to prevent ambiguities from the use of the other API that becomes a pure nodeIds + actions API.