Skip to content
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

Ensure Kibana Apps gracefully handle index pattern field changes and removal #92753

Closed
mattkime opened this issue Feb 25, 2021 · 5 comments
Closed
Assignees
Labels
Feature:Data Views Data Views code and UI - index patterns before 8.0 impact:low Addressing this issue will have a low level of impact on the quality/strength of our product. loe:small Small Level of Effort Project:RuntimeFields v7.13.0

Comments

@mattkime
Copy link
Contributor

mattkime commented Feb 25, 2021

Mappings and field lists change and we need to make sure that Kibana handles this gracefully. Field lists are expected to change more frequently with the introduction of runtime fields. Runtime fields may be removed or their types may change, either of which may be disruptive to code that assumes their presence is unchanged.

We should ensure that when a field changes or is missing that the UI remains in a workable state and that the user has a path to completing their task. This is purposefully vague because of the diversity of kibana apps. It intends to be a low bar, "good enough". We do not need to design experiences around this circumstance for the purposes of this issue.

Please note how affected UIs handle changes to runtime fields.

UPDATE: We also need to verify alerting use cases

Kibana App

Owner: @timroes
Investigation: Complete

Lens: Before a visualization renders, field type and existence is checked and an explanatory error message is shown for fields used in aggregations. In the editor the user can fix the visualization (or the runtime field) to make it work again. This is only visible once a user accesses the visualization (either on a dashboard or in the Lens editor), not in the visualization listing. No special check for usage in KQL filters (Elasticsearch simply won't return any data, no error indication)

Rest visualizations: #93921

App Arch

Owner: @mattkime
Investigation: Complete
Notes: CSV reports will have a blank column if a field is missing. Filter bar - If a filter exist that references a removed field, the filter remains functional and can be removed by the user.

Alerting #93501

Owner: @mikecote
Investigation: Not started
Notes

Maps

Owner: @thomasneirynck
Investigation: see #93481
Alerts investigation: Not started

Logs & Metrics

Owner: @weltenwort
Investigation: Not yet started
Alerts investigation: Not started
Notes In process of adopting index patterns

ML #93571

Owner: @peteharverson
Investigation: Complete - see #93571
Alerts investigation: Complete - see #93571
Notes In general ML jobs and Transforms copy over the definitions of the runtime fields to the runtime_mappings of the job / transform config, and will continue to use the definition stored in the job / transform, rather than the one stored in the index pattern.

APM (#94288)

Owner: @sqren
Alerts investigation: Complete
Notes

Stack Monitoring

Owner: @chrisronline
Alerts investigation: done
Notes No index pattern usage

Not Applicable
Telemetry
Core UI
Ingest
Elasticsearch UI
Enterprise search

@pmuellr
Copy link
Member

pmuellr commented Mar 9, 2021

For alerting, we'll be looking at the "stack" alerts that the alerting team provides, but other teams also provide solution-specific alerts, so I think they need to "own" this issue for their alerts.

Specifically, I guess our thinking is that these alerts could run into issues potentially if runtime fields are being accessed by the alerts. Eg, what happens if I create an index threshold alert, which checks a field agg vs a threshold value, that field is a runtime field that exists when the alert is created, but is later changed/deleted.

I don't believe there is any alerting framework enhancement we would provide to handle this ATM, presumably every alert type is responsible for handling errors their queries are making using the existing alerting framework facilities.

So this ends up pulling in the following areas.

As an additional thing for existing "owners" listed above to look at:

  • Maps (kind of - their alert IS a "stack" alert (which the alerting team "owns", but the maps team really does all the work)
  • Logs & Metrics
  • ML

And then these areas current listed as "not applicable" - they are now applicable :-)

  • Security
  • APM
  • Stack Monitoring

@mattkime
Copy link
Contributor Author

@pmuellr Thanks! Updated the description to reflect your advice.

@elasticmachine
Copy link
Contributor

Pinging @elastic/kibana-app-services (Team:AppServices)

@ymao1
Copy link
Contributor

ymao1 commented Mar 26, 2021

Alerting investigation complete. Focused on how the UI and stack rule execution was affected by field mapping changes/deletions due to runtime fields.

Created these issues as a result of the investigation:

@thomasneirynck
Copy link
Contributor

thomasneirynck commented Mar 29, 2021

wrt Maps-app: cf #93481

tl;dr:

  • Runtime fields add through the index-pattern UX do not work in Maps (they do work when added to the mapping through the Elasticsearch-API). I will put up a PR with a fix. [Maps] Support query-time runtime fields #95701
  • When runtime fields or changed or removed, an error will be shown in the LayerTOC-UX. This is similar to how any other index-mapping change is handled.

@exalate-issue-sync exalate-issue-sync bot added impact:low Addressing this issue will have a low level of impact on the quality/strength of our product. loe:small Small Level of Effort labels Jun 21, 2021
@exalate-issue-sync exalate-issue-sync bot added loe:medium Medium Level of Effort and removed loe:small Small Level of Effort labels Jun 22, 2021
@exalate-issue-sync exalate-issue-sync bot added loe:small Small Level of Effort and removed loe:medium Medium Level of Effort labels Aug 11, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Feature:Data Views Data Views code and UI - index patterns before 8.0 impact:low Addressing this issue will have a low level of impact on the quality/strength of our product. loe:small Small Level of Effort Project:RuntimeFields v7.13.0
Projects
None yet
Development

No branches or pull requests

6 participants