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

[Security Solution] [Detections] Adds support for index patterns (DataViewBase) to be used for query bar filters #166318

Merged
merged 22 commits into from
Sep 18, 2023

Conversation

dhurley14
Copy link
Contributor

Summary

Ref: #164265

@dhurley14 dhurley14 self-assigned this Sep 13, 2023
@dhurley14 dhurley14 added review release_note:skip Skip the PR/issue when compiling release notes Team:Detection Engine Security Solution Detection Engine Area v8.11.0 labels Sep 13, 2023
@dhurley14 dhurley14 marked this pull request as ready for review September 13, 2023 00:39
@dhurley14 dhurley14 requested a review from a team as a code owner September 13, 2023 00:39
data.dataViews.clearInstanceCache(dv?.id);
}
};
}, [data.dataViews, indexPattern]);
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I removed dataView?.id from the side effect's dependency list here.

@kibana-ci
Copy link
Collaborator

💛 Build succeeded, but was flaky

Failed CI Steps

Test Failures

  • [job] [logs] Explore - Security Solution Cypress Tests #1 / Cases Creates a new case with timeline and opens the timeline Creates a new case with timeline and opens the timeline
  • [job] [logs] FTR Configs #28 / serverless observability UI Cases list empty state displays an empty list with an add button correctly

Metrics [docs]

Async chunks

Total size of all lazy-loaded chunks that will be downloaded as the user navigates the app

id before after diff
securitySolution 12.6MB 12.6MB +1.9KB
Unknown metric groups

References to deprecated APIs

id before after diff
securitySolution 654 659 +5

History

To update your PR or re-run it, just comment with:
@elasticmachine merge upstream

cc @dhurley14

Copy link
Contributor

@WafaaNasr WafaaNasr left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks Devin 🚀 !!
Tested locally and works fine!

@dhurley14 dhurley14 merged commit 8220c9b into elastic:main Sep 18, 2023
@dhurley14 dhurley14 deleted the dataview-casting-error branch September 18, 2023 14:17
@kibanamachine kibanamachine added the backport:skip This commit does not require backporting label Sep 18, 2023
e40pud added a commit that referenced this pull request Jan 24, 2024
…ew on the Rule Editing page (#174026) (#174922)

## Summary

Addresses #174026

These changes fix the issue with filter editing on the rule's editing
page when using index patterns instead of data view.

**Steps to reproduce**:
1. Create a custom query rule and add a filter
2. Save the rule
3. Edit the rule
4. Edit the filter

**Current behaviour**:
Right now when user tries to edit the filter the data view picking UI
appears even though index patterns were not modified.

<img width="1261" alt="Screenshot 2024-01-16 at 15 14 23"
src="https://github.com/elastic/kibana/assets/2700761/b2d28b79-a7d8-482c-a2be-fa8e20cb9e25">

**Expected behaviour**:
Data view picking UI should not be present and previously set field and
value options should be shown in the filter editing dialog.

<img width="1252" alt="Screenshot 2024-01-16 at 15 16 07"
src="https://github.com/elastic/kibana/assets/2700761/bb99dd9f-aa6a-4003-b8c4-ccda344c4c5c">

**Cause**:
The behaviour for the filter editing on rule’s editing page changed in
`8.11` with these changes #166318.
We convert `DataViewBase` object without ID set to a `DataView` object
with auto-generated ID. This happens each time we try to edit the rule
and leads to a different ID which is saved in `filter.meta.index`.
Unified search internally checks those IDs to verify whether the filter
belongs to provided data view.

**Solution**:
To solve this issue, we set the data view id explicitly on creating an
in-memory data view that represents index patterns and update
`filter.meta.index` to use the same ID.

~~**Known issue**:
This does not resolve the issue for existing filters. In this case, user
will need to update their filters manually.~~ (This was fixed by
updating `filter.meta.index` field on rule editing)

**Flaky test runner**
[ESS 50
times](https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/4927)
[Serverless 50
times](https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/4935)

---------

Co-authored-by: Kibana Machine <[email protected]>
kibanamachine pushed a commit to kibanamachine/kibana that referenced this pull request Jan 24, 2024
…ew on the Rule Editing page (elastic#174026) (elastic#174922)

## Summary

Addresses elastic#174026

These changes fix the issue with filter editing on the rule's editing
page when using index patterns instead of data view.

**Steps to reproduce**:
1. Create a custom query rule and add a filter
2. Save the rule
3. Edit the rule
4. Edit the filter

**Current behaviour**:
Right now when user tries to edit the filter the data view picking UI
appears even though index patterns were not modified.

<img width="1261" alt="Screenshot 2024-01-16 at 15 14 23"
src="https://github.com/elastic/kibana/assets/2700761/b2d28b79-a7d8-482c-a2be-fa8e20cb9e25">

**Expected behaviour**:
Data view picking UI should not be present and previously set field and
value options should be shown in the filter editing dialog.

<img width="1252" alt="Screenshot 2024-01-16 at 15 16 07"
src="https://github.com/elastic/kibana/assets/2700761/bb99dd9f-aa6a-4003-b8c4-ccda344c4c5c">

**Cause**:
The behaviour for the filter editing on rule’s editing page changed in
`8.11` with these changes elastic#166318.
We convert `DataViewBase` object without ID set to a `DataView` object
with auto-generated ID. This happens each time we try to edit the rule
and leads to a different ID which is saved in `filter.meta.index`.
Unified search internally checks those IDs to verify whether the filter
belongs to provided data view.

**Solution**:
To solve this issue, we set the data view id explicitly on creating an
in-memory data view that represents index patterns and update
`filter.meta.index` to use the same ID.

~~**Known issue**:
This does not resolve the issue for existing filters. In this case, user
will need to update their filters manually.~~ (This was fixed by
updating `filter.meta.index` field on rule editing)

**Flaky test runner**
[ESS 50
times](https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/4927)
[Serverless 50
times](https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/4935)

---------

Co-authored-by: Kibana Machine <[email protected]>
(cherry picked from commit f0f6274)
kibanamachine referenced this pull request Jan 25, 2024
… &quot;Edit filter&quot; view on the Rule Editing page (#174026) (#174922) (#175433)

# Backport

This will backport the following commits from `main` to `8.12`:
- [[Security Solution] &quot;Data view&quot; selector is shown in
&quot;Edit filter&quot; view on the Rule Editing page (#174026)
(#174922)](#174922)

<!--- Backport version: 9.4.3 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sqren/backport)

<!--BACKPORT [{"author":{"name":"Ievgen
Sorokopud","email":"[email protected]"},"sourceCommit":{"committedDate":"2024-01-24T13:34:54Z","message":"[Security
Solution] \"Data view\" selector is shown in \"Edit filter\" view on the
Rule Editing page (#174026) (#174922)\n\n## Summary\r\n\r\nAddresses
https://github.com/elastic/kibana/issues/174026\r\n\r\nThese changes fix
the issue with filter editing on the rule's editing\r\npage when using
index patterns instead of data view.\r\n\r\n**Steps to
reproduce**:\r\n1. Create a custom query rule and add a filter\r\n2.
Save the rule\r\n3. Edit the rule\r\n4. Edit the filter\r\n\r\n**Current
behaviour**:\r\nRight now when user tries to edit the filter the data
view picking UI\r\nappears even though index patterns were not
modified.\r\n\r\n<img width=\"1261\" alt=\"Screenshot 2024-01-16 at 15
14
23\"\r\nsrc=\"https://github.com/elastic/kibana/assets/2700761/b2d28b79-a7d8-482c-a2be-fa8e20cb9e25\">\r\n\r\n**Expected
behaviour**:\r\nData view picking UI should not be present and
previously set field and\r\nvalue options should be shown in the filter
editing dialog.\r\n\r\n<img width=\"1252\" alt=\"Screenshot 2024-01-16
at 15 16
07\"\r\nsrc=\"https://github.com/elastic/kibana/assets/2700761/bb99dd9f-aa6a-4003-b8c4-ccda344c4c5c\">\r\n\r\n**Cause**:\r\nThe
behaviour for the filter editing on rule’s editing page changed
in\r\n`8.11` with these changes
https://github.com/elastic/kibana/pull/166318.\r\nWe convert
`DataViewBase` object without ID set to a `DataView` object\r\nwith
auto-generated ID. This happens each time we try to edit the rule\r\nand
leads to a different ID which is saved in
`filter.meta.index`.\r\nUnified search internally checks those IDs to
verify whether the filter\r\nbelongs to provided data
view.\r\n\r\n**Solution**:\r\nTo solve this issue, we set the data view
id explicitly on creating an\r\nin-memory data view that represents
index patterns and update\r\n`filter.meta.index` to use the same
ID.\r\n\r\n~~**Known issue**:\r\nThis does not resolve the issue for
existing filters. In this case, user\r\nwill need to update their
filters manually.~~ (This was fixed by\r\nupdating `filter.meta.index`
field on rule editing)\r\n\r\n**Flaky test runner**\r\n[ESS
50\r\ntimes](https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/4927)\r\n[Serverless
50\r\ntimes](https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/4935)\r\n\r\n---------\r\n\r\nCo-authored-by:
Kibana Machine
<[email protected]>","sha":"f0f6274b9563cc453a11a937fe66f3bfbe8311bf","branchLabelMapping":{"^v8.13.0$":"main","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:fix","Team:
SecuritySolution","backport:prev-minor","Team:Detection
Engine","v8.13.0"],"title":"[Security Solution] \"Data view\" selector
is shown in \"Edit filter\" view on the Rule Editing page
(#174026)","number":174922,"url":"https://github.com/elastic/kibana/pull/174922","mergeCommit":{"message":"[Security
Solution] \"Data view\" selector is shown in \"Edit filter\" view on the
Rule Editing page (#174026) (#174922)\n\n## Summary\r\n\r\nAddresses
https://github.com/elastic/kibana/issues/174026\r\n\r\nThese changes fix
the issue with filter editing on the rule's editing\r\npage when using
index patterns instead of data view.\r\n\r\n**Steps to
reproduce**:\r\n1. Create a custom query rule and add a filter\r\n2.
Save the rule\r\n3. Edit the rule\r\n4. Edit the filter\r\n\r\n**Current
behaviour**:\r\nRight now when user tries to edit the filter the data
view picking UI\r\nappears even though index patterns were not
modified.\r\n\r\n<img width=\"1261\" alt=\"Screenshot 2024-01-16 at 15
14
23\"\r\nsrc=\"https://github.com/elastic/kibana/assets/2700761/b2d28b79-a7d8-482c-a2be-fa8e20cb9e25\">\r\n\r\n**Expected
behaviour**:\r\nData view picking UI should not be present and
previously set field and\r\nvalue options should be shown in the filter
editing dialog.\r\n\r\n<img width=\"1252\" alt=\"Screenshot 2024-01-16
at 15 16
07\"\r\nsrc=\"https://github.com/elastic/kibana/assets/2700761/bb99dd9f-aa6a-4003-b8c4-ccda344c4c5c\">\r\n\r\n**Cause**:\r\nThe
behaviour for the filter editing on rule’s editing page changed
in\r\n`8.11` with these changes
https://github.com/elastic/kibana/pull/166318.\r\nWe convert
`DataViewBase` object without ID set to a `DataView` object\r\nwith
auto-generated ID. This happens each time we try to edit the rule\r\nand
leads to a different ID which is saved in
`filter.meta.index`.\r\nUnified search internally checks those IDs to
verify whether the filter\r\nbelongs to provided data
view.\r\n\r\n**Solution**:\r\nTo solve this issue, we set the data view
id explicitly on creating an\r\nin-memory data view that represents
index patterns and update\r\n`filter.meta.index` to use the same
ID.\r\n\r\n~~**Known issue**:\r\nThis does not resolve the issue for
existing filters. In this case, user\r\nwill need to update their
filters manually.~~ (This was fixed by\r\nupdating `filter.meta.index`
field on rule editing)\r\n\r\n**Flaky test runner**\r\n[ESS
50\r\ntimes](https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/4927)\r\n[Serverless
50\r\ntimes](https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/4935)\r\n\r\n---------\r\n\r\nCo-authored-by:
Kibana Machine
<[email protected]>","sha":"f0f6274b9563cc453a11a937fe66f3bfbe8311bf"}},"sourceBranch":"main","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"main","label":"v8.13.0","branchLabelMappingKey":"^v8.13.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/174922","number":174922,"mergeCommit":{"message":"[Security
Solution] \"Data view\" selector is shown in \"Edit filter\" view on the
Rule Editing page (#174026) (#174922)\n\n## Summary\r\n\r\nAddresses
https://github.com/elastic/kibana/issues/174026\r\n\r\nThese changes fix
the issue with filter editing on the rule's editing\r\npage when using
index patterns instead of data view.\r\n\r\n**Steps to
reproduce**:\r\n1. Create a custom query rule and add a filter\r\n2.
Save the rule\r\n3. Edit the rule\r\n4. Edit the filter\r\n\r\n**Current
behaviour**:\r\nRight now when user tries to edit the filter the data
view picking UI\r\nappears even though index patterns were not
modified.\r\n\r\n<img width=\"1261\" alt=\"Screenshot 2024-01-16 at 15
14
23\"\r\nsrc=\"https://github.com/elastic/kibana/assets/2700761/b2d28b79-a7d8-482c-a2be-fa8e20cb9e25\">\r\n\r\n**Expected
behaviour**:\r\nData view picking UI should not be present and
previously set field and\r\nvalue options should be shown in the filter
editing dialog.\r\n\r\n<img width=\"1252\" alt=\"Screenshot 2024-01-16
at 15 16
07\"\r\nsrc=\"https://github.com/elastic/kibana/assets/2700761/bb99dd9f-aa6a-4003-b8c4-ccda344c4c5c\">\r\n\r\n**Cause**:\r\nThe
behaviour for the filter editing on rule’s editing page changed
in\r\n`8.11` with these changes
https://github.com/elastic/kibana/pull/166318.\r\nWe convert
`DataViewBase` object without ID set to a `DataView` object\r\nwith
auto-generated ID. This happens each time we try to edit the rule\r\nand
leads to a different ID which is saved in
`filter.meta.index`.\r\nUnified search internally checks those IDs to
verify whether the filter\r\nbelongs to provided data
view.\r\n\r\n**Solution**:\r\nTo solve this issue, we set the data view
id explicitly on creating an\r\nin-memory data view that represents
index patterns and update\r\n`filter.meta.index` to use the same
ID.\r\n\r\n~~**Known issue**:\r\nThis does not resolve the issue for
existing filters. In this case, user\r\nwill need to update their
filters manually.~~ (This was fixed by\r\nupdating `filter.meta.index`
field on rule editing)\r\n\r\n**Flaky test runner**\r\n[ESS
50\r\ntimes](https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/4927)\r\n[Serverless
50\r\ntimes](https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/4935)\r\n\r\n---------\r\n\r\nCo-authored-by:
Kibana Machine
<[email protected]>","sha":"f0f6274b9563cc453a11a937fe66f3bfbe8311bf"}}]}]
BACKPORT-->

---------

Co-authored-by: Ievgen Sorokopud <[email protected]>
CoenWarmer pushed a commit to CoenWarmer/kibana that referenced this pull request Feb 15, 2024
…ew on the Rule Editing page (elastic#174026) (elastic#174922)

## Summary

Addresses elastic#174026

These changes fix the issue with filter editing on the rule's editing
page when using index patterns instead of data view.

**Steps to reproduce**:
1. Create a custom query rule and add a filter
2. Save the rule
3. Edit the rule
4. Edit the filter

**Current behaviour**:
Right now when user tries to edit the filter the data view picking UI
appears even though index patterns were not modified.

<img width="1261" alt="Screenshot 2024-01-16 at 15 14 23"
src="https://github.com/elastic/kibana/assets/2700761/b2d28b79-a7d8-482c-a2be-fa8e20cb9e25">

**Expected behaviour**:
Data view picking UI should not be present and previously set field and
value options should be shown in the filter editing dialog.

<img width="1252" alt="Screenshot 2024-01-16 at 15 16 07"
src="https://github.com/elastic/kibana/assets/2700761/bb99dd9f-aa6a-4003-b8c4-ccda344c4c5c">

**Cause**:
The behaviour for the filter editing on rule’s editing page changed in
`8.11` with these changes elastic#166318.
We convert `DataViewBase` object without ID set to a `DataView` object
with auto-generated ID. This happens each time we try to edit the rule
and leads to a different ID which is saved in `filter.meta.index`.
Unified search internally checks those IDs to verify whether the filter
belongs to provided data view.

**Solution**:
To solve this issue, we set the data view id explicitly on creating an
in-memory data view that represents index patterns and update
`filter.meta.index` to use the same ID.

~~**Known issue**:
This does not resolve the issue for existing filters. In this case, user
will need to update their filters manually.~~ (This was fixed by
updating `filter.meta.index` field on rule editing)

**Flaky test runner**
[ESS 50
times](https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/4927)
[Serverless 50
times](https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/4935)

---------

Co-authored-by: Kibana Machine <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backport:skip This commit does not require backporting release_note:skip Skip the PR/issue when compiling release notes review Team:Detection Engine Security Solution Detection Engine Area v8.11.0
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants