gitextract_2klmrfgy/ ├── .circleci/ │ └── config.yml ├── .github/ │ ├── ISSUE_TEMPLATE/ │ │ ├── bug-report.md │ │ ├── feature-requirement.md │ │ └── question.md │ └── pull_request_template.md ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── README.md ├── courses/ │ ├── README.md │ ├── dss/ │ │ ├── .gitignore │ │ ├── Cargo.toml │ │ ├── Makefile │ │ ├── README.md │ │ ├── labcodec/ │ │ │ ├── Cargo.toml │ │ │ ├── build.rs │ │ │ ├── demonstration/ │ │ │ │ ├── README.md │ │ │ │ └── expanded_fixture.rs │ │ │ ├── proto/ │ │ │ │ └── fixture.proto │ │ │ └── src/ │ │ │ └── lib.rs │ │ ├── labrpc/ │ │ │ ├── Cargo.toml │ │ │ ├── benches/ │ │ │ │ └── rpc.rs │ │ │ ├── examples/ │ │ │ │ └── echo.rs │ │ │ └── src/ │ │ │ ├── client.rs │ │ │ ├── error.rs │ │ │ ├── lib.rs │ │ │ ├── macros.rs │ │ │ ├── network.rs │ │ │ └── server.rs │ │ ├── linearizability/ │ │ │ ├── Cargo.toml │ │ │ ├── src/ │ │ │ │ ├── bitset.rs │ │ │ │ ├── lib.rs │ │ │ │ ├── model.rs │ │ │ │ └── models.rs │ │ │ └── test_data/ │ │ │ ├── c01-bad.txt │ │ │ ├── c01-ok.txt │ │ │ ├── c10-bad.txt │ │ │ ├── c10-ok.txt │ │ │ ├── c50-bad.txt │ │ │ └── c50-ok.txt │ │ ├── percolator/ │ │ │ ├── Cargo.toml │ │ │ ├── README.md │ │ │ ├── build.rs │ │ │ ├── proto/ │ │ │ │ └── msg.proto │ │ │ └── src/ │ │ │ ├── client.rs │ │ │ ├── lib.rs │ │ │ ├── server.rs │ │ │ ├── service.rs │ │ │ └── tests.rs │ │ └── raft/ │ │ ├── Cargo.toml │ │ ├── README.md │ │ ├── build.rs │ │ └── src/ │ │ ├── kvraft/ │ │ │ ├── client.rs │ │ │ ├── config.rs │ │ │ ├── errors.rs │ │ │ ├── mod.rs │ │ │ ├── server.rs │ │ │ └── tests.rs │ │ ├── lib.rs │ │ ├── proto/ │ │ │ ├── kvraft.proto │ │ │ ├── mod.rs │ │ │ └── raft.proto │ │ └── raft/ │ │ ├── config.rs │ │ ├── errors.rs │ │ ├── mod.rs │ │ ├── persister.rs │ │ └── tests.rs │ ├── rust/ │ │ ├── .gitignore │ │ ├── CONTRIBUTING.md │ │ ├── README.md │ │ ├── building-blocks/ │ │ │ ├── bb-1.md │ │ │ ├── bb-2.md │ │ │ ├── bb-3.md │ │ │ ├── bb-4.md │ │ │ └── bb-5.md │ │ ├── docs/ │ │ │ ├── etc/ │ │ │ │ ├── notes.md │ │ │ │ └── parallel-diagrams.txt │ │ │ ├── lesson-plan.md │ │ │ ├── prerequisites.md │ │ │ ├── roadmap.md │ │ │ └── what-next.md │ │ └── projects/ │ │ ├── project-1/ │ │ │ ├── Cargo.toml │ │ │ ├── README.md │ │ │ ├── src/ │ │ │ │ ├── bin/ │ │ │ │ │ └── kvs.rs │ │ │ │ ├── kv.rs │ │ │ │ └── lib.rs │ │ │ └── tests/ │ │ │ └── tests.rs │ │ ├── project-2/ │ │ │ ├── Cargo.toml │ │ │ ├── README.md │ │ │ ├── src/ │ │ │ │ ├── bin/ │ │ │ │ │ └── kvs.rs │ │ │ │ ├── error.rs │ │ │ │ ├── kv.rs │ │ │ │ └── lib.rs │ │ │ └── tests/ │ │ │ └── tests.rs │ │ ├── project-3/ │ │ │ ├── Cargo.toml │ │ │ ├── README.md │ │ │ ├── benches/ │ │ │ │ └── engine_bench.rs │ │ │ ├── src/ │ │ │ │ ├── bin/ │ │ │ │ │ ├── kvs-client.rs │ │ │ │ │ └── kvs-server.rs │ │ │ │ ├── client.rs │ │ │ │ ├── common.rs │ │ │ │ ├── engines/ │ │ │ │ │ ├── kvs.rs │ │ │ │ │ ├── mod.rs │ │ │ │ │ └── sled.rs │ │ │ │ ├── error.rs │ │ │ │ ├── lib.rs │ │ │ │ └── server.rs │ │ │ └── tests/ │ │ │ ├── cli.rs │ │ │ └── kv_store.rs │ │ ├── project-4/ │ │ │ ├── Cargo.toml │ │ │ ├── README.md │ │ │ ├── src/ │ │ │ │ ├── bin/ │ │ │ │ │ ├── kvs-client.rs │ │ │ │ │ └── kvs-server.rs │ │ │ │ ├── client.rs │ │ │ │ ├── common.rs │ │ │ │ ├── engines/ │ │ │ │ │ ├── kvs.rs │ │ │ │ │ ├── mod.rs │ │ │ │ │ └── sled.rs │ │ │ │ ├── error.rs │ │ │ │ ├── lib.rs │ │ │ │ ├── server.rs │ │ │ │ └── thread_pool/ │ │ │ │ ├── mod.rs │ │ │ │ ├── naive.rs │ │ │ │ ├── rayon.rs │ │ │ │ └── shared_queue.rs │ │ │ └── tests/ │ │ │ ├── cli.rs │ │ │ ├── kv_store.rs │ │ │ └── thread_pool.rs │ │ └── project-5/ │ │ ├── Cargo.toml │ │ ├── README.md │ │ ├── src/ │ │ │ ├── bin/ │ │ │ │ ├── kvs-client.rs │ │ │ │ └── kvs-server.rs │ │ │ ├── client.rs │ │ │ ├── common.rs │ │ │ ├── engines/ │ │ │ │ ├── kvs.rs │ │ │ │ ├── mod.rs │ │ │ │ └── sled.rs │ │ │ ├── error.rs │ │ │ ├── lib.rs │ │ │ ├── server.rs │ │ │ └── thread_pool/ │ │ │ ├── mod.rs │ │ │ ├── naive.rs │ │ │ ├── rayon.rs │ │ │ └── shared_queue.rs │ │ └── tests/ │ │ ├── cli.rs │ │ ├── kv_store.rs │ │ └── thread_pool.rs │ ├── tp101-intro-to-oss.md │ ├── tp102-how-to-use-git-github.md │ └── tp103-open-source-community.md ├── talent-challenge-program/ │ ├── MENTEE_APPLY_TEMPLATE.md │ ├── PROJECT_IDEA_TEMPLATE.md │ ├── README.md │ ├── project-ideas.md │ ├── s1.md │ └── selected-projects.md ├── talent-challenge-program2021/ │ ├── MENTEE_APPLY_TEMPLATE.md │ ├── PROJECT_IDEA_TEMPLATE.md │ ├── README.md │ ├── project-ideas.md │ ├── schedule.md │ └── selected-projects.md ├── talent-plan-1.0/ │ ├── 1.0-lp-tidb.md │ ├── 1.0-lp-tikv.md │ └── README-CN.md └── tidb/ ├── .gitignore ├── README.md ├── join/ │ ├── Makefile │ ├── README.md │ ├── benchmark_test.go │ ├── go.mod │ ├── go.sum │ ├── join.go │ ├── join_example.go │ ├── join_test.go │ └── t/ │ ├── r0.tbl │ ├── r1.tbl │ └── r2.tbl ├── mapreduce/ │ ├── .gitignore │ ├── Makefile │ ├── README.md │ ├── casegen.go │ ├── go.mod │ ├── go.sum │ ├── mapreduce.go │ ├── urltop10.go │ ├── urltop10_example.go │ ├── urltop10_test.go │ └── utils.go └── mergesort/ ├── Makefile ├── README.md ├── bench_test.go ├── go.mod ├── go.sum ├── mergesort.go └── mergesort_test.go