-
Notifications
You must be signed in to change notification settings - Fork 24.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[ML] Make APIs cancellable for the ML and Transforms plugin #88010
Comments
Pinging @elastic/ml-core (Team:ML) |
Many machine learning stats APIs make multiple searches per call. Making them cancellable allows for those searches to be cancelled if the HTTP connection is closed. This improves scalability and performance. Relates #88010
Hi, can I work on this part?
|
@pequolau sure, if you could work on the estimate model memory endpoint that would be great. |
Seems like a good plan, but if these things are heavy enough to need to be cancellable then they should also not be running on |
Is that true even if the processing on
If a task is cancelled does it automatically cancel its child tasks? The idea behind a lot of these changes was that they boil down to a series of searches. So if a parent task that's cancelled automatically cancels its child tasks, and the search action explicitly checks whether it's cancelled throughout its execution, then this change would tie the dropping of the HTTP connection that called the ML endpoint to the cancellation functionality that already exists in search. It's possible that we do still have a problem. I guess a cancelled task results in the |
It Depends™ - often that's not going to cause noticeable problems, but there can still be nontrivial work involved within the initial phases of the next API called (which also doesn't fork if called via
Ah good point, yes, as long as those tasks are explicitly registered as its child tasks. Which in many cases they are. I came here from #98333 which definitely has both of these problems tho. |
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
Hey, |
Hey @droberts195 shall I work on some of its feature? I am first time contributor and looking for a gate to enter into the open source contribution. |
Is this project is ongoing? Let me know further (DOCS) to contribute on it as "good first issue". |
Validate will initiate a search request. In the event that the search request needs to be cancelled, rather than manually stopping the task, cancelling the Validate task will now propagate the cancel request to the Search task. Relate elastic#88010
Validate will initiate a search request. In the event that the search request needs to be cancelled, rather than manually stopping the task, cancelling the Validate task will now propagate the cancel request to the Search task. Relate #88010 Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
Validate will initiate a search request. In the event that the search request needs to be cancelled, rather than manually stopping the task, cancelling the Validate task will now propagate the cancel request to the Search task. Relate elastic#88010 Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
Validate will initiate a search request. In the event that the search request needs to be cancelled, rather than manually stopping the task, cancelling the Validate task will now propagate the cancel request to the Search task. Relate elastic#88010 Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
Validate will initiate a search request. In the event that the search request needs to be cancelled, rather than manually stopping the task, cancelling the Validate task will now propagate the cancel request to the Search task. Relate elastic#88010 Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
Many of the ML APIs should be cancellable as they should not continue executing once the caller disconnects the HTTP connection.
Here is the list:
*
Denotes more important APIs to get done as they are heavier requests used by many automatic processesFor ML
For transforms
The text was updated successfully, but these errors were encountered: