Hey Guys,

While running test cases of Drill. I get this issue.

java.lang.NullPointerException
        at 
com.google.common.base.Preconditions.checkNotNull(Preconditions.java:191)
        at 
org.apache.drill.exec.cache.VectorAccessibleSerializable.writeToStream(VectorAccessibleSerializable.java:144)
        at 
org.apache.drill.exec.cache.VectorAccessibleSerializable.writeToStreamAndRetain(VectorAccessibleSerializable.java:134)
        at 
org.apache.drill.exec.physical.impl.trace.TraceRecordBatch.doWork(TraceRecordBatch.java:116)
        at 
org.apache.drill.exec.record.AbstractSingleRecordBatch.next(AbstractSingleRecordBatch.java:63)
        at 
org.apache.drill.exec.physical.impl.SimpleRootExec.next(SimpleRootExec.java:70)
        at 
org.apache.drill.exec.client.DumpCatTest.testDumpCat(DumpCatTest.java:82)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at 
org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
        at 
org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
        at 
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
        at 
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
        at 
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
        at 
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)

I’m running these test on Mackbook and my finding tell me that Drill tries to 
make a dump at this location 
/var/log/drill//00000000-0000-0000-0000-000000000000_0_0_mock-scan. It gets 
this file name from getFileName() method inside TraceRecordBatch.java. The 
source of prefix of this path comes from 
incubator-drill/exec/java-exec/target/classes/drill-module.conf file.

The issue here is there is no path in /var/log/drill as unlike linux there is 
no folder that starts from /var. 
Since this is a conf part a user should have addressed this while configuring 
drill in their infrastructure. However, if he forgets to do so.
I think we should have a test case for this which asserts if “trace" location 
is valid or not. Any suggestions ?


Regards,
Rohit.

Reply via email to