Skip to content

Restart app #243

@ebuchman

Description

@ebuchman

It would be nice to recover from an app restart without having to restart tendermint - p2p reactors not dependent on the app could thus keep running. Implementing this requires changes in tmsp, consensus, and mempool:

  • tmsp client:
    • when a request fails, flush the queue, close the connection, and drop back into the connect loop to attempt reconnect
    • expose a channel to alert consumer when we have reconnected
  • consensus:
    • when execBlock fails due to TMSP request failure, stop the consensus state
    • wait for the reconnection and restart consensus state
  • mempool:

If we can only stop the consensus state and mempool (and not the reactors) then we don't have to worry about re-adding peers (eg. looping over Switch.Peers and running AddPeer). However, some peer messages wont be able to be processed and may queue up.

Related

Metadata

Metadata

Assignees

Labels

C:abciComponent: Application Blockchain InterfaceC:mempoolComponent: Mempool

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions