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

retry with other rpcAddrs in event of RPC failure #45

Open
turadg opened this issue Sep 12, 2023 · 0 comments
Open

retry with other rpcAddrs in event of RPC failure #45

turadg opened this issue Sep 12, 2023 · 0 comments
Labels
enhancement New feature or request

Comments

@turadg
Copy link
Member

turadg commented Sep 12, 2023

What is the Problem Being Solved?

https://main.agoric.net/network-config lists multiple rpcAddrs. Currently most dapps take the first (such as agoric-cli does) or a random one (such as wallet-app does).

When an RPC server is down or impaired (such as in Agoric/dapp-inter#199 ), there's no way for the app to detect or recover.

Description of the Design

Provide a facility in ui-kit to abstract network-config for UIs.

Provide a way for the client to request a different rpcAddr than the last request. (Maybe the client keeps track of which it tried and can ask for "other than these" or maybe the ui-kit keeps track and client can say "different than I've had yet during this session")

Some examples or abstractions for RPC retrying using a different rpcAddr.

Security Considerations

The network-config list is powerful.

Scaling Considerations

The failures may be due to rate limiting so failures shouldn't be treated as bad server.
The client shouldn't hose the servers round-robin. Something low level could ensure a limit in request rate.

Test Plan

TBD

@turadg turadg added the enhancement New feature or request label Sep 12, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant