- Lab1 MapReduce
- Lab2 Raft
- Part A: Raft leader election and heartbeats
- Part B: Append new log entries
- Part C: Persistent state for Reboot
- Lab3 Fault-tolerant Key/Value Service
- Part A: Key/value service without log compaction
- Part B: Key/value service with log compaction (Snapshot)
- Lab4 Sharded Key/Value Service
- Part A: Shard Master (Config Server)
- Part B: Sharded Key/Value Server
- Challenge I: Garbage collection of state
- Challenge II: Client requests during configuration changes
GO111MODULE=off
go version go1.14.3 darwin/amd64
-
Good
Lab 1-4 tested for 1000 times without any error.
-
Bad
Current implementation of Raft did not implement no-op entry, which may be a potential problem.