[8.x] Fix generation of dynamic mapping for object with specific subfield (#204104)#204493
Conversation
…lastic#204104) Fix generation of dynamic mapping for objects that have more specific subfields in separate definitions. This can be reproduced for example with: ``` - name: labels type: object object_type: keyword object_type_mapping_type: '*' - name: labels.count type: long ``` Fleet expands and deduplicates field definitions before generating the mappings, so the definitions above are converted to something like the following: ``` - name: labels type: group object_type: keyword object_type_mapping_type: '*' fields: - name: count type: long ``` Usually fields of type `group` don't have an `object_type`, so this was being ignored, the dynamic mapping was not being generated. This issue was not reproduced if the object field name includes a wildcard, like in `labels.*`, because then the expansion and deduplication resolves to something like this: ``` - name: labels type: group fields: - name: '*' type: object object_type: keyword object_type_mapping_type: '*' - name: count type: long ``` (cherry picked from commit e3877e0)
|
Pinging @elastic/fleet (Team:Fleet) |
|
Please do not merge this pull request. We disabled auto-merge because we are trying to merge a this big PR as part of sustainable architecture migration which is impossible with ever increasing stream of backports. We will resume the automerge after our PR is merged. Reach out to #sustainable-kibana-architecture for more info. |
|
Auto-merge has been re-enabled. Thank you for your patience. :heart |
It would be nice to have this in 8.x too, yes. I didn't merge this in 8.16 and 8.17 to don't change this behavior there. This issue is only known to affect one package. |
💛 Build succeeded, but was flaky
Failed CI StepsTest Failures
Metrics [docs]
History
cc @jsoriano |
Backport
This will backport the following commits from
mainto8.x:Questions ?
Please refer to the Backport tool documentation