Skip to content

[ML] Default endpoint allocations are now configurable #127783

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

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

prwhelan
Copy link
Member

@prwhelan prwhelan commented May 6, 2025

Min and max allocations for the default endpoints' adaptive allocation settings are now configurable via a setting.

This is intended to help new clusters running on laptops and in serverless.

This does not automatically increase or reduce the default endpoints to those values - we still need a cluster reboot to set the values.

Relate #124653

Min and max allocations for the default endpoints' adaptive allocation
settings are now configurable via a setting.

This is intended to help new clusters running on laptops and in
serverless.

This does not automatically increase or reduce the default endpoints to
those values - we still need a cluster reboot to set the values.

Relate elastic#124653
@prwhelan prwhelan added >enhancement :ml Machine learning Team:ML Meta label for the ML team auto-backport Automatically create backport pull requests when merged v8.19.0 v9.1.0 labels May 6, 2025
@elasticsearchmachine
Copy link
Collaborator

Hi @prwhelan, I've created a changelog YAML for you.

@elasticsearchmachine
Copy link
Collaborator

Pinging @elastic/ml-core (Team:ML)

Copy link
Contributor

@jonathan-buttner jonathan-buttner left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If I understand correctly, these changes will allow modifying the default endpoints. I know we've brought up concerns about modifying the defaults because they affect everyone.

I think there's also consistency issues here because we persist the default inference endpoints to the inference index. We only do that if the id is missing. So if a user does a GET _inference/_all, we'll persist the default inference endpoints the first time, then if they update the settings, reboot, and then issue another GET _inference/_all we won't persist them again and I don't think they'll see the new values they set via the settings.

I'm not totally sure but I suspect it will also affect usage beyond just retrieving the default endpoints.

We'd need to delete the default endpoints and recreate them. I think we should revisit whether we need to persist the default endpoints at all but that's another discussion 😄

0,
0,
32,
Setting.Property.Dynamic,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think dynamic will only be useful if we're going to allow changes without having to reboot. I think we typically add a addSettingsUpdateConsumer call so we can listen for the changes for example:

https://github.com/elastic/elasticsearch/blob/main/x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/external/http/HttpSettings.java#L48

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
auto-backport Automatically create backport pull requests when merged >enhancement :ml Machine learning Team:ML Meta label for the ML team v8.19.0 v9.1.0
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants