You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@drill.apache.org by Rohit <ro...@gmail.com> on 2013/11/27 12:40:17 UTC

Conf issue - test case.

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.


Re: Conf issue - test case.

Posted by Jinfeng Ni <ji...@gmail.com>.
Forgot to paste the link the the JIRA issue. Here it is:

https://issues.apache.org/jira/browse/DRILL-297?jql=project%20%3D%20DRILL


On Wed, Nov 27, 2013 at 9:28 AM, Jinfeng Ni <ji...@gmail.com> wrote:

> Hi Robit,
>
> There is a JIRA issue which tracks the similar problem : DRILL-297 - Trace
> operator throws NPE if the configured path is not writable.
>
> Looks like a patch has been provided to address NPE. But the patch
> probably has not been in the master branch yet.
>
> Regards,
>
> Jinfeng
>
>
>
> On Wed, Nov 27, 2013 at 3:40 AM, Rohit <ro...@gmail.com> wrote:
>
>> 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.
>>
>>
>

Re: Conf issue - test case.

Posted by Jinfeng Ni <ji...@gmail.com>.
Hi Robit,

There is a JIRA issue which tracks the similar problem : DRILL-297 - Trace
operator throws NPE if the configured path is not writable.

Looks like a patch has been provided to address NPE. But the patch probably
has not been in the master branch yet.

Regards,

Jinfeng



On Wed, Nov 27, 2013 at 3:40 AM, Rohit <ro...@gmail.com> wrote:

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