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>
> 

Reply via email to