-
Notifications
You must be signed in to change notification settings - Fork 24
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Add network connectivity to health-checks #644
Conversation
…k package directly
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.
Left a few nits, but overall this LGTM. I like the separation between network and listener health checks.
@@ -139,7 +139,11 @@ func main() { | |||
metricsInstance, | |||
signatureAggregator, | |||
) | |||
healthcheck.HandleHealthCheckRequest() | |||
|
|||
healthCheckSubnets := cfg.GetTrackedSubnets().List() |
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.
[Not for this PR] A neat extension would be to add newly requested L1's to healthCheckSubnets
, and perhaps evict them after some duration.
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.
Thanks for bringing this up! This is a neat idea but I don't like that this would make it possible to force public facing signature-aggregator instances into unhealthy states by requesting signatures from valid subnets with unreachable nodes.
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.
Fair point. Adding an L1 to healthCheckSubnets
only after an aggregate signature has successfully been constructed may be a fair compromise. It would be nice to support health checks for high traffic L1's that are not included in the config. Either way, we can defer to a future issue.
Co-authored-by: cam-schultz <78878559+cam-schultz@users.noreply.github.com> Signed-off-by: Ian Suvak <ian.suvak@avalabs.org>
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.
Just have a clarification question about connected validators.
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. Just one nit
Why this should be merged
Closes #447
Partially addresses #619
How this works
TrackSubnet()
call from previously calledConnectToCanonicalValidators
. This was the only thing actually initializing connections and it was asynchronous and the return of that function was primarily concerned with checking the current status of the validator set and connections to themConnectToCanonicalValidators
was always returning as connected to all validators without checking the actual network state of completing handshakesHow this was tested
GetConnectedCanonicalValidators
How is this documented
Comments