async-import plugins in the server side#170856
Conversation
@opauloh, that's a great idea! I've created #171080 to tackle it since it looks to me like an effort on its own 😇 |
ymao1
left a comment
There was a problem hiding this comment.
Response Ops changes LGTM. Code review only
sabarasaba
left a comment
There was a problem hiding this comment.
deployment management changes lgtm!
stratoula
left a comment
There was a problem hiding this comment.
Thanx for your work here Alejandro! Visualizations team numerous plugins changes LGTM 😄
kc13greiner
left a comment
There was a problem hiding this comment.
Kb Security changes LGTM!
logeekal
left a comment
There was a problem hiding this comment.
Desk tested security solution and timelines. Both working well. LGTM 🚀
michaelolo24
left a comment
There was a problem hiding this comment.
Looks great, thanks @afharo !
PhilippeOberti
left a comment
There was a problem hiding this comment.
LGTM for Protections Experience team :)
💛 Build succeeded, but was flaky
Failed CI StepsMetrics [docs]Public APIs missing comments
History
To update your PR or re-run it, just comment with: cc @afharo |
Summary
When Kibana starts, it has to import the file
${plugin}/server/indexfor all the plugins in order to read theconfigvariable that it's exported from that file.Since the
indexfile for each plugin loads the./pluginfile, it's indirectly loading all the files of the plugin in one go. This essentially makes Kibana load all the server-side code from all the plugins, even when the plugins might be disabled. While it wasn't a big deal in the Classic offering (most plugins are enabled), on Serverless we are disabling a lot of plugins (and also adding a good amount of Serverless-specific plugins that shouldn't load on Classic).This PR changes all the
${plugin}/server/indexfiles to follow a pattern like:Checklist
Risk Matrix
unavailablestatus before it is actually serving any HTTP traffic. Commit 0404c34 fixed the FTR, but that means we might expect things to slightly change the order in which they occur when Kibana is starting. This should only affect automations that depend on specific log entries because Kibana won't reportavailableuntil all plugins are correctly setup.For maintainers