Fix index.mapping.use_doc_values_skippers defaults in serverless#139526
Fix index.mapping.use_doc_values_skippers defaults in serverless#139526romseygeek wants to merge 6 commits intoelastic:mainfrom
Conversation
We can't detect whether or not we are in serverless during default value setup because we don't have node settings at this point. This removes all serverless/stateful detection logic from here, as the various different index structure changes made during development were never released and we can use some much simpler checks.
|
Pinging @elastic/es-storage-engine (Team:StorageEngine) |
|
Hi @romseygeek, I've created a changelog YAML for you. |
… into bug/host-name-index-version
| public static final Setting<Boolean> USE_DOC_VALUES_SKIPPER = Setting.boolSetting("index.mapping.use_doc_values_skipper", s -> { | ||
| IndexVersion iv = SETTING_INDEX_VERSION_CREATED.get(s); | ||
| if (MODE.get(s) == IndexMode.TIME_SERIES) { | ||
| if (DiscoveryNode.isStateless(s)) { |
There was a problem hiding this comment.
Question: I was looking into this issue and noticed that the DiscoveryNode.isStateless(s) calls in the default function might never have worked because s is index settings but stateless.enabled is a NodeScope setting. Is that the root cause here?
Also, do we need any stateless-specific handling elsewhere (like in the IndexSettings constructor using nodeSettings)? I'm thinking of the pattern we use for recoverySourceSyntheticEnabled. Just want to make sure we're not missing something for the timestamp case.
There was a problem hiding this comment.
Is that the root cause here?
Yes, exactly. We should be fine elsewhere as nothing here has actually been released - it's all post-9.2 or behind a feature flag.
|
I confirmed that the same test fails on this PR as in the serverless-fix PR #139532. Reproduce with: The error: The problem is that at the index version |
We can't detect whether or not we are in serverless during default value
setup because we don't have node settings at this point. This removes
all serverless/stateful detection logic from here, as the various different
index structure changes made during development were never released
and we can use some much simpler checks.