informalsystems / informalsystems/emerald

[feat] Crash recovery

Open
#14 0 comments 0 reactions 1 assignee Claimed by @jmalicevic View on GitHub
enhancement protocol design
Dominant language
Rust
Stars
25
Forks
9
PR merge metrics
No merged PRs in 30d

Description

Malachite supports crash recovery for Malachite nodes via the WAL.

We need to understand:
- How does Reth behave on a crash?

Furthermore, as malachite and Reth are different components, what happens when either one of them crashes?

Currently there is an initial handshake in `ConsensusStarted` in the malaketh app.
- @kirdatatjana says that the handshake is not following the Reth specs.
- Even if it does we need to understand what state we need to keep in maleketh (if any) to support crashes in the two layers.

In principle Reth will not move on w/o consensus. But what happens when consensus crashes in the middle of `decide` when sending functions to Reth etc. ?

**DoD**

The biggest question to answer is whether the intermediary layer needs a WAL as well?
Furthermore:
- [ ] A diagram of the crash recovery process for malaketh layered
- [ ] Proper handshake between consensus and Reth
- [ ] If needed, documentation and implementation of changes to the middle layer to support proper crash recovery

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.