Skip to content

Add docs for index.disable_sequence_numbers setting#144353

Merged
fcofdez merged 5 commits intoelastic:mainfrom
fcofdez:seq-no-disabled-docs
Apr 1, 2026
Merged

Add docs for index.disable_sequence_numbers setting#144353
fcofdez merged 5 commits intoelastic:mainfrom
fcofdez:seq-no-disabled-docs

Conversation

@fcofdez
Copy link
Copy Markdown
Contributor

@fcofdez fcofdez commented Mar 16, 2026

Document the setting's behavior and limitations including disabled
OCC, unsupported updates, weaker consistency for update and delete
by query operations, inability to query/filter/sort by _seq_no,
and random_score field requirement.

Relates #136305

I used Claude Code for this.

Document the setting's behavior and limitations including disabled
OCC, unsupported updates, weaker consistency for update and delete
by query operations, inability to query/filter/sort by _seq_no,
and random_score field requirement.
@elasticsearchmachine
Copy link
Copy Markdown
Collaborator

Pinging @elastic/es-storage-engine (Team:StorageEngine)

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Mar 16, 2026

@github-actions
Copy link
Copy Markdown
Contributor

ℹ️ Important: Docs version tagging

👋 Thanks for updating the docs! Just a friendly reminder that our docs are now cumulative. This means all 9.x versions are documented on the same page and published off of the main branch, instead of creating separate pages for each minor version.

We use applies_to tags to mark version-specific features and changes.

Expand for a quick overview

When to use applies_to tags:

✅ At the page level to indicate which products/deployments the content applies to (mandatory)
✅ When features change state (e.g. preview, ga) in a specific version
✅ When availability differs across deployments and environments

What NOT to do:

❌ Don't remove or replace information that applies to an older version
❌ Don't add new information that applies to a specific version without an applies_to tag
❌ Don't forget that applies_to tags can be used at the page, section, and inline level

🤔 Need help?

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Mar 16, 2026

Vale Linting Results

Summary: 2 warnings, 7 suggestions found

⚠️ Warnings (2)
File Line Rule Message
docs/reference/elasticsearch/rest-apis/optimistic-concurrency-control.md 13 Elastic.Latinisms Latin terms and abbreviations are a common source of confusion. Use 'using' instead of 'via'.
docs/reference/elasticsearch/rest-apis/optimistic-concurrency-control.md 16 Elastic.DontUse Don't use 'thus'.
💡 Suggestions (7)
File Line Rule Message
docs/reference/elasticsearch/index-settings/index-modules.md 121 Elastic.WordChoice Consider using 'deactivate, deselect, hide, turn off' instead of 'disable', unless the term is in the UI.
docs/reference/elasticsearch/index-settings/index-modules.md 123 Elastic.WordChoice Consider using 'can, might' instead of 'may', unless the term is in the UI.
docs/reference/elasticsearch/rest-apis/optimistic-concurrency-control.md 10 Elastic.Versions Use 'earlier version' instead of 'older version' when referring to versions.
docs/reference/elasticsearch/rest-apis/optimistic-concurrency-control.md 10 Elastic.Versions Use 'later version' instead of 'newer version' when referring to versions.
docs/reference/elasticsearch/rest-apis/optimistic-concurrency-control.md 13 Elastic.WordChoice Consider using 'deactivated, deselected, hidden, turned off, unavailable' instead of 'disabled', unless the term is in the UI.
docs/reference/elasticsearch/rest-apis/optimistic-concurrency-control.md 16 Elastic.Versions Use 'earlier version' instead of 'older version' when referring to versions.
docs/reference/elasticsearch/rest-apis/optimistic-concurrency-control.md 16 Elastic.Versions Use 'later version' instead of 'newer version' when referring to versions.

The Vale linter checks documentation changes against the Elastic Docs style guide.

To use Vale locally or report issues, refer to Elastic style guide for Vale.

* **Weaker consistency for update-by-query and delete-by-query**: [Update by query](/reference/elasticsearch/rest-apis/update-by-query-api.md) and [delete by query](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-delete-by-query) operations proceed without sequence number-based conflict detection. This means concurrent modifications to documents during these operations may be silently overwritten rather than triggering version conflicts.
* **`_seq_no` field not queryable**: Queries, filters, and sorts on the `_seq_no` field are not supported.
* **`random_score` requires an explicit `field`**: The [`random_score`](/reference/query-languages/query-dsl/query-dsl-function-score-query.md) function cannot fall back to using `_seq_no` as a source of randomness. A `field` parameter must be specified explicitly.
* **Requires `doc_values_only` sequence number index options**: Must be used with `index.seq_no.index_options` set to `doc_values_only`.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

This last line probably needs to be with the main section of text and not in the limitations list.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Addressed in 51e434e

Copy link
Copy Markdown
Member

@tlrx tlrx left a comment

Choose a reason for hiding this comment

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

LGTM, I left a comment


Disabling sequence numbers introduces the following limitations:

* **No [optimistic concurrency control](/reference/elasticsearch/rest-apis/optimistic-concurrency-control.md)**: The `if_seq_no` and `if_primary_term` parameters cannot be used with [index](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-index) or [bulk](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-bulk) requests.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I wonder if we should mention disabled sequence numbers in optimistic-concurrency-control.md too? Maybe a warning or a note?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Addressed in 51e434e.

@fcofdez fcofdez requested a review from a team as a code owner March 17, 2026 13:37
@fcofdez fcofdez requested a review from romseygeek March 17, 2026 14:37
Copy link
Copy Markdown
Contributor

@romseygeek romseygeek left a comment

Choose a reason for hiding this comment

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

LGTM, but we should probably wait for a response to @shainaraskas's question before merging.

@kkrik-es
Copy link
Copy Markdown
Member

Gentle ping on this one, maybe @shainaraskas can take another look?

Co-authored-by: shainaraskas <58563081+shainaraskas@users.noreply.github.com>
@fcofdez fcofdez requested a review from shainaraskas March 30, 2026 19:30
@fcofdez
Copy link
Copy Markdown
Contributor Author

fcofdez commented Mar 31, 2026

@elasticmachine update branch

szabosteve

This comment was marked as outdated.

@fcofdez fcofdez merged commit 2d0517b into elastic:main Apr 1, 2026
12 checks passed
mromaios pushed a commit to mromaios/elasticsearch that referenced this pull request Apr 9, 2026
Document the setting's behavior and limitations including disabled
OCC, unsupported updates, weaker consistency for update and delete
by query operations, inability to query/filter/sort by _seq_no,
and random_score field requirement.

Relates elastic#136305
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants