Skip to content

Clarify index settings & APIs that are not available in serverless #1728

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 5 commits into
base: main
Choose a base branch
from

Conversation

kunisen
Copy link
Contributor

@kunisen kunisen commented Jun 13, 2025

Description

There are some APIs and index settings that are not available in serverless mode. Using such API or index settings will get such response.

Two main things:

[1]

It's not clear in docs that explain "why" these settings are designed as not available.

Reason per we checked internally is that, "These are defensive settings meant to protect the index from misuse that may lead to cluster instability so I don't believe we can expose these in Serverless. Since Elastic has responsibility for supporting cluster stability we have to make decisions about what you can and can not do to destabilize a cluster."

We'd like to make it clear in public too.

Also, some other pointers taken into consideration:

  • Avoid mentioning "misuse" since that sounds like user's fault
  • Emphasize it's Elastic's responsibility to keep the cluster stability.
  • Cover also cluster level and node level setting description that fully managed by Elastic

[2]

There's a detailed error message when using not available API. But there's no such error message for not available index settings. It's logically unbalanced.

Either we should remove the message from unavailable API, or we add the error message for unavailable index settings.

IMHO, at this time point, I'd like to add the error message for unavailable index settings, because there must have been a reason that we decided to put "unavailable API error message" into the doc.

In the long run, I'd think we should remove both.

Side notes

Note the difference between index settings, and node/cluster settings.
Per the existing doc, we don't allow any node settings and cluster settings, they are fully managed by Elastic.
We only allow limited index settings.

I tried to make this point clear in my doc PR too.

PR Preview

API

Index settings


cc @ppf2 @jakommo @maggieghamry as we discussed together
cc @dbrimley @leemthompo

@kunisen kunisen requested review from dbrimley and leemthompo June 13, 2025 01:55
@kunisen kunisen self-assigned this Jun 13, 2025
@kunisen kunisen requested a review from a team as a code owner June 13, 2025 01:55
@kunisen kunisen added documentation Improvements or additions to documentation Serverless Improvements and changes to the Serverless Docs supportability ability enable self-service or support of product labels Jun 13, 2025
Copy link

github-actions bot commented Jun 13, 2025

🔍 Preview links for changed docs:

🔔 The preview site may take up to 3 minutes to finish building. These links will become live once it completes.

@eedugon
Copy link
Contributor

eedugon commented Jun 13, 2025

I think this issue relates with #79 (cc: @shainaraskas ).

Thanks a lot for your help here @kunisen , I'll review this next week together with the scope of the mentioned issue.

@kunisen
Copy link
Contributor Author

kunisen commented Jun 13, 2025

Thanks @eedugon

Yes, it's a part of #79, specifically stemmed from #79 (comment) and internal discussion link where @dbrimley asked me to raise a doc PR so that PM can review the statement we want to use.

(My bad I should write that in my original post - apparently I missed it)

@eedugon
Copy link
Contributor

eedugon commented Jun 13, 2025

My bad I should write that in my original post - apparently I missed it

no worries! It's just that yesterday we decided to prioritize this issue and your PR feels like it dropped from the sky 😄

I'll take a look and see if it's aligned with the overall plan to fix this issue and get back to you. Again, thanks!

Copy link
Contributor

@eedugon eedugon left a comment

Choose a reason for hiding this comment

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

The clarifications make sense, thanks for adding them. I've added a few suggestions as they shouldn't be added as important banners in this context.

@kunisen
Copy link
Contributor Author

kunisen commented Jun 18, 2025

@dbrimley Could we get your approval from PM perspective or are we waiting on any further input from my side?
(We got docs team's kind help to review the sentence)

@eedugon eedugon self-requested a review June 18, 2025 10:18
Copy link
Contributor

@eedugon eedugon left a comment

Choose a reason for hiding this comment

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

LGTM, thanks Kuni!! Feel free to merge whenever you have the agreement of other stakeholders.

@@ -201,7 +204,7 @@ Refer to the [{{es-serverless}} API reference](https://www.elastic.co/docs/api/d

## Available {{es}} settings [elasticsearch-differences-serverless-settings-availability]

In {{serverless-full}} Elasticsearch projects, you can only configure [index-level settings](elasticsearch://reference/elasticsearch/index-settings/index.md). Cluster-level settings and node-level settings are fully managed by Elastic.
In {{serverless-full}} {{es}} projects, configuration available to users is limited to certain [index-level settings](elasticsearch://reference/elasticsearch/index-settings/index.md), while Elastic manages cluster-level and node-level settings to maintain stability, availability, performance, and data integrity. These restrictions help ensure the reliability of Serverless projects.
Copy link
Collaborator

Choose a reason for hiding this comment

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

is this limited to elasticsearch projects? as far as I know, this applies to all project types because they all use elasticsearch as an underlying technology / you can always configure index settings

Copy link
Contributor Author

@kunisen kunisen Jun 21, 2025

Choose a reason for hiding this comment

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

No, I don't think so. IIUC, it should be long to Elasticsearch itself but not Elasticsearch project. (ES used in other project type also should follow this)
I get your point and I think we can just remove Elasticsearch (or {{es}}).

cc @ppf2 for double check in case he has more insights.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation Serverless Improvements and changes to the Serverless Docs supportability ability enable self-service or support of product
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Serverless]: Details on what settings and system indices (if any) are available on Serverless
3 participants