-
Notifications
You must be signed in to change notification settings - Fork 8.3k
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
[Ingest Manager] Enable ingest manager plugin by default. #70955
[Ingest Manager] Enable ingest manager plugin by default. #70955
Conversation
Pinging @elastic/ingest-management (Team:Ingest Management) |
74757fc
to
97c5c44
Compare
Never mind 🤦♂️
|
@nchaulet can we wait on monday to merge this? |
Yes tests are still not passing |
@elasticmachine merge upstream |
Hi, sorry for hijacking this PR. I was wondering if we can consider doing #68658 as part of this PR too as it's also related to our config? |
@jen-huang Yes I will remove it 👍 |
@nchaulet I thought about the |
); | ||
|
||
if (permissionsResponse?.success) { | ||
successPromise = core.http |
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.
Moving from eager/guaranteed to lazy/optional is an important change and we should be on the watch for effects elsewhere.
Until now all the various services could be sure that the plugin setup had at least been started, if not completed, before the other services are used. This meant that some may rely on implied side-effects (default packages, templates, etc) or even race conditions instead of defining those dependencies.
When/if we find them we can add code which uses the global promise or more fine-grained checks, but I don't think we know where those changes will happen right now.
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.
Right now I think the only two consumer of this are the ingest manager plugin and endpoint plugin, it should work ( @elastic/endpoint-management could you confirm it's working for you as expected? ).
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.
It's not just about changing the shape returned from start. We are significantly changing the behavior. We cannot know for sure what services depend on setup having been called already, but we do know for sure that it was previously guaranteed to be and now it is not.
It not a deal breaker, but it also not insignificant not easily known (e.g statically analyzable)
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.
I agree the change is significant. But also consumer of ingest manager should probably use isInitialized
to know if the plugin is correctly initialized, this will allow to statically know every consumers.
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
Thanks for making the changes in endpoint.
I'm still wondering if we (endpoint) should explicitly call isInitialized()
from both the UI and from our Functional tests - just to be safe.
From a UI standpoint, that would raise some UX questions as to how errors should be handled (personally, think a toast notification is not enough), but we can think more about this perhaps for 7.10
Also,
I wish this (initialization) could have been handled via the Plugin's API layer - example: by having some middleware (not sure platform supports it) that would detect that initialization was needed, and it would then be done prior to serving any API request.
I think it will be a good improvements and it will make the contract between the two plugins more explicit |
💚 Build SucceededBuild metrics
History
To update your PR or re-run it, just comment with: |
Summary
Resolve #70442
Enable ingest manager plugin by default.
Todo