author: tison
Introduction
There are more and more contributors asking for a guide about how to participant in TiKV development activities.
In order to participant in TiKV development activities, a contributor is supposed to know the following topics:
- How to set up a development environment.
- How to follow the development process.
- Architecture, design, and implementation of the project.
Contributors using TiKV in production may also want to know about the project’s management especially how it releases.
Layout
TiKV is released simultaneously with TiDB, and TiDB already has its development guide containing a project management chapter. I propose setting up a reference from TiKV Development Guide to this chapter and that is enough.
Below describe the details about the rest three topics.
Get Started
This chapter answers the question “How to set up a development environment”.
- Build TiKV from Source
- Import TiKV into an IDE
- Write and Run Unit Tests
- Debug and Profile
- Submit a Pull Request
Available resource:
Contribute to TiKV
This chapter answers the question “How to follow the development process”.
- Community Guideline
- Committer Guide
- Report a Bug
- Contribute code
- Review a Pull Request
- Request for Comments
- Code Style and Quality Guide
- Write document
Available resource:
Understanding TiKV
This chapter delivers knowledge about architecture, design, and implementation of the project.
- RocksDB
- Raft
- Raft KV
- MVCC
- Transaction
- Coprocessor
Available resource:
Prototype
You can see a prototype of TiKV Development Guide here.
Looking forward to your feedback.