rusk icon indicating copy to clipboard operation
rusk copied to clipboard

node: Implement checkpoints for recovery procedures

Open goshawk-3 opened this issue 1 year ago • 3 comments

Summary

In scenarios similar to the one outlined in https://github.com/dusk-network/rusk/issues/1093, it is essential to have the ability to revert to either the "last epoch" or the most recent "valid" finalized state.

Possible solution design or implementation

Currently, we have a function called try_revert, that supports reversion to a single target - LastFinalized. However, this function can be expanded to enable reversion to additional historical checkpoints. Together with that, we have to either automatically detect&resolve any unrecoverable state or allow the reversion via CLI.

goshawk-3 avatar Oct 16 '23 09:10 goshawk-3

See also #970

herr-seppia avatar Feb 26 '24 09:02 herr-seppia

This should solve the persistence error popping up when improperly shutting down the node:

Error: PersistenceError(Custom { kind: InvalidData, error: "Invalid index file ""/opt/dusk/rusk/state/246607761c6c6a5b9791c08cbb38e1692eacee015b074864358e5c230f66d480/index"": context error: pointer out of bounds: base 0x7ffcbc0cad08 offset -68 not in range 0x5603bfdda080..0x5603bfdda0

autholykos avatar Mar 01 '24 09:03 autholykos

Depends on #1516

autholykos avatar Mar 19 '24 09:03 autholykos

Superseded by #1684

HDauven avatar Jun 28 '24 13:06 HDauven