-
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
[RAC] [Rule Registry] Update old index mappings and index templates on change #108941
Comments
Pinging @elastic/security-detections-response (Team:Detections and Resp) |
Pinging @elastic/security-solution (Team: SecuritySolution) |
Summary of discussion with @weltenwort @banderror @marshallmainWe are going to implement the following changes to the bootstrapping logic:
|
Probably "Perform index rollover if needed or create an initial concrete index if needed" |
Pinging @elastic/logs-metrics-ui (Team:logs-metrics-ui) |
I adopted this issue for the work that the @elastic/logs-metrics-ui team is planning to do for 7.16.0. The description now represents the most recent plans and understanding. |
Thank you for the clear AC @weltenwort, looks great 👍 I have 2 points which I'd like to double-check:
|
@weltenwort is away on PTO for the next 2 weeks, so I'll do my best to fill in and answer questions.
At the very end of last week, in the interest of shipping something for 7.16, we decided to move forward with the additive only changes approach suggested by Brandon. (With the understanding we can still pivot to the "moderately aggressive rollover strategy" in the future, if needed). This would be simpler as we don't need to build the document downgrade / versioning mechanism yet. Whilst simultaneously providing more time for various parties to discuss the backwards compatibility story further, write RFCs etc. This ticket: #112329 remains unnecessary for now (but would be needed if we change direction moving forward). Based on this, it seems appropriate to remove the feature flag. And for now #110795 wouldn't be needed.
The part that would change (as I understand it) is that we would no longer rollover. If something goes wrong in applying the mapping updates then it is basically a catastrophic failure. We will retry in the case of something....random...going wrong (e.g. not a mapping conflict) but after that we would need to fail in such a way that we sufficiently log the issue, and make sure we don't break the overall alerting framework (e.g. executor runs etc). We still need to discuss this failure recovery more, and also how we can test for incompatible changes from developers (as in someone accidentally adds something non-additive). cc @jasonrhodes |
@Kerry350 Very well summary of what we have been discussing over last few days. One more thing I have in my notes is the |
If I remember correctly it was decided that switching from eager to lazy should be possible, but we didn't necessarily make a concrete decision on whether that would happen. I would say this will become more apparent with implementation. |
Thank you @Kerry350! @banderror / @xcrzx thanks so much for all of your help with wrangling all of this. I know we are still having some ongoing conversations about how to make this process work for everyone. We're going to start in on this implementation but with the understanding that things could still change, possibly. Thanks again for your patience. |
Re: eager vs lazy index initialization (#108941 (comment)) @XavierM and @stephmilovic are working on Timeline and are finding that it may be simpler to implement UI elements that interact with alerts as data indices if the indices are created earlier. It's more complicated from a UI perspective if the indices may not be created until the first alert is triggered, whereas if we know the indices will be created when the first rule runs we can simplify things. |
Hey everyone, I removed this ticket from the backlog of the Detection Rules area (@elastic/security-detections-response-rules), and added to the backlog of Detection Alerts area ( |
ℹ️ The description has been updated to reflect to most recent plans and understanding of the @elastic/logs-metrics-ui team.
📓 Summary
It might happen that index template configuration changes on the solutions side (e.g., added new component template):
Changes like these, currently, have no effect if the index has been previously initialized. After initialization, all the subsequent changes to the index template are ignored. We need to find a solution to updated index templates if changes happen.
part of #101016
supersedes #110945
✔️ Acceptance criteria
setup
phase:_meta
objectRuleDataClient
such that the initialization only happens once per namespacewriter.bulk
(or successor methods) doesn't perform any initialization operation anymore💡 Implementation hints
The text was updated successfully, but these errors were encountered: