I found the bug (heisenbug?) and Aman suggested a fix. In PruneScanRule, sometimes context.getPlannerSettings() returns null. This was introduced in 48c9c01 (DRILL-2353) I filed a JIRA for this: https://issues.apache.org/jira/browse/DRILL-2572 <https://issues.apache.org/jira/browse/DRILL-2572> The patch is attached to the JIRA. Here’s the review request: https://reviews.apache.org/r/32513 <https://reviews.apache.org/r/32513>
Thank you, Sudheesh > On Mar 25, 2015, at 12:15 PM, Sudheesh Katkam <[email protected]> wrote: > > Hey y’all, > > I am getting unit test failures (NPEs) on my Linux VM on the latest master > (commit: 8493713). I tried this multiple times (47 errors first time, 22 > second time, 7 third time, 15 fourth time ..) on multiple machines. > > Some setup information: > > root@perfnode207:~/dev# cat /proc/version > Linux version 3.2.0-76-generic (buildd@batsu) (gcc version 4.6.3 > (Ubuntu/Linaro 4.6.3-1ubuntu5) ) #111-Ubuntu SMP Tue Jan 13 22:16:09 UTC 2015 > > root@perfnode207:~/dev# java -version > java version "1.7.0_75" > OpenJDK Runtime Environment (IcedTea 2.5.4) (7u75-2.5.4-1~precise1) > OpenJDK 64-Bit Server VM (build 24.75-b04, mixed mode) > > root@perfnode207:~/dev# mvn --version > Apache Maven 3.2.1 (ea8b2b07643dbb1b84b6d16e1f08391b666bc1e9; > 2014-02-14T17:37:52+00:00) > Maven home: /usr/share/maven3 > Java version: 1.7.0_75, vendor: Oracle Corporation > Java home: /usr/lib/jvm/java-7-openjdk-amd64/jre > Default locale: en_US, platform encoding: UTF-8 > OS name: "linux", version: "3.2.0-76-generic", arch: "amd64", family: "unix" > > And here’s how to replicate: > > root@perfnode207:~/dev# git clone https://github.com/apache/drill.git > <https://github.com/apache/drill.git> drill_master > … > root@perfnode207:~/dev# cd drill_master > root@perfnode207:~/dev/drill_master# mvn clean install > … > Running org.apache.drill.TestTpchExplain#tpch12 > Exception (no rows returned): org.apache.drill.exec.rpc.RpcException: > NullPointerException: > > Running org.apache.drill.TestTpchExplain#tpch13 > Exception (no rows returned): org.apache.drill.exec.rpc.RpcException: > NullPointerException: > > Running org.apache.drill.TestTpchExplain#tpch14 > Exception (no rows returned): org.apache.drill.exec.rpc.RpcException: > NullPointerException: > > Running org.apache.drill.TestTpchExplain#tpch16 > Exception (no rows returned): org.apache.drill.exec.rpc.RpcException: > NullPointerException: > … > > > I have attached (as .json and .txt) the event from Lilith for the following > test: > Test Failed (d: 0 B(64.0 MiB), h: 2.8 MiB(534.0 MiB), nh: 237.7 KiB(65.3 > MiB)): testEmptyResultSet(org.apache.drill.TestFrameworkTest) > org.apache.drill.exec.rpc.RpcException NullPointerException: > at > org.apache.drill.exec.rpc.user.QueryResultHandler.batchArrived(QueryResultHandler.java:157) > ~[classes/:na] > at > org.apache.drill.exec.rpc.user.UserClient.handleReponse(UserClient.java:93) > ~[classes/:na] > … > > Also, when I run a failing test individually, it completes successfully. > > root@perfnode207:~/dev/drill_master# cd exec/java-exec/ > root@perfnode207:~/dev/drill_master/exec/java-exec# mvn surefire:test > -Dtest=TestTpchExplain#tpch12 > … > Running org.apache.drill.TestTpchExplain#tpch12 > … > Tests run: 1, Failures: 0, Errors: 0, Skipped: 0 > > [INFO] > ------------------------------------------------------------------------ > [INFO] BUILD SUCCESS > [INFO] > ------------------------------------------------------------------------ > [INFO] Total time: 22.808 s > [INFO] Finished at: 2015-03-25T19:08:41+00:00 > [INFO] Final Memory: 16M/303M > [INFO] > ------------------------------------------------------------------------ > > Thank you, > Sudheesh > > <trace.json> > <trace.txt> >
