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

Inspect SafeEthClient for concurrency issues #174

Closed
emlautarom1 opened this issue May 22, 2024 · 2 comments
Closed

Inspect SafeEthClient for concurrency issues #174

emlautarom1 opened this issue May 22, 2024 · 2 comments
Assignees

Comments

@emlautarom1
Copy link
Contributor

We already found a couple of issues related to the SafeEthClient (see #172, #173) but there is a high chance that there are more lurking around.

We would like to revisit the code in the following package: https://github.com/NethermindEth/near-sffl/blob/8d1dc75c45cdfc9ea26169f2bd1816a597582e1f/core/safeclient/client.go

@emlautarom1 emlautarom1 self-assigned this May 22, 2024
@Hyodar
Copy link
Contributor

Hyodar commented May 23, 2024

I think this is still relevant. Still, since this is probably the best place to keep this discussion, I feel like my concern on concurrency may not have been well-founded in that case. Basically, the context is these downtime issues happened close to the operators updates in kind of a random way. At this point, we're kind of in the mercy of the RPCs, so not being sure about that is problematic. Still, for quite some time already things have been fine - only a short downtime in one operator and an operator that did stop tracking blocks at a point is actually running the previous version, which did exactly that (no re-sub). The relayer, which is now using the safe client as well, has also been running fine.

@Hyodar
Copy link
Contributor

Hyodar commented May 23, 2024

My proposal for now is to keep an eye on the metrics (both #176 and #177 are improvements to that) and also merge #175 so we have something easier to work with. The previous reinitialization design makes things a lot harder than they need to be in an unnecessary way - what we really only needed there was resubscribing from time to time and that's it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants