-
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
Search Sessions Stabilization Stage I #134983
Conversation
@elasticmachine merge upstream |
@elasticmachine merge upstream |
@elasticmachine merge upstream |
@elasticmachine merge upstream |
@elasticmachine merge upstream |
…-stabilization-stage-1
@elasticmachine merge upstream |
@elasticmachine merge upstream |
@elasticmachine merge upstream |
@elasticmachine merge upstream |
Pinging @elastic/kibana-app-services (Team:AppServicesSv) |
@elasticmachine merge upstream |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Kibana Platform Security changes LGTM 👍
@elasticmachine merge upstream |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Response Ops changes LGTM. Saw the tasks get marked as "unrecognized".
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Functional test changes LGTM! Code review only.
@elasticmachine merge upstream |
I checked the timelion integration and just making sure I'm getting this correctly - if the session is saved, then a new request is kicked off so the timelion server can store it, but as long as the user stays on the dashboard, it's still "waiting" for the original request which isn't cancelled, right? If that's the case, then LGTM |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm
@elasticmachine merge upstream |
Right. This is expected. |
💚 Build Succeeded
Metrics [docs]Module Count
Public APIs missing comments
Async chunks
Public APIs missing exports
Page load bundle
Saved Objects .kibana field count
Unknown metric groupsAPI count
ESLint disabled line counts
Total ESLint disabled count
History
To update your PR or re-run it, just comment with: |
Changes search service/search session infrastructure to improve performance, stability, and resiliency by ensuring that search sessions don’t add additional load on a cluster when the feature is not used
Changes search service/search session infrastructure to improve performance, stability, and resiliency by ensuring that search sessions don’t add additional load on a cluster when the feature is not used
Summary
Close #139349
This pr changes search service/search session infrastructure to improve performance, stability, and resiliency by ensuring that search sessions don’t add additional load on a cluster when the feature is not used
Details on motivation and implementation details in the RFC
Comparison of old vs. new implementation. More details in the RFC
Advantages of the new implementation:
Performace benchmark
The trend will be more visible in nightly performance tests after we merge, but I run
kibana-load-test
dashboard scenario a couple of times and I believe the difference is more then just a margin of error:In this scenario, the branch performs better because there are no search-session monitoring tasks and no redundant search-session saved object creations and updates.
Minor user-facing changes:
Nice to have follows-ups (Out of scope):
Progress tracking
isSearchStored
param instead of server-sidecheckId
#135036IsRestore / IsStored / isStore are confusing. Make them clearer consider splitting what is session related and what is search related.out of scope of this pr. Create a separate issueCan simplify updateOrCreate logic server-side because now we create and update separately.out of scope of this pr. Create a separate issueTesting Scenarios
Some advanced scenarios I've went through and to give you an idea what to look for:
Testing tips
Get search sessions in dev tools
Check async search status
Look at
idMapping
object in search session attributes. Values would haveid
which is async_search_id from elasticsearch.Use
status
API to check search's expiration_time and completion status:Checklist
Delete any items that are not applicable to this PR.
Risk Matrix
Delete this section if it is not applicable to this PR.
Before closing this PR, invite QA, stakeholders, and other developers to identify risks that should be tested prior to the change/feature release.
When forming the risk matrix, consider some of the following examples and how they may potentially impact the change:
For maintainers