If we say that the power of human evolution comes from challenges:
Want to break through speed, so from space flight to the quantum world;
If you want to pursue stability, you should seek the way of constancy in the midst of all changes;
Want to break the complexity, so use a smart phone to integrate N kinds of necessities, the road is simple
So,The future full of challenges and uncertainties is the internal gene of the continuous evolution of tidb, an open source product——How to achieve better performance, stronger stability and more amazing ease of use? This is also a guide for the tidb community gathered by Geek to move forward.
No challenge, no geek. I believe that in the tidb Hackathon 2019 held last week, you have already appreciated the geek spirit of tidb community partners in just two days, and contributed to the birth of many excellent projects.To further stimulate the creativity of the community, we will open the tidb challenge programIt’s an upgrade competition from easy to hard. The first season will last for three months. You can get points and exchange rich gifts during the competition. Everything is ready for you to fight!
The tidb challenge program, initiated by pingcap, aims to stimulate community creativity and enable competitors to improve the stability, performance and usability of tidb products by completing a series of tasks. The theme of the first season is performance improvement, which will officially open on November 4, 2019 and last for three months. Players can choose individual or team name to complete the task and get corresponding points. Points can be redeemed at the end of the season.
Welcome to tidb community slack workspace and tikv WG slack workspace. If you encounter any problems during the competition, you can go through the#performance-challenge-programChannel to get in touch with us.
From easy to hard
This competition adopts a grading system, which fully takes care of the “easy” mode of entry-level players, reduces the entry threshold, and enables tidb Xiaobai to start quickly. Each event corresponds to a certain number of points. When players accumulate a certain number of points, they can unlock the “medium” and “hard” modes. It’s like upgrading to fight monsters, overcoming many obstacles and bursting with a sense of achievement!
We have special tutors for “medium” and “hard” tasks. Participants can communicate with each other on the problems encountered in the process of code implementation through slack channel to ensure their participation experience.
We have prepared a wealth of prizes for you, which can be exchanged by using the points after the competition(limited quantity, first come first served)～
Pre match preparation
- Refer to join GitHub to create GitHub account.
- Refer to installing git to install git in the local environment.
- Configure git to access GitHub through set up GIT.
- Registration method: issue to tidb perf challenge / PCP repo
- Title: PCP / sign up
- Individual entry: please give a brief introduction to yourself and leave the email address where you can get in touch with.
- Team entry: please give a brief introduction to your team, state the name of the team, the GitHub ID of each team member, and leave the email address where you can contact. Refer to the example.
matters needing attention:
- In the form of teams, each team has up to three members.
- The team with pingcap internal staff participating will be regarded as a star team and will not participate in the total ranking of points. The points obtained will still have the right to exchange
The whole process of tidb performance challenge program includes: View task, collect task, implement task, submit task, evaluate task, get points and exchange points. The steps before “get points” will be implemented on GitHub.
Step 1: view / propose issues
The current open issue list can be viewed in todo columns in tidb performance challenge program project, tikv performance challenge program project and PD performance challenge program project respectively.
Todo columns are divided into three columns according to the difficulty of the topic, which are todo / easy, todo / medium and todo / hard. Each issue is also set with some labels. For the convenience of your understanding, the meanings of tidb performance challenge related labels are explained as follows:
- “Difficulty / easy”, “difficulty / medium”, “difficulty / hard”: issue difficulty level.
- “Component / XX”: the module involved in issue.
In addition to the currently open issue, if you have other information aboutPerformance ImprovementIf you want to realize this idea, you can propose by issuing. Before launching issue, please make sure that you have understood the contribution guide and the contributor supplier code of conduct.
- Tidb related proposal can be submitted to tidb repo through tidb issue initiation channel;
- Tikv related proposal can be submitted to tikv repo through tikv issue initiation channel;
- PD related proposal can be submitted to PD repo through PD issue initiation channel.
Format requirement: add before issue title“REQ-PCP”Tag, for example: req-pcp: further extract tidb_ query into different workspaces。
Step 2: get the task
If you decide to claim an issue, please reply in this issue first“/pick-up-challenge”, the background will automatically judge whether the points you have are qualified to challenge this issue. If the points meet the requirements, you can start to challenge. If the points do not meet the requirements, you need to get the points that meet the challenge requirements according to the system prompts.
What needs to be specially reminded is:
- Each participant (including individual and team) participates in the tidb performance challengeThe initial integral is 0You need to complete the issue of “easy” and accumulate more than 400 points (including 400 points) before you are qualified to challenge the questions with difficulty of “medium” and “hard”.
- Each participant can only receive one task at a time.
Step 3: implement the code
In the process of implementing the code, if you encounter problems, you can#performance-challenge-programChannel will discuss with us, and the mentor designated by issue will reply as soon as possible within 24 hours. However, before asking questions, make sure you have read the topic carefully and completed the study of reference materials
Step 4: submit code
If you feel that your scheme has met the requirements of the topic, you can implement your scheme on the master branch of the relevant repo (for example, tidb), and submit the code to the corresponding GitHub repo in the form of GitHub pull request (PR). After the PR is submitted, code review can be conducted in the comments of PR at mentor of the topic, and mentor will complete the evaluation within 48 hours after the proposal is submitted as far as possible.
Note: the submitted PR should meet the specification defined in commit message and pull request style.
Submission method: after the code is completed, participants need to submit GitHub pull request (PR) to the corresponding repo. For how to submit PR, please refer to GitHub workflow. Here are some sre-bot command help for your reference.
Format requirements: the first line of PR needs to specify the task issue number, and then write the format required by each repo
PCP #12345 <!-- The following description -->
Step 5: code evaluation and points Award
Evaluation rules: the PR reviewer will review the code format, code function and performance of the PR, and the PR that has been approved by more than two reviewers (that is, commenting on “lgtm” in the PR) will be merged into the trunk of the corresponding repo.
If your PR is merged into the trunk, it means that the title is successfully challenged by you, and you will get the corresponding points of the title; other competitors will lose the qualification to challenge the title, and the submitted PR will also be closed.
Otherwise, you need to continue to discuss the implementation plan and details with the reviewer of PR, and reasonably accept or reject the reviewer’s review suggestions for pr.
Step 6: exchange points
Points will be presented on the official website of tidb performance challenge. The points earned can be exchanged for gifts or bonus, including but not limited to: tidb limited edition Hoodie, the north face customized computer backpack, etc.
Exchange time:From the end of each season to the end of the nextPoints can be exchanged. At the end of the next season, the convertible points of the previous season will be cleared directly. Community gift exchange is no longer allowed.
Exchange method: fill in the gift exchange form at the end of this season (the right to fill in will be open at that time).
Here are tidb selected technology explanation articles to help you easily master the principles and functions of core components of tidb; there are online video courses of pingcap university to help you quickly get familiar with the principles, architecture and best practices of tidb, which can be easily obtained by clicking the above links.
This will be a collision of collective wisdom. We are looking forward to creating unlimited possibilities with our community partners!