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

composer: propagate component startup errors #1833

Open
ethanoroshiba opened this issue Nov 22, 2024 · 0 comments · May be fixed by #1838
Open

composer: propagate component startup errors #1833

ethanoroshiba opened this issue Nov 22, 2024 · 0 comments · May be fixed by #1838
Labels
code-quality composer pertaining to composer

Comments

@ethanoroshiba
Copy link
Contributor

ethanoroshiba commented Nov 22, 2024

Currently, the Composer run_until_stopped() method has two loops which wait on executor and the collectors to be ready before continuing. These checks do a fine job at exiting early if these components fail during startup, but do not propagate the errors which caused the failure. For example, if the chain ID check fails, the following error chain is propagated, not including executor source error chain:

executor failed to become ready
executor failed while waiting for it to become ready
channel closed

We should find a way to propagate these startup errors such that they will end up in the error chain in the composer JoinHandle.

Relevant Code:

// wait for collectors and executor to come online
wait_for_collectors(&geth_collector_statuses, &mut composer_status_sender)
.await
.wrap_err("geth collectors failed to become ready")?;
wait_for_executor(executor_status, &mut composer_status_sender)
.await
.wrap_err("executor failed to become ready")?;

┆Issue Number: ENG-1026

@ethanoroshiba ethanoroshiba added composer pertaining to composer code-quality labels Nov 22, 2024
@ethanoroshiba ethanoroshiba linked a pull request Nov 26, 2024 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
code-quality composer pertaining to composer
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant