-
Notifications
You must be signed in to change notification settings - Fork 212
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
fix(engine api): [3/3] Engine API retryWithTimeout #2490
base: main
Are you sure you want to change the base?
Conversation
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #2490 +/- ##
==========================================
- Coverage 32.77% 32.65% -0.12%
==========================================
Files 351 351
Lines 15857 15915 +58
Branches 20 20
==========================================
Hits 5197 5197
- Misses 10276 10334 +58
Partials 384 384
|
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.
@shotes I checked out this branch (to check whether it resolved some syncing issue I had locally) and I observed that now beacond hangs when it receives SIGTERM if its currently inside a retry. It requires to either wait up to 5 minutes or send it a SIGKILL to exit. This behavior was not in deposit-sync-force-startup-fcu
branch.
EDIT: I think the main reason is that the context passed to NotifyForkchoiceUpdate
is not properly cancelled. Let me know if you want me to take a look at that, I can push a separate PR on top of this one, should have time this weekend.
69d43da
to
a9ed636
Compare
0646b8d
to
5b3050b
Compare
@fridrik01 I am seeing this issue as well, having to specifically kill the process each time I restart. Just pushed up changes that uses a different lib, still seeing the same issue. Investigating now - feel free to test and push any fixes. |
@shotes I pushed #2496 which addresses hanging on SIGTERM, however it unwraps an issue it seems in cometbft where it panics on a cancelled context. Need to figure out what is going on there, maybe cometbft does not support ctx cancellation |
5e45224
to
4687f00
Compare
This PR introduces retries to
engine_newPayload
andengine_forkchoiceUpdated
calls.Additionally, remove one of the return values from
NotifyForkchoiceUpdate
that was never used.This PR introduces a third party go port of google-http-client ExponentialBackOff.java. I have read through all of the code that the third party package implements. Please verify that package as well.