CheckConnectionState: option to consider node as not synced if el_offline is true - #192
CheckConnectionState: option to consider node as not synced if el_offline is true#192nkryuchkov wants to merge 13 commits into
Conversation
|
Linter and tests seem to fail due to the same reasons as in #191 |
|
Which beacon node(s) exhibit this behavior? And is this an issue with the beacon node not supplying duties, or is it that the multi client fails to recognize that the beacon node is not supplying duties? |
|
@mcdee Sorry for the delay. We at @ssvlabs tested this solution for a while and noticed cases when the Prysm node had been mistakenly considered unhealthy because I removed the Prysm workaround, but unfortunately, OffchainLabs/prysm#14226 hasn't been fixed yet, so this PR wouldn't work for Prysm
I tested it with Prysm, Lighthouse, Teku, Nimbus. All clients except Prysm set
The multi-client fails to recognize that the beacon node is not supplying duties (the beacon node sets |
Closes #171
Depends on OffchainLabs/prysm#14226
The
multiclient doesn't switch clients if the current client's EL goes offline until the client setsis_syncingtotrue. It causes duty misses.The PR adds a
WithELConnectionCheckparameter to bothhttpandmulti, which makes the client consider a node as synced only ifel_offlineisfalseIt seems to work with Teku, Lighthouse, Nimbus correctly. It doesn't work with Prysm because of OffchainLabs/prysm#14226, its implementation of
el_offlineis incorrect