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

[Fleet] Fleet server migrations should not block the start lifecycle #89251

Closed
kobelb opened this issue Jan 25, 2021 · 3 comments
Closed

[Fleet] Fleet server migrations should not block the start lifecycle #89251

kobelb opened this issue Jan 25, 2021 · 3 comments
Labels
Feature:Fleet Fleet team's agent central management project Team:Fleet Team label for Observability Data Collection Fleet team technical debt Improvement of the software architecture and operational architecture

Comments

@kobelb
Copy link
Contributor

kobelb commented Jan 25, 2021

The fleet server migrations should not block the start lifecycle:

await runFleetServerMigration();

The long-term goal is to remove the ability to have asynchronous setup/start/stop lifecycle methods entirely. Currently, plugins have 30 seconds to perform their start lifecycle, and if it takes longer than 30 seconds, Kibana will crash and fail to start. Given the nature of the migrations, and that Elasticsearch might be under heavy load during startup, we're in serious risk of exceeding the 30-second window.

I'd recommend starting the fleet server migrations in the start lifecycle, and passing the unresolved Promise to the services that should wait for the fleet server migrations to complete before proceeding. This allows the rest of Kibana to start-up and not be blocked while fleet specific migrations are performed.

@kobelb kobelb added bug Fixes for quality problems that affect the customer experience Feature:Fleet Fleet team's agent central management project Team:Fleet Team label for Observability Data Collection Fleet team labels Jan 25, 2021
@elasticmachine
Copy link
Contributor

Pinging @elastic/ingest-management (Team:Ingest Management)

@elasticmachine
Copy link
Contributor

Pinging @elastic/fleet (Feature:Fleet)

@jen-huang jen-huang added technical debt Improvement of the software architecture and operational architecture and removed bug Fixes for quality problems that affect the customer experience labels Apr 26, 2021
@jen-huang
Copy link
Contributor

This was fixed by #95481:

const fleetServerSetup = startFleetServerSetup();

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Feature:Fleet Fleet team's agent central management project Team:Fleet Team label for Observability Data Collection Fleet team technical debt Improvement of the software architecture and operational architecture
Projects
None yet
Development

No branches or pull requests

3 participants