If you'd like to contribute a patch to Impala, but aren't sure what you want to work on, you can look at Impala's newbie issues: https://issues.apache.org/jira/issues/?filter=12341668. You can find detailed instructions on submitting patches at https://cwiki.apache.org/confluence/display/IMPALA/Contributing+to+Impala. This is a walkthrough of a ticket a new contributor could take on, with hopefully enough detail to get you going but not so much to take away the fun.
How can we fix https://issues.apache.org/jira/browse/IMPALA-5610, "Warn if deprecated flags are set"? First, set up your development environment. Then, double-check that the bug works the way you think it does by starting your impala cluster with a deprecated flag: bin/start-impala-cluster.py --impalad_args="--enable_partitioned_hash_join=false" This succeeds, even though $ git grep enable_partitioned_hash_join be/src/exec/exec-node.cc:DEFINE_bool_hidden(enable_partitioned_hash_join, true, "Deprecated - has no effect"); OK, so this is a deprecated flag - we shouldn't be able to start Impala with it. How can we warn if it is not default? Take a look at be/src/service/impalad-main.cc. There you will see a number of LOG(WARNING) messages if FLAGS_ENABLE_RM, another deprecated flag is set. That seems as good a place as any to start. Impala's runtime flags are defined with gflags: https://gflags.github.io/gflags/. Some good patterns to look for that indicate deprecated flags are "deprecated" and "_hidden". To get started easy, try fixing just one flag at first, then get your patch through code review and committed into the master branch by an Impala committer. Once you have that experience under your belt, the next patch can tackle more flags. If you find yourself repeating the same pattern for many flags, consider how you might reduce the boilerplate associated with that by refactoring the code to use functions, classes, or even macros (if necessary) to prevent having to repeat yourself. Good luck, and have fun!