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-5314, "Rename
single letter tables in FE tests"? First, get your development environment
set up. Then, since this is a ticket about frontend ("FE") tests, you'll
want to check that your frontend tests are passing. Following
https://cwiki.apache.org/confluence/display/IMPALA/How+to+load+and+run+Impala+tests
:

(pushd fe && mvn -fae test)

This particular ticket proposes to change single-letter table names to
names less likely to collide with a developer's existing environment. Let's
check to see what these look like. Run bin/impala-shell.sh and:

[localhost:21000] > create table t (id int);
Query: create table t (id int)
Fetched 0 row(s) in 0.04s
[localhost:21000] > create table p (id int);
Query: create table p (id int)
Fetched 0 row(s) in 0.03s

Now run your frontend tests again. At the moment I am writing this, that
causes 15 failures. Doing a very simple search-and-replace (using git
ls-files and sed), I replaced " table p " and " table t " with " table
JohnJacobJingleheimerSchmidt ", which reduced the number of failures to 11.
This likely means that this simple method will help four tests could be
made resilient to developer-created single-letter table names.

Next, drop the tables t and p that you created above via
bin/impala-shell.sh. Run the frontend tests again and carefully inspect the
output. This will help you fix any tests broken by the simple
search-and-replace.

Once all the tests are passing again, you can send your patch for review
following
https://cwiki.apache.org/confluence/display/IMPALA/Contributing+to+Impala.
Your patch doesn't have to fix the entirety of the ticket to be sent for
review. It is probably good to get one patch under your belt before sending
any large patches. One this patch is committed and in Impala, you can come
back to this ticket and continue to fix single table names in future
patches.

One place you'll want to look for those is in
testdata/workloads/functional-planner/queries/PlannerTest/*.test. These
files are test data for use in
fe/src/test/java/org/apache/impala/planner/*Test.java. For those, a more
complex search-and-replace pattern will remove some issues, but it won't
fix everything.

Have fun!

Reply via email to