Closed
Description
Summary
Add a flag simd start --grpc-only
which would not run a node, but only the grpc server.
Problem Definition
Serving historical state is complicated after an upgrade. The current preferred solution, discussed in #9740, is a proxy server which sits in front of 2 nodes:
- one stuck at the upgrade height, for serving queries prior to the upgrade
- one keeping up with the tip, serving queries after the upgrade
Currently, it's hard to run the 1st node, because we hardcode a panic at the upgrade height.
Proposal
Add a CLI --grpc-only
flag on start
command to run the grpc server only. This means that it will not run the node (no Tendermint, no baseapp), just simply start the gRPC server with direct access to the store. We might need to craft a nice sdk.Context
to be passed into the gRPC query handlers.
With this proposal, the process would be:
- run the old binary, wait til panic on upgrade height
- run the new binary
- run the old binary again, with
--grpc-only
Cosmovisor can help smoothen the process.
For Admin Use
- Not duplicate issue
- Appropriate labels applied
- Appropriate contributors tagged
- Contributor assigned/self-assigned