Skip to content

Remove DOC_VALUES_SKIPPER feature flag#138723

Merged
romseygeek merged 36 commits intoelastic:mainfrom
romseygeek:skippers/remove-feature-flag
Dec 12, 2025
Merged

Remove DOC_VALUES_SKIPPER feature flag#138723
romseygeek merged 36 commits intoelastic:mainfrom
romseygeek:skippers/remove-feature-flag

Conversation

@romseygeek
Copy link
Contributor

@romseygeek romseygeek commented Nov 27, 2025

Removing this flag will enable skippers automatically on keyword, ip, boolean,
date and numeric fields that have index=false and doc_values=true when the
index.mapping.use_doc_values_skipper setting is true. In addition,
some fields in time_series mode will default to using doc values skippers in place
of points or terms indexes.

romseygeek and others added 17 commits November 24, 2025 17:25
This applies to boolean, date, ip, keyword and number-type fields
excluding scaled_float.  It can be disabled by setting the
`index.mapping.use_doc_value_skipper` field to `false`
…pperTestCase.java

Co-authored-by: Felix Barnsteiner <felixbarny@users.noreply.github.com>
…-false' into skippers/always-on-for-index-false
Removing this flag will enable skippers automatically on keyword, ip, boolean,
date and numeric fields that have index=false.  In addition, some fields in
time_series and logsdb modes will default to using doc values skippers in
place of points or terms indexes.
@romseygeek romseygeek self-assigned this Nov 27, 2025
@romseygeek romseygeek requested a review from a team as a code owner November 27, 2025 11:14
@elasticsearchmachine elasticsearchmachine added needs:triage Requires assignment of a team area label v9.3.0 labels Nov 27, 2025
@romseygeek romseygeek added >feature release highlight :StorageEngine/Mapping The storage related side of mappings and removed needs:triage Requires assignment of a team area label labels Nov 27, 2025
@romseygeek romseygeek requested review from kkrik-es and martijnvg and removed request for a team November 27, 2025 11:15
@elasticsearchmachine
Copy link
Collaborator

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

@romseygeek
Copy link
Contributor Author

I've added an IndexVersion for serverless, with changes to MapperTestCase.

@romseygeek romseygeek requested a review from felixbarny December 1, 2025 11:00
assertThat(mapperService.fieldType("field").indexType(), equalTo(IndexType.docValuesOnly()));
}

Settings statelessSkipperDefault = Settings.builder().put(DiscoveryNode.STATELESS_ENABLED_SETTING_NAME, true).build();
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
Settings statelessSkipperDefault = Settings.builder().put(DiscoveryNode.STATELESS_ENABLED_SETTING_NAME, true).build();
Settings statelessEnabled = Settings.builder().put(DiscoveryNode.STATELESS_ENABLED_SETTING_NAME, true).build();
IndexVersion iv = SETTING_INDEX_VERSION_CREATED.get(s);
if (MODE.get(s) == IndexMode.TIME_SERIES) {
if (iv.onOrAfter(IndexVersions.SKIPPERS_ENABLED_BY_DEFAULT)) {
if (DiscoveryNode.isStateless(s)) {
Copy link
Member

Choose a reason for hiding this comment

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

Maybe I forgot something, but host.name was the only field we accidentally enabled skippers for? This would enable skippers also for other fields in serverless?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

This part is for TSDB mode. host.name is handled entirely separately.

Copy link
Member

@martijnvg martijnvg left a comment

Choose a reason for hiding this comment

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

LGTM 🚀

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

Labels

>feature release highlight :StorageEngine/Mapping The storage related side of mappings Team:StorageEngine test-release Trigger CI checks against release build v9.3.0

4 participants