-
-
Notifications
You must be signed in to change notification settings - Fork 291
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
feat: support el_offline in eth/v1/node/syncing #5723
Conversation
Performance Report✔️ no performance regression detected Full benchmark results
|
packages/beacon-node/test/e2e/api/impl/beacon/node/endpoints.test.ts
Outdated
Show resolved
Hide resolved
packages/beacon-node/test/e2e/api/impl/beacon/node/endpoints.test.ts
Outdated
Show resolved
Hide resolved
packages/beacon-node/test/e2e/api/impl/beacon/node/endpoints.test.ts
Outdated
Show resolved
Hide resolved
const currentSlot = this.chain.clock.currentSlot; | ||
const elOffline = await this.chain.executionEngine.isOffline(); |
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.
We should deeply review the implications of adding this call here, sync is delicate. Also, what's somewhat concerning is that this is a different code path than other executionEngine consumers. It's possible that:
- block processing attempts to call executionEngine and errors because it's offline
- this getSyncStatus calls eth_chainId and succeeds, considering el online
How to resolve this inconsistency? It can happen both ways
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.
@dapplion I explicitly checked for eth_chainId
for ECONNREFUSED
which can happen only if server is offline, not in case server respond error.
As far I knew it's the same executionEngine
used by the block processing. If there is a some error say 500 or 400 range that's concerns to block processing, it still means that server is online.
10abb6d
to
be55c9b
Compare
2476571
to
1181f64
Compare
I would like to simplfy the implementation :
So for 1. would like track on level of httpClient |
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
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.
post merge review LGTM 👍
🎉 This PR is included in v1.10.0 🎉 |
Motivation
Add support for the status of execution engine in syncing status endpoint.
Description
Closes #5542
Steps to test or reproduce