vegaprotocol / vega

A Go implementation of the Vega Protocol, a protocol for creating and trading derivatives on a fully decentralised network.
https://vega.xyz
GNU Affero General Public License v3.0
37 stars 22 forks source link

Understand the work required for snapshotting and break into tickets #4047

Closed gordsport closed 3 years ago

gordsport commented 3 years ago

As part of the Sweeterwater 💦 planning cycle we need snapshotting functionality to restore state from known snapshot without replaying full chain and allow new nodes to catch up quickly.

This ticket is for the core team to understand and find a technical solution for this that can be broken into tickets and implemented via the usual core team process

The tasks to complete this refinement are likely to look something like this (but feel free to amend to suit):

To include:

gordsport commented 3 years ago

@vega-paul @cpuja84 the broken out tickets for you to review on this are: Implement the tendermint side of the snapshot handling in the core Implement the per engine snapshot creation and initialisation system Measure the impact of generating a snapshot so we have a baseline idea of how long it takes Create reference doc for snapshot feature

Once done and no other tickets are required this can be moved to done so work can be tracked in the child tickets