...
Some of the most useful contributions to Impala are bug reports. If you discover a bug in Impala, please open a new JIRA ticket at the Impala JIRA tracker (after first checking to see if the bug has already been reported).
Bug reports are best when they contain a precise description of the problem, a minimal set of steps to reproduce the issue, and a comprehensive description of your environment (what version of Impala are you running? Are you using HDFS, S3 or HBase?)
Please do not create JIRA tickets for general user or developer questions - direct those to the appropriate mailing list - https://impala.apache.org/community.html
Code
As with other open source communities, the best way to engage is to start small, by fixing some bugs or contributing small features. By doing so, you will earn a reputation as a contributor of high-quality patches, you will get to know the Impala community, and you will become familiar with our process for contribution.
If you’re looking for inspiration, Impala has a very active JIRA instance. We have labelled some JIRA tickets ‘newbie’ - these are ideal for someone who is looking to learn the codebase. If you find one you like, feel free to email dev@impala.apache.org to discuss it, or dig right in. Before you start, though, register on the Apache JIRA system and ask someone on dev@ to assign the ticket to you. You can't assign yourself a JIRA until this is done. That way you don't end up in a race condition with another new contributor!
...
How do I contribute code?
Join
Get an account on the Apache Jira.
Subscribe to the dev list dev@impala.apache.org. You do that by sending mail to dev-subscribe@impala.apache.org.
Find
Find a JIRA that you would like to work on (or file one if you have discovered a new issue!). If no-one is working on it, assign it to yourself only if you intend to work on it shortly. Ramp-up JIRAs are a great place to look for your first patch ideas.
Jira has a whitelist of users that are permitted to modify Jiras. Mail the dev@impala.apache.org list and request access to assign Jiras to yourself. Please provide your Apache Jira username in the email.
Except for the very smallest items, it’s a very good idea to discuss your intended approach either on the JIRA or on the dev@impala.apache.org mailing list. You are much more likely to have your patch reviewed and committed if you’ve already got buy-in from the core Impala team community before you start.
We may sometimes decide not to accept a proposed feature or bugfix. This does not mean we do not value your contribution, but more likely that we feel that it does not align with the goals of the project or it is not the right time.
...
Before getting started, you'll want to get your development environment set up. Read bin/bootstrap_development.sh to get going. You can also take a look at Docker for Impala DevelopersImpala Development Environment inside Docker.
Now start coding! As you are writing your patch, please keep the following things in mind:
...
When you have a patch that you consider ready for submission, submit it to our code review tool called Gerrit (see Using Gerrit to submit and review patches for details). You’ll see an e-mail go out to the dev@impala.apache.org list.
As time permits, someone from the core team After that, other community members will review your patch. You will likely need to submit an updated patch with some changes - reply to all the comments in Gerrit at the same time (mark as ‘Done’ those suggestions that you’ve taken without further comment). This process can go back and forth for a while - please don’t be discouraged, you’ll see it happens with all patches!
...
Once a patch is considered ready to go in, the reviewer a committer will give it the ‘+2’ mark in Gerrit, and will run the submission testing job.
If the testing job completes successfully, Gerrit will automatically submit the patch to Impala’s Github repository. Congratulations! You are now a contributor to Impala
...