This project is an excerpt from the Distributed Systems Course at USC. It represents my individual effort and may contain imperfections or bugs.
This project develops a fault-tolerant key/value store service using primary/backup replication, supported by a view service for server role management. The system ensures consistent operation even with network partitions, maintaining a primary server and a backup for reliability. The project includes implementing RPCs, ensuring server role transitions, and managing data replication between primary and backup servers, aiming to address fault tolerance in distributed systems.
To test the script, use the following commands in the project directory:
go test
For specific functions in the test file:
go test -run FUNCTION_NAME
To repeat a test:
go test -run FUNCTION_NAME -count NUM_TIMES
To filter warnings:
go test | egrep -v "keyword1|keyword2|keyword3"