-
Notifications
You must be signed in to change notification settings - Fork 3.7k
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
[rosetta]: remove the option to run rosetta in process #10776
Comments
I think for this having a standalone |
Why not just have Rosetta to wait until the node is ready, maybe via some signaling mechanism, prior to having it try and connect? |
on that case, which endpoint/rpc could I use to actually know that the node is ready ? I'm currently using the rpc for Also, I've seen several issues related to this one, what if we remove rosetta from here and if anyone wants to run rosetta would just need to run the proper cli command ? |
First, what we must do is define what exactly the term "ready" means, then we can define the signaling/checking mechanism. So what does "ready" mean? A block being produced? |
I guess, from a rosetta server POV, we could divide the 'readiness' status into two stages:
(*) there are cases, for example this issue where rosetta will just fails exhausting all retries because the func |
So what I would do is have Rosetta wait for a signal that states the node's RPC server has started and that |
### Description Closes: #13083 #11402 #10678 #12358 #10776 #12934 ### Author Checklist *All items are required. Please add a note to the item if the item is not applicable and please add links to any relevant follow up issues.* I have... - [x] included the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title - [x] added `!` to the type prefix if API or client breaking change - [x] targeted the correct branch (see [PR Targeting](https://github.com/cosmos/cosmos-sdk/blob/main/CONTRIBUTING.md#pr-targeting)) - [x] provided a link to the relevant issue or specification - [x] followed the guidelines for [building modules](https://github.com/cosmos/cosmos-sdk/blob/main/docs/building-modules) - [x] included the necessary unit and integration [tests](https://github.com/cosmos/cosmos-sdk/blob/main/CONTRIBUTING.md#testing) - [x] added a changelog entry to `CHANGELOG.md` - [x] included comments for [documenting Go code](https://blog.golang.org/godoc) - [x] updated the relevant documentation or specification - [x] reviewed "Files changed" and left comments if necessary - [ ] confirmed all CI checks have passed ### Reviewers Checklist *All items are required. Please add a note if the item is not applicable and please add your handle next to the items reviewed if you only reviewed selected items.* I have... - [ ] confirmed the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title - [ ] confirmed `!` in the type prefix if API or client breaking change - [ ] confirmed all author checklist items have been addressed - [ ] reviewed state machine logic - [ ] reviewed API design and naming - [ ] reviewed documentation is accurate - [ ] reviewed tests and test coverage - [ ] manually tested (if applicable)
In the SDK we allow to run rosetta in process but we frequently get reports from people who have problems starting their node because rosetta is failing.
The reason for which this happens is because rosetta is attempting to connect to the node which is not ready yet, then after an X number of retries rosetta will fail, causing the node Start process to fail too (NOTE: rosetta will stop a node only at startup, not whilst it is running). This could be avoided by setting higher retries attempts, or higher wait time between attempts.
Despite this, we should disallow users from using rosetta in-process and run it as a standalone process instead. This until we get proper node readiness checks in the sdk.
The text was updated successfully, but these errors were encountered: