-
Notifications
You must be signed in to change notification settings - Fork 8.2k
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
Plan to remove index pattern field mapping cache #71787
Comments
with removing the cache, would that mean that or are we talking only about index pattern creation ? |
If not loading from client side cache, yes.
Field list references and getNonScriptedFields are currently synchronous. I think it would be good to move toward async access but we'd likely need to approach that later with a new index pattern api. |
Pinging @elastic/kibana-app-arch (Team:AppArch) |
@mattkime I wanted to share with you that the security solution is using the field_caps API from elastic search and asking for at least seven different alias at least to get all the fields (almost 6500 fields) information from these indices alias. I would like also to tell you that we are also adding some other data into it like description and indexes to know where the field belongs to. We are starting to refactor our code to use the index patterns service from the kibana platform, but we realized our field API is faster than the I also know that infra and logs from observability are doing the same thing for the index |
@XavierM Do you know why hitting field caps directly was more performant than loading from a saved object field? Its quite surprising. |
Resolved via #82223 |
The desire to remove the mapping cache has been around for a while and will solve numerous problems - #6498
The main potential bottleneck is the elasticsearch field_caps api. The field mapping cache is a simple transform of its results.
@jtibshirani has assured me that the field_caps api is performant. We should investigate to ensure this is the case.
The problem in removing it is that we need to make sure our code remains performant in all circumstances. An elasticsearch performance test of the field_caps api would help instill confidence. I see two potential results -
a) We're confident that the field_caps api will always be performant. Just remove the mapping cache already and be done with it.
b) We think the field_caps api will usually be performant. In this case we could remove the field mapping in some cases but not others. In this way we could transition toward removing the field mapping cache, perhaps providing an escape hatch if users have poor experience or defining the cases where a cache is necessary.
Either path should allow us to remove the field mapping cache in a considerable number of cases.
--
Request for help determining performance limitations - elastic/elasticsearch#59581
Reasons to do this
Bugs it may resolve
Plan for removal -
0) Move 'count' out of field list.
rollups
has its own endpoint for creating its field lists. I'd prefer to add this to the OSS code instead of creating a registry. Rollups v2 should get rid of the need for this separate endpoint.The text was updated successfully, but these errors were encountered: