This Project includes the Lec record and Lab implementation for 6.824 Schedule: Spring 2020 .
The MIT 6.824 is a very amazing course, even after working for five years, a lot of content is still worth learning.
I change the project implementation to go 1.17 (the original project on the website is for go 1.13).
The directory of this repositories:
The Reading Records are in BookReading Project
lab link: http://nil.csail.mit.edu/6.824/2020/labs/lab-mr.html
change the test-mr.sh and file location to adapt to go1.17
run test:
cd project/src/test
./test-mr.sh
some out:
*** Starting wc test.
--- wc test: PASS
*** Starting indexer test.
--- indexer test: PASS
*** Starting map parallelism test.
--- map parallelism test: PASS
*** Starting reduce parallelism test.
--- reduce parallelism test: PASS
*** Starting crash test.
--- crash test: PASS
*** PASSED ALL TESTS
lab link: http://nil.csail.mit.edu/6.824/2020/labs/lab-raft.html
Output:
$ go test -run 2A
Test (2A): initial election ...
... Passed -- 3.1 3 56 6950 0
Test (2A): election after network failure ...
... Passed -- 4.4 3 120 9678 0
PASS
ok 6.824/raft 8.935s
OutPut:
$ go test -run 2B
Test (2B): basic agreement ...
... Passed -- 0.7 3 16 4210 3
Test (2B): RPC byte count ...
... Passed -- 1.5 3 48 113342 11
Test (2B): agreement despite follower disconnection ...
... Passed -- 4.2 3 102 24668 7
Test (2B): no agreement if too many followers disconnect ...
... Passed -- 3.5 5 206 42358 3
Test (2B): concurrent Start()s ...
... Passed -- 0.5 3 16 4440 6
Test (2B): rejoin of partitioned leader ...
... Passed -- 6.2 3 187 44623 4
Test (2B): leader backs up quickly over incorrect follower logs ...
... Passed -- 20.6 5 1768 416164 104
Test (2B): RPC counts aren't too high ...
... Passed -- 1.9 3 44 12616 12
PASS
ok 6.824/raft 39.378s