Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Don't render exceptions flyout if data is loading (elastic#181588)
## Exceptions not created for mappings with conflicts related: elastic#177007 How to reproduce - Execute request in order, and change timestamps to you actual dates ``` PUT test-1 { "mappings": { "properties": { "@timestamp": {"type": "date"}, "host.name": { "type": "keyword" } } } } PUT auditbeat-1 { "mappings": { "properties": { "@timestamp": {"type": "date"}, "host.name": { "type": "boolean" } } } } POST auditbeat-1/_doc { "@timestamp": 1714121723789, "host.name":"host 11", "user.name": "123" } POST test-1/_doc { "@timestamp": 1714121723789, "host.name":"host 11", "user.name": "123" } ``` - Create a query rule, with index pattern `test-1` and the query: '*'. Wait for the alert to be generated - Go to the Alerts page (not from the Rule, but all alerts) - Click add exception from the alert and observe that it says that fields have conflict about auditbeat index. Which is incorrect as a rule has only `test-1` index pattern. - Check all checkboxes about closing alerts and creating exceptions. See that there is no success toast, and the rule also has no exception. - Open flyout exception again. Observe that there is no more message about conflicts. If you create an exception it will be successful. https://github.com/elastic/kibana/assets/7609147/d29981f7-5d6f-41b2-af46-2ade884e3563 ### Reason In the `AddExceptionFlyout` we do have this line ``` const { isLoading, indexPatterns, getExtendedFields } = useFetchIndexPatterns(rules); ``` From `AlertContextMenuComponent` we are passing try to load the rule info and first past `undefined` to rules and then some real info. The problem is that in the `useFetchIndexPatterns` - if rules not defined, we return `getExtendedFields` related to the default data view, but no there rule index pattern. And probably there some race conditions happen, and after we pass rules props, exceptions don't rerender the info. As a fix for this BC I just wait for rule info to be loaded, and then render exception flyout, but it only masks the problem. As we want to fix this bug faster, it's probably ok to merge it like that. And there will be an issue to address this later. --------- Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
- Loading branch information