This page is meant to document the various steps to working with git to contribute or review Kafka code. There are probably a lot of bugs in these steps or possible better recipes, so help make this page better. If you want to push your commits without passwd, please see apache git wiki.
Overview
The Kafka project development ecosystem involves git (for version control), JIRA (for issue tracking) and Review Board (for reviewing code changes made by contributors). To make it easier for both the contributors and the reviewers to manage the contributions, the Kafka project also ships a (python based) script which automates the steps that are involved in the context of a patch submission. These steps involve:
- Creating a patch/diff between the local git repo against the project remote repo
- Creating a review task in Review Board and publish the patch/diff that was generated for the changes
- Updating the JIRA, related to these changes, with a comment about a patch being made available and ready for review at Review Board
As you'll notice this requires (automated) integration between JIRA and Review Board. The (python based) script, which is named kafka-patch-review.py (and present in the checked out code of Kafka project), acts as a wrapper around the scripts/tools that are shipped by JIRA and Review Board for such integrations. Since the kafka-patch-review.py is merely a wrapper around those tools, you'll have to install those tools locally to be able to use the kafka-patch-review.py script. This document helps you in setting up those tools as well as helping you understand the usage of the kafka-patch-review.py itself.
Patch Review Tool
We are currently in the process of moving our contribution workflow to Github pull requests, so the patch review tool is slowly getting phased out. If you are still interested in using it, or learning more about it, you can find the instructions here.
Contributor and Reviewer Workflow
The process for contributing or reviewing a patch is documented in the Contributing Code Changes page.
Commiter Workflow
If you are merging a patch attached to a JIRA (and not a github PR), here is a suggested workflow.
Instructions on merging a github pull requests using the awesome kafka-merge-pr tool, are here.
How to get your patches reviewed
Please ping the dev mailing list if you have a patch that needs a review and it will be added to the queue. The following (JIRA link) are issues that currently have patches available and have an assigned reviewer: