... | ... | @@ -93,7 +93,7 @@ complete the labs individually. |
|
|
|
|
|
Do a `git pull` to get the latest lab software. You should already have to
|
|
|
skeleton code for this lab in the `paxos` directory:
|
|
|
```sh
|
|
|
```
|
|
|
$ cd $GOPATH/src/paxos
|
|
|
$ go test
|
|
|
Single proposer: --- FAIL: TestBasic (5.02 seconds)
|
... | ... | @@ -113,7 +113,7 @@ First you'll implement a Paxos library. paxos.go contains descriptions of the |
|
|
methods you must implement. When you're done, you should pass all the tests in
|
|
|
the paxos directory (after ignoring Go's many complaints):
|
|
|
|
|
|
```sh
|
|
|
```
|
|
|
$ cd $GOPATH/src/paxos
|
|
|
$ go test
|
|
|
Test: Single proposer ...
|
... | ... | @@ -405,9 +405,9 @@ will either discover the previously agreed-to value, or cause agreement to |
|
|
happen. Think about what value would be reasonable to pass to `Start()` in this
|
|
|
situation.
|
|
|
|
|
|
**Hint:** When the test fails, check for gob error (e.g. `rpc: writing response:
|
|
|
gob: type not registered for interface ...`) in the log because go doesn't
|
|
|
consider the error fatal, although it is fatal for the lab.
|
|
|
**Hint:** When the test fails, check for gob error (e.g.
|
|
|
`rpc: writing response: gob: type not registered for interface ...`) in the log
|
|
|
because go doesn't consider the error fatal, although it is fatal for the lab.
|
|
|
|
|
|
**Hint:** part B should take around 200 lines of code.
|
|
|
|
... | ... | |