-
Notifications
You must be signed in to change notification settings - Fork 25.6k
Removing null from syntheticSourceFallbackFieldName #136344
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
Removing null from syntheticSourceFallbackFieldName #136344
Conversation
Hi @Kubik42, I've created a changelog YAML for you. |
Pinging @elastic/es-storage-engine (Team:StorageEngine) |
My two cents on this:
Ultimately, we need to fix |
follow up: #136345 |
0bfd575
to
8121f05
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we add a test (yaml test with reproduction is fine) for this bug? I think we need to create a rolling upgrade test for this and use an old version (8.19.0?). Otherwise this looks good. EDIT: I'm unable to reproduce with a rolling upgrade test, but it does reproduce with setting force_synthetic_source
to true
on get api request. So I think at least a yaml test that reproduces the problem with force_synthetic_source
should be added.
...ugin/core/src/test/java/org/elasticsearch/xpack/core/security/authc/AuthenticationTests.java
Show resolved
Hide resolved
…stic#136344) This to avoid NPE in a later stage. Relates to elastic#136345 --------- Co-authored-by: elasticsearchmachine <[email protected]> Co-authored-by: Martijn van Groningen <[email protected]>
There is a problem with how
isSynthetic
is set here. More specifically, older indices which still enable synthetic source viawill inevitably invoke
syntheticSourceSupport()
inside of various field mapper. This is a problem since here we check theindex.mapping.source.mode
and not_source.mode
. What ends up happening is isSyntheticSource is set tofalse
, meanwhilesyntheticSourceSupport()
is still invoked. This causessyntheticSourceFallbackFieldName()
to returnnull
, which results in a NPE: