Thanks Paul, I see now the parent pom already configures surefire to fork 2 processes to run tests. I tried running multiple tests in parallel in each forked process, but there were errors with BaseTestQuery, probably because it uses static variables. One additional speedup I found was that the maven -T flag parallelizes the build and also seems to parallelize running the tests across sub modules. Using that flag the test duration for contrib went from 18 minutes to 10 minutes.
I'll investigate making BaseTestQuery thread safe. Maybe we can get more speedups from being able to run multiple tests in parallel in the same process as well. Tim ________________________________ From: Paul Rogers <prog...@mapr.com> Sent: Monday, August 28, 2017 6:39:10 PM To: dev@drill.apache.org Subject: Re: Speeding Up Unit Tests Tests run in parallel when run from the command line in Maven. We have had issues, especially when some test changes global state. Can’t remember the details, however. - Paul > On Aug 28, 2017, at 6:04 PM, Timothy Farkas <tfar...@mapr.com> wrote: > > Hi All, > > I will be working on > DRILL-5730<https://issues.apache.org/jira/browse/DRILL-5730> and see some > other areas for potential improvement with regard to testing: > > 1. Add caching of maven artifacts to the Travis build. This should > significantly speed up compiling the code in travis. > 2. Running unit tests in parallel. > 3. Make the Travis build actually run unit tests (currently it does not). > > Points (1) and (3) are easy to do, but I was wondering if anyone has > experience with some of the potential pitfalls of running unit tests in > parallel? Are there certain tests which will have race conditions? and are > there any foreseeable issues with running multiple embedded drill bits in > parallel? > > Thanks, > Tim > >