Several points about persistence/durability in these challenges have been unclear from the website:
- It’s unclear if Jepsen’s Maelstrom tests for process crashes, or should people assume processes will stay up and therefore use in-memory data structures only.
In https://pkg.go.dev/github.com/jepsen-io/maelstrom/demo/go, I see many KV stores like LWWKV LinKV and not sure what to do with them? (comes back to point 1) I made it only until challenge#3b so far so maybe it’s useful for the rest.
- Should folks think about implementing WALs etc for these exercises? (this also comes back to point 1)
I got my answer to #2 from the blog post.