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

Attachment: trace.json
Description: application/json

org.apache.drill.exec.work.foreman.ForemanException

Unexpected exception during fragment initialization: Internal error: Error 
while applying rule PruneScanRule:Filter_On_Scan, args 
[rel#32728:DrillFilterRel.LOGICAL.ANY([]).[](child=rel#32725:Subset#0.LOGICAL.ANY([]).[],condition==(1,
 0)), rel#32729:DrillScanRel.LOGICAL.ANY([]).[](table=[cp, 
store/json/json_simple_with_null.json],groupscan=EasyGroupScan 
[selectionRoot=/store/json/json_simple_with_null.json, numFiles=1, 
columns=[`*`], files=[/store/json/json_simple_with_null.json]])]

at org.apache.drill.exec.work.foreman.Foreman.run(Foreman.java:211) 
[classes/:na]

at 
org.apache.drill.common.SelfCleaningRunnable.run(SelfCleaningRunnable.java:38) 
[drill-common-0.8.0-SNAPSHOT.jar:0.8.0-SNAPSHOT]

at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)Â
 [na:1.7.0_75]

at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)Â
 [na:1.7.0_75]

at java.lang.Thread.run(Thread.java:745) [na:1.7.0_75]Caused by: 

java.lang.AssertionError

Internal error: Error while applying rule PruneScanRule:Filter_On_Scan, args 
[rel#32728:DrillFilterRel.LOGICAL.ANY([]).[](child=rel#32725:Subset#0.LOGICAL.ANY([]).[],condition==(1,
 0)), rel#32729:DrillScanRel.LOGICAL.ANY([]).[](table=[cp, 
store/json/json_simple_with_null.json],groupscan=EasyGroupScan 
[selectionRoot=/store/json/json_simple_with_null.json, numFiles=1, 
columns=[`*`], files=[/store/json/json_simple_with_null.json]])]

at org.eigenbase.util.Util.newInternal(Util.java:750) 
~[optiq-core-0.9-drill-r20.jar:na]

at 
org.eigenbase.relopt.volcano.VolcanoRuleCall.onMatch(VolcanoRuleCall.java:246) 
~[optiq-core-0.9-drill-r20.jar:na]

at 
org.eigenbase.relopt.volcano.VolcanoPlanner.findBestExp(VolcanoPlanner.java:661)Â
 ~[optiq-core-0.9-drill-r20.jar:na]

at net.hydromatic.optiq.tools.Programs$RuleSetProgram.run(Programs.java:165) 
~[optiq-core-0.9-drill-r20.jar:na]

at net.hydromatic.optiq.prepare.PlannerImpl.transform(PlannerImpl.java:275) 
~[optiq-core-0.9-drill-r20.jar:na]

at 
org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.convertToDrel(DefaultSqlHandler.java:206)Â
 ~[classes/:na]

at 
org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.getPlan(DefaultSqlHandler.java:138)Â
 ~[classes/:na]

at 
org.apache.drill.exec.planner.sql.DrillSqlWorker.getPlan(DrillSqlWorker.java:145)Â
 ~[classes/:na]

at org.apache.drill.exec.work.foreman.Foreman.runSQL(Foreman.java:735) 
[classes/:na]

at org.apache.drill.exec.work.foreman.Foreman.run(Foreman.java:202) 
[classes/:na]Caused by: 

java.lang.NullPointerException

at 
org.apache.drill.exec.planner.logical.partition.PruneScanRule.doOnMatch(PruneScanRule.java:123)Â
 ~[classes/:na]

at 
org.apache.drill.exec.planner.logical.partition.PruneScanRule$2.onMatch(PruneScanRule.java:109)Â
 ~[classes/:na]

at 
org.eigenbase.relopt.volcano.VolcanoRuleCall.onMatch(VolcanoRuleCall.java:223) 
~[optiq-core-0.9-drill-r20.jar:na]

Reply via email to