You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@drill.apache.org by IC...@us.imshealth.com on 2016/12/04 02:24:11 UTC

Drill 1.9.0 - Embedded mode doesn't work on Windows

Hi

I'm trying out 1.9.0 on our Windows server. When launching the embedded mode, I got the following errors:


E:\software\apache-drill-1.9.0\bin>sqlline.bat -u "jdbc:drill:zk=local"
DRILL_ARGS - " -u jdbc:drill:zk=local"
HADOOP_HOME not detected...
HBASE_HOME not detected...
Calculating Drill classpath...
Error: Failure in starting embedded Drillbit: org.apache.drill.common.exceptions
.DrillRuntimeException: Error during udf area creation [/C:/Users/ivy.chan/drill
/udf/registry] on file system [file:///] (state=,code=0)
java.sql.SQLException: Failure in starting embedded Drillbit: org.apache.drill.c
ommon.exceptions.DrillRuntimeException: Error during udf area creation [/C:/User
s/ivy.chan/drill/udf/registry] on file system [file:///]
        at org.apache.drill.jdbc.impl.DrillConnectionImpl.<init>(DrillConnection
Impl.java:128)
        at org.apache.drill.jdbc.impl.DrillJdbc41Factory.newDrillConnection(Dril
lJdbc41Factory.java:70)
        at org.apache.drill.jdbc.impl.DrillFactory.newConnection(DrillFactory.ja
va:69)
        at org.apache.calcite.avatica.UnregisteredDriver.connect(UnregisteredDri
ver.java:143)
        at org.apache.drill.jdbc.Driver.connect(Driver.java:72)
        at sqlline.DatabaseConnection.connect(DatabaseConnection.java:167)
        at sqlline.DatabaseConnection.getConnection(DatabaseConnection.java:213)

        at sqlline.Commands.connect(Commands.java:1083)
        at sqlline.Commands.connect(Commands.java:1015)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:497)
        at sqlline.ReflectiveCommandHandler.execute(ReflectiveCommandHandler.jav
a:36)
        at sqlline.SqlLine.dispatch(SqlLine.java:742)
        at sqlline.SqlLine.initArgs(SqlLine.java:528)
        at sqlline.SqlLine.begin(SqlLine.java:596)
        at sqlline.SqlLine.start(SqlLine.java:375)
        at sqlline.SqlLine.main(SqlLine.java:268)
Caused by: org.apache.drill.common.exceptions.DrillRuntimeException: Error durin
g udf area creation [/C:/Users/ivy.chan/drill/udf/registry] on file system [file
:///]
        at org.apache.drill.common.exceptions.DrillRuntimeException.format(Drill
RuntimeException.java:49)
        at org.apache.drill.exec.expr.fn.registry.RemoteFunctionRegistry.createA
rea(RemoteFunctionRegistry.java:246)
        at org.apache.drill.exec.expr.fn.registry.RemoteFunctionRegistry.prepare
Areas(RemoteFunctionRegistry.java:208)
        at org.apache.drill.exec.expr.fn.registry.RemoteFunctionRegistry.init(Re
moteFunctionRegistry.java:106)
        at org.apache.drill.exec.server.Drillbit.run(Drillbit.java:126)
        at org.apache.drill.jdbc.impl.DrillConnectionImpl.<init>(DrillConnection
Impl.java:119)
        ... 18 more
Caused by: java.lang.IllegalStateException: Area [/C:/Users/ivy.chan/drill/udf/r
egistry] must be writable and executable for application user
        at com.google.common.base.Preconditions.checkState(Preconditions.java:19
7)
        at org.apache.drill.exec.expr.fn.registry.RemoteFunctionRegistry.createA
rea(RemoteFunctionRegistry.java:238)
        ... 22 more
apache drill 1.9.0
"got drill?"

It is working on 1.8.0.

I also got compile error on sqlline.log:

2016-12-03 21:05:59,026 [main] WARN  o.a.drill.exec.util.GuavaPatcher - Unable to patch Guava classes.
javassist.CannotCompileException: by java.lang.LinkageError: loader (instance of  sun/misc/Launcher$AppClassLoader): attempted  duplicate class definition for name: "com/google/common/base/Stopwatch"
                at javassist.ClassPool.toClass(ClassPool.java:1085) ~[javassist-3.12.1.GA.jar:na]
                at javassist.ClassPool.toClass(ClassPool.java:1028) ~[javassist-3.12.1.GA.jar:na]
                at javassist.ClassPool.toClass(ClassPool.java:986) ~[javassist-3.12.1.GA.jar:na]
                at javassist.CtClass.toClass(CtClass.java:1079) ~[javassist-3.12.1.GA.jar:na]
                at org.apache.drill.exec.util.GuavaPatcher.patchStopwatch(GuavaPatcher.java:66) ~[drill-java-exec-1.9.0.jar:1.9.0]
                at org.apache.drill.exec.util.GuavaPatcher.patch(GuavaPatcher.java:36) ~[drill-java-exec-1.9.0.jar:1.9.0]
                at org.apache.drill.exec.server.Drillbit.<clinit>(Drillbit.java:63) [drill-java-exec-1.9.0.jar:1.9.0]
                at org.apache.drill.jdbc.impl.DrillConnectionImpl.<init>(DrillConnectionImpl.java:118) [drill-jdbc-1.9.0.jar:1.9.0]
                at org.apache.drill.jdbc.impl.DrillJdbc41Factory.newDrillConnection(DrillJdbc41Factory.java:70) [drill-jdbc-1.9.0.jar:1.9.0]
                at org.apache.drill.jdbc.impl.DrillFactory.newConnection(DrillFactory.java:69) [drill-jdbc-1.9.0.jar:1.9.0]
                at org.apache.calcite.avatica.UnregisteredDriver.connect(UnregisteredDriver.java:143) [calcite-avatica-1.4.0-drill-r19.jar:1.4.0-drill-r19]
                at org.apache.drill.jdbc.Driver.connect(Driver.java:72) [drill-jdbc-1.9.0.jar:1.9.0]
                at sqlline.DatabaseConnection.connect(DatabaseConnection.java:167) [sqlline-1.1.9-drill-r7.jar:na]
                at sqlline.DatabaseConnection.getConnection(DatabaseConnection.java:213) [sqlline-1.1.9-drill-r7.jar:na]
                at sqlline.Commands.connect(Commands.java:1083) [sqlline-1.1.9-drill-r7.jar:na]
                at sqlline.Commands.connect(Commands.java:1015) [sqlline-1.1.9-drill-r7.jar:na]
                at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_73]
                at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_73]
                at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_73]
                at java.lang.reflect.Method.invoke(Method.java:497) ~[na:1.8.0_73]
                at sqlline.ReflectiveCommandHandler.execute(ReflectiveCommandHandler.java:36) [sqlline-1.1.9-drill-r7.jar:na]
                at sqlline.SqlLine.dispatch(SqlLine.java:742) [sqlline-1.1.9-drill-r7.jar:na]
                at sqlline.SqlLine.initArgs(SqlLine.java:528) [sqlline-1.1.9-drill-r7.jar:na]
                at sqlline.SqlLine.begin(SqlLine.java:596) [sqlline-1.1.9-drill-r7.jar:na]
                at sqlline.SqlLine.start(SqlLine.java:375) [sqlline-1.1.9-drill-r7.jar:na]
                at sqlline.SqlLine.main(SqlLine.java:268) [sqlline-1.1.9-drill-r7.jar:na]
Caused by: java.lang.LinkageError: loader (instance of  sun/misc/Launcher$AppClassLoader): attempted  duplicate class definition for name: "com/google/common/base/Stopwatch"
                at java.lang.ClassLoader.defineClass1(Native Method) ~[na:1.8.0_73]
                at java.lang.ClassLoader.defineClass(ClassLoader.java:760) ~[na:1.8.0_73]
                at java.lang.ClassLoader.defineClass(ClassLoader.java:642) ~[na:1.8.0_73]
                at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_73]
                at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_73]
                at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_73]
                at java.lang.reflect.Method.invoke(Method.java:497) ~[na:1.8.0_73]
                at javassist.ClassPool.toClass2(ClassPool.java:1098) ~[javassist-3.12.1.GA.jar:na]
                at javassist.ClassPool.toClass(ClassPool.java:1079) ~[javassist-3.12.1.GA.jar:na]
                ... 25 common frames omitted

Thanks,
Ivy Chan





________________________________
********************** IMPORTANT--PLEASE READ ************************ This electronic message, including its attachments, is CONFIDENTIAL and may contain PROPRIETARY or LEGALLY PRIVILEGED or PROTECTED information and is intended for the authorized recipient of the sender. If you are not the intended recipient, you are hereby notified that any use, disclosure, copying, or distribution of this message or any of the information included in it is unauthorized and strictly prohibited. If you have received this message in error, please immediately notify the sender by reply e-mail and permanently delete this message and its attachments, along with any copies thereof, from all locations received (e.g., computer, mobile device, etc.). Thank you. ************************************************************************

Re: Drill 1.9.0 - Embedded mode doesn't work on Windows

Posted by Abhishek Girish <ab...@gmail.com>.
Can you confirm that the location has the right permissions? May be
explicitly provide permissions for the folder 'drill' in your home dir?

On Sat, Dec 3, 2016 at 6:24 PM, <IC...@us.imshealth.com> wrote:

> Caused by: java.lang.IllegalStateException: Area
> [/C:/Users/ivy.chan/drill/udf/r
> egistry] must be writable and executable for application user
>

RE: Drill 1.9.0 - Embedded mode doesn't work on Windows

Posted by IC...@us.imshealth.com.
Hi Paul,

Sorry for the late response.

When I first ran into this issue, I have verified that the directory C:/User/ivy.chan/drill/udf/registry has created by the process. So I don't think that is permission issue. I also tried your workaround and for some reason it still try to create something in C:/User/ivy.chan/drill/udf/registry and I got the exact same error.  Also tried to move drill to c drive under my profile, still not working.

For now, I have a cluster setup and running in other servers so I'm good.

Thanks for your help.

Ivy

-----Original Message-----
From: Paul Rogers [mailto:progers@maprtech.com]
Sent: Saturday, December 03, 2016 7:46 PM
To: user@drill.apache.org
Subject: Re: Drill 1.9.0 - Embedded mode doesn't work on Windows

Hi Ivy,

Looks like a glitch in the shiny new dynamic UDF feature. Does the directory Users/ivy.chan exist on the C: drive? You can work around this in a couple of ways.

First, disable the dynamic UDF feature (which is not really needed for an embedded Drillbit). Unfortunately, this works only once the Drillbit is up because it is a runtime SQL option:

ALTER SESSION SET `exec.udf.enable_dynamic_support` = false

The other is to change the location of the directory that the feature is trying to create. Add the following to your $DRILL_HOME/conf/drill-override.conf file:

drill.udf.directory.root: “C:\Temp”

Or any other directory that does, in fact, exist on your system.

Let us know if this works. If not, perhaps Arina (who developed the feature) can help provide a better solution.

Thanks,

- Paul


> On Dec 3, 2016, at 6:24 PM, <IC...@us.imshealth.com> <IC...@us.imshealth.com> wrote:
>
> Hi
>
> I'm trying out 1.9.0 on our Windows server. When launching the embedded mode, I got the following errors:
>
>
> E:\software\apache-drill-1.9.0\bin>sqlline.bat -u "jdbc:drill:zk=local"
> DRILL_ARGS - " -u jdbc:drill:zk=local"
> HADOOP_HOME not detected...
> HBASE_HOME not detected...
> Calculating Drill classpath...
> Error: Failure in starting embedded Drillbit:
> org.apache.drill.common.exceptions
> .DrillRuntimeException: Error during udf area creation
> [/C:/Users/ivy.chan/drill /udf/registry] on file system [file:///]
> (state=,code=0)
> java.sql.SQLException: Failure in starting embedded Drillbit:
> org.apache.drill.c
> ommon.exceptions.DrillRuntimeException: Error during udf area creation
> [/C:/User s/ivy.chan/drill/udf/registry] on file system [file:///]
>        at
> org.apache.drill.jdbc.impl.DrillConnectionImpl.<init>(DrillConnection
> Impl.java:128)
>        at
> org.apache.drill.jdbc.impl.DrillJdbc41Factory.newDrillConnection(Dril
> lJdbc41Factory.java:70)
>        at
> org.apache.drill.jdbc.impl.DrillFactory.newConnection(DrillFactory.ja
> va:69)
>        at
> org.apache.calcite.avatica.UnregisteredDriver.connect(UnregisteredDri
> ver.java:143)
>        at org.apache.drill.jdbc.Driver.connect(Driver.java:72)
>        at sqlline.DatabaseConnection.connect(DatabaseConnection.java:167)
>        at
> sqlline.DatabaseConnection.getConnection(DatabaseConnection.java:213)
>
>        at sqlline.Commands.connect(Commands.java:1083)
>        at sqlline.Commands.connect(Commands.java:1015)
>        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
> java:62)
>        at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
> sorImpl.java:43)
>        at java.lang.reflect.Method.invoke(Method.java:497)
>        at
> sqlline.ReflectiveCommandHandler.execute(ReflectiveCommandHandler.jav
> a:36)
>        at sqlline.SqlLine.dispatch(SqlLine.java:742)
>        at sqlline.SqlLine.initArgs(SqlLine.java:528)
>        at sqlline.SqlLine.begin(SqlLine.java:596)
>        at sqlline.SqlLine.start(SqlLine.java:375)
>        at sqlline.SqlLine.main(SqlLine.java:268)
> Caused by: org.apache.drill.common.exceptions.DrillRuntimeException:
> Error durin g udf area creation
> [/C:/Users/ivy.chan/drill/udf/registry] on file system [file :///]
>        at
> org.apache.drill.common.exceptions.DrillRuntimeException.format(Drill
> RuntimeException.java:49)
>        at
> org.apache.drill.exec.expr.fn.registry.RemoteFunctionRegistry.createA
> rea(RemoteFunctionRegistry.java:246)
>        at
> org.apache.drill.exec.expr.fn.registry.RemoteFunctionRegistry.prepare
> Areas(RemoteFunctionRegistry.java:208)
>        at
> org.apache.drill.exec.expr.fn.registry.RemoteFunctionRegistry.init(Re
> moteFunctionRegistry.java:106)
>        at org.apache.drill.exec.server.Drillbit.run(Drillbit.java:126)
>        at
> org.apache.drill.jdbc.impl.DrillConnectionImpl.<init>(DrillConnection
> Impl.java:119)
>        ... 18 more
> Caused by: java.lang.IllegalStateException: Area
> [/C:/Users/ivy.chan/drill/udf/r egistry] must be writable and executable for application user
>        at
> com.google.common.base.Preconditions.checkState(Preconditions.java:19
> 7)
>        at
> org.apache.drill.exec.expr.fn.registry.RemoteFunctionRegistry.createA
> rea(RemoteFunctionRegistry.java:238)
>        ... 22 more
> apache drill 1.9.0
> "got drill?"
>
> It is working on 1.8.0.
>
> I also got compile error on sqlline.log:
>
> 2016-12-03 21:05:59,026 [main] WARN  o.a.drill.exec.util.GuavaPatcher - Unable to patch Guava classes.
> javassist.CannotCompileException: by java.lang.LinkageError: loader (instance of  sun/misc/Launcher$AppClassLoader): attempted  duplicate class definition for name: "com/google/common/base/Stopwatch"
>                at javassist.ClassPool.toClass(ClassPool.java:1085) ~[javassist-3.12.1.GA.jar:na]
>                at javassist.ClassPool.toClass(ClassPool.java:1028) ~[javassist-3.12.1.GA.jar:na]
>                at javassist.ClassPool.toClass(ClassPool.java:986) ~[javassist-3.12.1.GA.jar:na]
>                at javassist.CtClass.toClass(CtClass.java:1079) ~[javassist-3.12.1.GA.jar:na]
>                at org.apache.drill.exec.util.GuavaPatcher.patchStopwatch(GuavaPatcher.java:66) ~[drill-java-exec-1.9.0.jar:1.9.0]
>                at org.apache.drill.exec.util.GuavaPatcher.patch(GuavaPatcher.java:36) ~[drill-java-exec-1.9.0.jar:1.9.0]
>                at org.apache.drill.exec.server.Drillbit.<clinit>(Drillbit.java:63) [drill-java-exec-1.9.0.jar:1.9.0]
>                at org.apache.drill.jdbc.impl.DrillConnectionImpl.<init>(DrillConnectionImpl.java:118) [drill-jdbc-1.9.0.jar:1.9.0]
>                at org.apache.drill.jdbc.impl.DrillJdbc41Factory.newDrillConnection(DrillJdbc41Factory.java:70) [drill-jdbc-1.9.0.jar:1.9.0]
>                at org.apache.drill.jdbc.impl.DrillFactory.newConnection(DrillFactory.java:69) [drill-jdbc-1.9.0.jar:1.9.0]
>                at org.apache.calcite.avatica.UnregisteredDriver.connect(UnregisteredDriver.java:143) [calcite-avatica-1.4.0-drill-r19.jar:1.4.0-drill-r19]
>                at org.apache.drill.jdbc.Driver.connect(Driver.java:72) [drill-jdbc-1.9.0.jar:1.9.0]
>                at sqlline.DatabaseConnection.connect(DatabaseConnection.java:167) [sqlline-1.1.9-drill-r7.jar:na]
>                at sqlline.DatabaseConnection.getConnection(DatabaseConnection.java:213) [sqlline-1.1.9-drill-r7.jar:na]
>                at sqlline.Commands.connect(Commands.java:1083) [sqlline-1.1.9-drill-r7.jar:na]
>                at sqlline.Commands.connect(Commands.java:1015) [sqlline-1.1.9-drill-r7.jar:na]
>                at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_73]
>                at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_73]
>                at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_73]
>                at java.lang.reflect.Method.invoke(Method.java:497) ~[na:1.8.0_73]
>                at sqlline.ReflectiveCommandHandler.execute(ReflectiveCommandHandler.java:36) [sqlline-1.1.9-drill-r7.jar:na]
>                at sqlline.SqlLine.dispatch(SqlLine.java:742) [sqlline-1.1.9-drill-r7.jar:na]
>                at sqlline.SqlLine.initArgs(SqlLine.java:528) [sqlline-1.1.9-drill-r7.jar:na]
>                at sqlline.SqlLine.begin(SqlLine.java:596) [sqlline-1.1.9-drill-r7.jar:na]
>                at sqlline.SqlLine.start(SqlLine.java:375) [sqlline-1.1.9-drill-r7.jar:na]
>                at sqlline.SqlLine.main(SqlLine.java:268)
> [sqlline-1.1.9-drill-r7.jar:na] Caused by: java.lang.LinkageError: loader (instance of  sun/misc/Launcher$AppClassLoader): attempted  duplicate class definition for name: "com/google/common/base/Stopwatch"
>                at java.lang.ClassLoader.defineClass1(Native Method) ~[na:1.8.0_73]
>                at java.lang.ClassLoader.defineClass(ClassLoader.java:760) ~[na:1.8.0_73]
>                at java.lang.ClassLoader.defineClass(ClassLoader.java:642) ~[na:1.8.0_73]
>                at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_73]
>                at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_73]
>                at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_73]
>                at java.lang.reflect.Method.invoke(Method.java:497) ~[na:1.8.0_73]
>                at javassist.ClassPool.toClass2(ClassPool.java:1098) ~[javassist-3.12.1.GA.jar:na]
>                at javassist.ClassPool.toClass(ClassPool.java:1079) ~[javassist-3.12.1.GA.jar:na]
>                ... 25 common frames omitted
>
> Thanks,
> Ivy Chan
>
>
>
>
>
> ________________________________
> ********************** IMPORTANT--PLEASE READ ************************
> This electronic message, including its attachments, is CONFIDENTIAL
> and may contain PROPRIETARY or LEGALLY PRIVILEGED or PROTECTED
> information and is intended for the authorized recipient of the
> sender. If you are not the intended recipient, you are hereby notified
> that any use, disclosure, copying, or distribution of this message or
> any of the information included in it is unauthorized and strictly
> prohibited. If you have received this message in error, please
> immediately notify the sender by reply e-mail and permanently delete
> this message and its attachments, along with any copies thereof, from
> all locations received (e.g., computer, mobile device, etc.). Thank
> you.
> **********************************************************************
> **


********************** IMPORTANT--PLEASE READ ************************ This electronic message, including its attachments, is CONFIDENTIAL and may contain PROPRIETARY or LEGALLY PRIVILEGED or PROTECTED information and is intended for the authorized recipient of the sender.  If you are not the intended recipient, you are hereby notified that any use, disclosure, copying, or distribution of this message or any of the information included in it is unauthorized and strictly prohibited.  If you have received this message in error, please immediately notify the sender by reply e-mail and permanently delete this message and its attachments, along with any copies thereof, from all locations received (e.g., computer, mobile device, etc.).  Thank you. ************************************************************************

Re: Drill 1.9.0 - Embedded mode doesn't work on Windows

Posted by Arina Yelchiyeva <ar...@gmail.com>.
Well, I would not say it's a exactly a glitch :) If
drill.exec.udf.directory.root (not drill.udf.directory.root, exec is
missing) is not set, drill creates udf directories (staging, registry, tmp)
in user home.
Usually user has write permissions in it's home directory (it works fine on
my Windows). Anyway, the best solution here is to override udf root
directory in drill-override.conf.
Example: drill.exec.udf.directory.root: "/F:/some_writable_dir"

Kind regards
Arina

On Sun, Dec 4, 2016 at 10:00 AM, Abhishek Girish <ab...@gmail.com>
wrote:

> I gave this a try on Windows - downloaded the 1.9.0 release and moved it to
> C:\Users\agirish\apache-drill-1.9.0. I was successfully able to bring up
> Drill in embedded mode. It looks like I did have read/write/execute
> permissions on the dir (by default) - so I'm not sure if that's any
> different from OP's env.
>
> On Sat, Dec 3, 2016 at 7:46 PM, Paul Rogers <pr...@maprtech.com> wrote:
>
> > Hi Ivy,
> >
> > Looks like a glitch in the shiny new dynamic UDF feature. Does the
> > directory Users/ivy.chan exist on the C: drive? You can work around this
> in
> > a couple of ways.
> >
> > First, disable the dynamic UDF feature (which is not really needed for an
> > embedded Drillbit). Unfortunately, this works only once the Drillbit is
> up
> > because it is a runtime SQL option:
> >
> > ALTER SESSION SET `exec.udf.enable_dynamic_support` = false
> >
> > The other is to change the location of the directory that the feature is
> > trying to create. Add the following to your $DRILL_HOME/conf/drill-
> override.conf
> > file:
> >
> > drill.udf.directory.root: “C:\Temp”
> >
> > Or any other directory that does, in fact, exist on your system.
> >
> > Let us know if this works. If not, perhaps Arina (who developed the
> > feature) can help provide a better solution.
> >
> > Thanks,
> >
> > - Paul
> >
> >
> > > On Dec 3, 2016, at 6:24 PM, <IC...@us.imshealth.com> <
> > IChan@us.imshealth.com> wrote:
> > >
> > > Hi
> > >
> > > I'm trying out 1.9.0 on our Windows server. When launching the embedded
> > mode, I got the following errors:
> > >
> > >
> > > E:\software\apache-drill-1.9.0\bin>sqlline.bat -u
> "jdbc:drill:zk=local"
> > > DRILL_ARGS - " -u jdbc:drill:zk=local"
> > > HADOOP_HOME not detected...
> > > HBASE_HOME not detected...
> > > Calculating Drill classpath...
> > > Error: Failure in starting embedded Drillbit: org.apache.drill.common.
> > exceptions
> > > .DrillRuntimeException: Error during udf area creation
> > [/C:/Users/ivy.chan/drill
> > > /udf/registry] on file system [file:///] (state=,code=0)
> > > java.sql.SQLException: Failure in starting embedded Drillbit:
> > org.apache.drill.c
> > > ommon.exceptions.DrillRuntimeException: Error during udf area creation
> > [/C:/User
> > > s/ivy.chan/drill/udf/registry] on file system [file:///]
> > >        at org.apache.drill.jdbc.impl.DrillConnectionImpl.<init>(
> > DrillConnection
> > > Impl.java:128)
> > >        at org.apache.drill.jdbc.impl.DrillJdbc41Factory.
> > newDrillConnection(Dril
> > > lJdbc41Factory.java:70)
> > >        at org.apache.drill.jdbc.impl.DrillFactory.newConnection(
> > DrillFactory.ja
> > > va:69)
> > >        at org.apache.calcite.avatica.UnregisteredDriver.connect(
> > UnregisteredDri
> > > ver.java:143)
> > >        at org.apache.drill.jdbc.Driver.connect(Driver.java:72)
> > >        at sqlline.DatabaseConnection.connect(DatabaseConnection.
> > java:167)
> > >        at sqlline.DatabaseConnection.getConnection(
> > DatabaseConnection.java:213)
> > >
> > >        at sqlline.Commands.connect(Commands.java:1083)
> > >        at sqlline.Commands.connect(Commands.java:1015)
> > >        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> > >        at sun.reflect.NativeMethodAccessorImpl.invoke(
> > NativeMethodAccessorImpl.
> > > java:62)
> > >        at sun.reflect.DelegatingMethodAccessorImpl.
> > invoke(DelegatingMethodAcces
> > > sorImpl.java:43)
> > >        at java.lang.reflect.Method.invoke(Method.java:497)
> > >        at sqlline.ReflectiveCommandHandler.execute(
> > ReflectiveCommandHandler.jav
> > > a:36)
> > >        at sqlline.SqlLine.dispatch(SqlLine.java:742)
> > >        at sqlline.SqlLine.initArgs(SqlLine.java:528)
> > >        at sqlline.SqlLine.begin(SqlLine.java:596)
> > >        at sqlline.SqlLine.start(SqlLine.java:375)
> > >        at sqlline.SqlLine.main(SqlLine.java:268)
> > > Caused by: org.apache.drill.common.exceptions.DrillRuntimeException:
> > Error durin
> > > g udf area creation [/C:/Users/ivy.chan/drill/udf/registry] on file
> > system [file
> > > :///]
> > >        at org.apache.drill.common.exceptions.
> > DrillRuntimeException.format(Drill
> > > RuntimeException.java:49)
> > >        at org.apache.drill.exec.expr.fn.registry.
> > RemoteFunctionRegistry.createA
> > > rea(RemoteFunctionRegistry.java:246)
> > >        at org.apache.drill.exec.expr.fn.registry.
> > RemoteFunctionRegistry.prepare
> > > Areas(RemoteFunctionRegistry.java:208)
> > >        at org.apache.drill.exec.expr.fn.registry.
> > RemoteFunctionRegistry.init(Re
> > > moteFunctionRegistry.java:106)
> > >        at org.apache.drill.exec.server.Drillbit.run(Drillbit.java:126)
> > >        at org.apache.drill.jdbc.impl.DrillConnectionImpl.<init>(
> > DrillConnection
> > > Impl.java:119)
> > >        ... 18 more
> > > Caused by: java.lang.IllegalStateException: Area
> > [/C:/Users/ivy.chan/drill/udf/r
> > > egistry] must be writable and executable for application user
> > >        at com.google.common.base.Preconditions.checkState(
> > Preconditions.java:19
> > > 7)
> > >        at org.apache.drill.exec.expr.fn.registry.
> > RemoteFunctionRegistry.createA
> > > rea(RemoteFunctionRegistry.java:238)
> > >        ... 22 more
> > > apache drill 1.9.0
> > > "got drill?"
> > >
> > > It is working on 1.8.0.
> > >
> > > I also got compile error on sqlline.log:
> > >
> > > 2016-12-03 21:05:59,026 [main] WARN  o.a.drill.exec.util.GuavaPatcher
> -
> > Unable to patch Guava classes.
> > > javassist.CannotCompileException: by java.lang.LinkageError: loader
> > (instance of  sun/misc/Launcher$AppClassLoader): attempted  duplicate
> > class definition for name: "com/google/common/base/Stopwatch"
> > >                at javassist.ClassPool.toClass(ClassPool.java:1085)
> > ~[javassist-3.12.1.GA.jar:na]
> > >                at javassist.ClassPool.toClass(ClassPool.java:1028)
> > ~[javassist-3.12.1.GA.jar:na]
> > >                at javassist.ClassPool.toClass(ClassPool.java:986)
> > ~[javassist-3.12.1.GA.jar:na]
> > >                at javassist.CtClass.toClass(CtClass.java:1079)
> > ~[javassist-3.12.1.GA.jar:na]
> > >                at org.apache.drill.exec.util.
> > GuavaPatcher.patchStopwatch(GuavaPatcher.java:66)
> > ~[drill-java-exec-1.9.0.jar:1.9.0]
> > >                at org.apache.drill.exec.util.GuavaPatcher.patch(
> GuavaPatcher.java:36)
> > ~[drill-java-exec-1.9.0.jar:1.9.0]
> > >                at org.apache.drill.exec.server.
> > Drillbit.<clinit>(Drillbit.java:63) [drill-java-exec-1.9.0.jar:1.9.0]
> > >                at org.apache.drill.jdbc.impl.
> DrillConnectionImpl.<init>(DrillConnectionImpl.java:118)
> > [drill-jdbc-1.9.0.jar:1.9.0]
> > >                at org.apache.drill.jdbc.impl.DrillJdbc41Factory.
> > newDrillConnection(DrillJdbc41Factory.java:70)
> > [drill-jdbc-1.9.0.jar:1.9.0]
> > >                at org.apache.drill.jdbc.impl.
> DrillFactory.newConnection(DrillFactory.java:69)
> > [drill-jdbc-1.9.0.jar:1.9.0]
> > >                at org.apache.calcite.avatica.
> UnregisteredDriver.connect(UnregisteredDriver.java:143)
> > [calcite-avatica-1.4.0-drill-r19.jar:1.4.0-drill-r19]
> > >                at org.apache.drill.jdbc.Driver.connect(Driver.java:72)
> > [drill-jdbc-1.9.0.jar:1.9.0]
> > >                at sqlline.DatabaseConnection.
> connect(DatabaseConnection.java:167)
> > [sqlline-1.1.9-drill-r7.jar:na]
> > >                at sqlline.DatabaseConnection.getConnection(
> DatabaseConnection.java:213)
> > [sqlline-1.1.9-drill-r7.jar:na]
> > >                at sqlline.Commands.connect(Commands.java:1083)
> > [sqlline-1.1.9-drill-r7.jar:na]
> > >                at sqlline.Commands.connect(Commands.java:1015)
> > [sqlline-1.1.9-drill-r7.jar:na]
> > >                at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
> > Method) ~[na:1.8.0_73]
> > >                at sun.reflect.NativeMethodAccessorImpl.invoke(
> > NativeMethodAccessorImpl.java:62) ~[na:1.8.0_73]
> > >                at sun.reflect.DelegatingMethodAccessorImpl.invoke(
> > DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_73]
> > >                at java.lang.reflect.Method.invoke(Method.java:497)
> > ~[na:1.8.0_73]
> > >                at sqlline.ReflectiveCommandHandler.execute(
> > ReflectiveCommandHandler.java:36) [sqlline-1.1.9-drill-r7.jar:na]
> > >                at sqlline.SqlLine.dispatch(SqlLine.java:742)
> > [sqlline-1.1.9-drill-r7.jar:na]
> > >                at sqlline.SqlLine.initArgs(SqlLine.java:528)
> > [sqlline-1.1.9-drill-r7.jar:na]
> > >                at sqlline.SqlLine.begin(SqlLine.java:596)
> > [sqlline-1.1.9-drill-r7.jar:na]
> > >                at sqlline.SqlLine.start(SqlLine.java:375)
> > [sqlline-1.1.9-drill-r7.jar:na]
> > >                at sqlline.SqlLine.main(SqlLine.java:268)
> > [sqlline-1.1.9-drill-r7.jar:na]
> > > Caused by: java.lang.LinkageError: loader (instance of
> > sun/misc/Launcher$AppClassLoader): attempted  duplicate class definition
> > for name: "com/google/common/base/Stopwatch"
> > >                at java.lang.ClassLoader.defineClass1(Native Method)
> > ~[na:1.8.0_73]
> > >                at java.lang.ClassLoader.defineClass(ClassLoader.java:
> 760)
> > ~[na:1.8.0_73]
> > >                at java.lang.ClassLoader.defineClass(ClassLoader.java:
> 642)
> > ~[na:1.8.0_73]
> > >                at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
> > Method) ~[na:1.8.0_73]
> > >                at sun.reflect.NativeMethodAccessorImpl.invoke(
> > NativeMethodAccessorImpl.java:62) ~[na:1.8.0_73]
> > >                at sun.reflect.DelegatingMethodAccessorImpl.invoke(
> > DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_73]
> > >                at java.lang.reflect.Method.invoke(Method.java:497)
> > ~[na:1.8.0_73]
> > >                at javassist.ClassPool.toClass2(ClassPool.java:1098)
> > ~[javassist-3.12.1.GA.jar:na]
> > >                at javassist.ClassPool.toClass(ClassPool.java:1079)
> > ~[javassist-3.12.1.GA.jar:na]
> > >                ... 25 common frames omitted
> > >
> > > Thanks,
> > > Ivy Chan
> > >
> > >
> > >
> > >
> > >
> > > ________________________________
> > > ********************** IMPORTANT--PLEASE READ ************************
> > This electronic message, including its attachments, is CONFIDENTIAL and
> may
> > contain PROPRIETARY or LEGALLY PRIVILEGED or PROTECTED information and is
> > intended for the authorized recipient of the sender. If you are not the
> > intended recipient, you are hereby notified that any use, disclosure,
> > copying, or distribution of this message or any of the information
> included
> > in it is unauthorized and strictly prohibited. If you have received this
> > message in error, please immediately notify the sender by reply e-mail
> and
> > permanently delete this message and its attachments, along with any
> copies
> > thereof, from all locations received (e.g., computer, mobile device,
> etc.).
> > Thank you. ************************************************************
> > ************
> >
> >
>

Re: Drill 1.9.0 - Embedded mode doesn't work on Windows

Posted by Abhishek Girish <ab...@gmail.com>.
I gave this a try on Windows - downloaded the 1.9.0 release and moved it to
C:\Users\agirish\apache-drill-1.9.0. I was successfully able to bring up
Drill in embedded mode. It looks like I did have read/write/execute
permissions on the dir (by default) - so I'm not sure if that's any
different from OP's env.

On Sat, Dec 3, 2016 at 7:46 PM, Paul Rogers <pr...@maprtech.com> wrote:

> Hi Ivy,
>
> Looks like a glitch in the shiny new dynamic UDF feature. Does the
> directory Users/ivy.chan exist on the C: drive? You can work around this in
> a couple of ways.
>
> First, disable the dynamic UDF feature (which is not really needed for an
> embedded Drillbit). Unfortunately, this works only once the Drillbit is up
> because it is a runtime SQL option:
>
> ALTER SESSION SET `exec.udf.enable_dynamic_support` = false
>
> The other is to change the location of the directory that the feature is
> trying to create. Add the following to your $DRILL_HOME/conf/drill-override.conf
> file:
>
> drill.udf.directory.root: “C:\Temp”
>
> Or any other directory that does, in fact, exist on your system.
>
> Let us know if this works. If not, perhaps Arina (who developed the
> feature) can help provide a better solution.
>
> Thanks,
>
> - Paul
>
>
> > On Dec 3, 2016, at 6:24 PM, <IC...@us.imshealth.com> <
> IChan@us.imshealth.com> wrote:
> >
> > Hi
> >
> > I'm trying out 1.9.0 on our Windows server. When launching the embedded
> mode, I got the following errors:
> >
> >
> > E:\software\apache-drill-1.9.0\bin>sqlline.bat -u "jdbc:drill:zk=local"
> > DRILL_ARGS - " -u jdbc:drill:zk=local"
> > HADOOP_HOME not detected...
> > HBASE_HOME not detected...
> > Calculating Drill classpath...
> > Error: Failure in starting embedded Drillbit: org.apache.drill.common.
> exceptions
> > .DrillRuntimeException: Error during udf area creation
> [/C:/Users/ivy.chan/drill
> > /udf/registry] on file system [file:///] (state=,code=0)
> > java.sql.SQLException: Failure in starting embedded Drillbit:
> org.apache.drill.c
> > ommon.exceptions.DrillRuntimeException: Error during udf area creation
> [/C:/User
> > s/ivy.chan/drill/udf/registry] on file system [file:///]
> >        at org.apache.drill.jdbc.impl.DrillConnectionImpl.<init>(
> DrillConnection
> > Impl.java:128)
> >        at org.apache.drill.jdbc.impl.DrillJdbc41Factory.
> newDrillConnection(Dril
> > lJdbc41Factory.java:70)
> >        at org.apache.drill.jdbc.impl.DrillFactory.newConnection(
> DrillFactory.ja
> > va:69)
> >        at org.apache.calcite.avatica.UnregisteredDriver.connect(
> UnregisteredDri
> > ver.java:143)
> >        at org.apache.drill.jdbc.Driver.connect(Driver.java:72)
> >        at sqlline.DatabaseConnection.connect(DatabaseConnection.
> java:167)
> >        at sqlline.DatabaseConnection.getConnection(
> DatabaseConnection.java:213)
> >
> >        at sqlline.Commands.connect(Commands.java:1083)
> >        at sqlline.Commands.connect(Commands.java:1015)
> >        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> >        at sun.reflect.NativeMethodAccessorImpl.invoke(
> NativeMethodAccessorImpl.
> > java:62)
> >        at sun.reflect.DelegatingMethodAccessorImpl.
> invoke(DelegatingMethodAcces
> > sorImpl.java:43)
> >        at java.lang.reflect.Method.invoke(Method.java:497)
> >        at sqlline.ReflectiveCommandHandler.execute(
> ReflectiveCommandHandler.jav
> > a:36)
> >        at sqlline.SqlLine.dispatch(SqlLine.java:742)
> >        at sqlline.SqlLine.initArgs(SqlLine.java:528)
> >        at sqlline.SqlLine.begin(SqlLine.java:596)
> >        at sqlline.SqlLine.start(SqlLine.java:375)
> >        at sqlline.SqlLine.main(SqlLine.java:268)
> > Caused by: org.apache.drill.common.exceptions.DrillRuntimeException:
> Error durin
> > g udf area creation [/C:/Users/ivy.chan/drill/udf/registry] on file
> system [file
> > :///]
> >        at org.apache.drill.common.exceptions.
> DrillRuntimeException.format(Drill
> > RuntimeException.java:49)
> >        at org.apache.drill.exec.expr.fn.registry.
> RemoteFunctionRegistry.createA
> > rea(RemoteFunctionRegistry.java:246)
> >        at org.apache.drill.exec.expr.fn.registry.
> RemoteFunctionRegistry.prepare
> > Areas(RemoteFunctionRegistry.java:208)
> >        at org.apache.drill.exec.expr.fn.registry.
> RemoteFunctionRegistry.init(Re
> > moteFunctionRegistry.java:106)
> >        at org.apache.drill.exec.server.Drillbit.run(Drillbit.java:126)
> >        at org.apache.drill.jdbc.impl.DrillConnectionImpl.<init>(
> DrillConnection
> > Impl.java:119)
> >        ... 18 more
> > Caused by: java.lang.IllegalStateException: Area
> [/C:/Users/ivy.chan/drill/udf/r
> > egistry] must be writable and executable for application user
> >        at com.google.common.base.Preconditions.checkState(
> Preconditions.java:19
> > 7)
> >        at org.apache.drill.exec.expr.fn.registry.
> RemoteFunctionRegistry.createA
> > rea(RemoteFunctionRegistry.java:238)
> >        ... 22 more
> > apache drill 1.9.0
> > "got drill?"
> >
> > It is working on 1.8.0.
> >
> > I also got compile error on sqlline.log:
> >
> > 2016-12-03 21:05:59,026 [main] WARN  o.a.drill.exec.util.GuavaPatcher -
> Unable to patch Guava classes.
> > javassist.CannotCompileException: by java.lang.LinkageError: loader
> (instance of  sun/misc/Launcher$AppClassLoader): attempted  duplicate
> class definition for name: "com/google/common/base/Stopwatch"
> >                at javassist.ClassPool.toClass(ClassPool.java:1085)
> ~[javassist-3.12.1.GA.jar:na]
> >                at javassist.ClassPool.toClass(ClassPool.java:1028)
> ~[javassist-3.12.1.GA.jar:na]
> >                at javassist.ClassPool.toClass(ClassPool.java:986)
> ~[javassist-3.12.1.GA.jar:na]
> >                at javassist.CtClass.toClass(CtClass.java:1079)
> ~[javassist-3.12.1.GA.jar:na]
> >                at org.apache.drill.exec.util.
> GuavaPatcher.patchStopwatch(GuavaPatcher.java:66)
> ~[drill-java-exec-1.9.0.jar:1.9.0]
> >                at org.apache.drill.exec.util.GuavaPatcher.patch(GuavaPatcher.java:36)
> ~[drill-java-exec-1.9.0.jar:1.9.0]
> >                at org.apache.drill.exec.server.
> Drillbit.<clinit>(Drillbit.java:63) [drill-java-exec-1.9.0.jar:1.9.0]
> >                at org.apache.drill.jdbc.impl.DrillConnectionImpl.<init>(DrillConnectionImpl.java:118)
> [drill-jdbc-1.9.0.jar:1.9.0]
> >                at org.apache.drill.jdbc.impl.DrillJdbc41Factory.
> newDrillConnection(DrillJdbc41Factory.java:70)
> [drill-jdbc-1.9.0.jar:1.9.0]
> >                at org.apache.drill.jdbc.impl.DrillFactory.newConnection(DrillFactory.java:69)
> [drill-jdbc-1.9.0.jar:1.9.0]
> >                at org.apache.calcite.avatica.UnregisteredDriver.connect(UnregisteredDriver.java:143)
> [calcite-avatica-1.4.0-drill-r19.jar:1.4.0-drill-r19]
> >                at org.apache.drill.jdbc.Driver.connect(Driver.java:72)
> [drill-jdbc-1.9.0.jar:1.9.0]
> >                at sqlline.DatabaseConnection.connect(DatabaseConnection.java:167)
> [sqlline-1.1.9-drill-r7.jar:na]
> >                at sqlline.DatabaseConnection.getConnection(DatabaseConnection.java:213)
> [sqlline-1.1.9-drill-r7.jar:na]
> >                at sqlline.Commands.connect(Commands.java:1083)
> [sqlline-1.1.9-drill-r7.jar:na]
> >                at sqlline.Commands.connect(Commands.java:1015)
> [sqlline-1.1.9-drill-r7.jar:na]
> >                at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
> Method) ~[na:1.8.0_73]
> >                at sun.reflect.NativeMethodAccessorImpl.invoke(
> NativeMethodAccessorImpl.java:62) ~[na:1.8.0_73]
> >                at sun.reflect.DelegatingMethodAccessorImpl.invoke(
> DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_73]
> >                at java.lang.reflect.Method.invoke(Method.java:497)
> ~[na:1.8.0_73]
> >                at sqlline.ReflectiveCommandHandler.execute(
> ReflectiveCommandHandler.java:36) [sqlline-1.1.9-drill-r7.jar:na]
> >                at sqlline.SqlLine.dispatch(SqlLine.java:742)
> [sqlline-1.1.9-drill-r7.jar:na]
> >                at sqlline.SqlLine.initArgs(SqlLine.java:528)
> [sqlline-1.1.9-drill-r7.jar:na]
> >                at sqlline.SqlLine.begin(SqlLine.java:596)
> [sqlline-1.1.9-drill-r7.jar:na]
> >                at sqlline.SqlLine.start(SqlLine.java:375)
> [sqlline-1.1.9-drill-r7.jar:na]
> >                at sqlline.SqlLine.main(SqlLine.java:268)
> [sqlline-1.1.9-drill-r7.jar:na]
> > Caused by: java.lang.LinkageError: loader (instance of
> sun/misc/Launcher$AppClassLoader): attempted  duplicate class definition
> for name: "com/google/common/base/Stopwatch"
> >                at java.lang.ClassLoader.defineClass1(Native Method)
> ~[na:1.8.0_73]
> >                at java.lang.ClassLoader.defineClass(ClassLoader.java:760)
> ~[na:1.8.0_73]
> >                at java.lang.ClassLoader.defineClass(ClassLoader.java:642)
> ~[na:1.8.0_73]
> >                at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
> Method) ~[na:1.8.0_73]
> >                at sun.reflect.NativeMethodAccessorImpl.invoke(
> NativeMethodAccessorImpl.java:62) ~[na:1.8.0_73]
> >                at sun.reflect.DelegatingMethodAccessorImpl.invoke(
> DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_73]
> >                at java.lang.reflect.Method.invoke(Method.java:497)
> ~[na:1.8.0_73]
> >                at javassist.ClassPool.toClass2(ClassPool.java:1098)
> ~[javassist-3.12.1.GA.jar:na]
> >                at javassist.ClassPool.toClass(ClassPool.java:1079)
> ~[javassist-3.12.1.GA.jar:na]
> >                ... 25 common frames omitted
> >
> > Thanks,
> > Ivy Chan
> >
> >
> >
> >
> >
> > ________________________________
> > ********************** IMPORTANT--PLEASE READ ************************
> This electronic message, including its attachments, is CONFIDENTIAL and may
> contain PROPRIETARY or LEGALLY PRIVILEGED or PROTECTED information and is
> intended for the authorized recipient of the sender. If you are not the
> intended recipient, you are hereby notified that any use, disclosure,
> copying, or distribution of this message or any of the information included
> in it is unauthorized and strictly prohibited. If you have received this
> message in error, please immediately notify the sender by reply e-mail and
> permanently delete this message and its attachments, along with any copies
> thereof, from all locations received (e.g., computer, mobile device, etc.).
> Thank you. ************************************************************
> ************
>
>

Re: Drill 1.9.0 - Embedded mode doesn't work on Windows

Posted by Paul Rogers <pr...@maprtech.com>.
Hi Ivy,

Looks like a glitch in the shiny new dynamic UDF feature. Does the directory Users/ivy.chan exist on the C: drive? You can work around this in a couple of ways.

First, disable the dynamic UDF feature (which is not really needed for an embedded Drillbit). Unfortunately, this works only once the Drillbit is up because it is a runtime SQL option:

ALTER SESSION SET `exec.udf.enable_dynamic_support` = false

The other is to change the location of the directory that the feature is trying to create. Add the following to your $DRILL_HOME/conf/drill-override.conf file:

drill.udf.directory.root: “C:\Temp”

Or any other directory that does, in fact, exist on your system.

Let us know if this works. If not, perhaps Arina (who developed the feature) can help provide a better solution.

Thanks,

- Paul


> On Dec 3, 2016, at 6:24 PM, <IC...@us.imshealth.com> <IC...@us.imshealth.com> wrote:
> 
> Hi
> 
> I'm trying out 1.9.0 on our Windows server. When launching the embedded mode, I got the following errors:
> 
> 
> E:\software\apache-drill-1.9.0\bin>sqlline.bat -u "jdbc:drill:zk=local"
> DRILL_ARGS - " -u jdbc:drill:zk=local"
> HADOOP_HOME not detected...
> HBASE_HOME not detected...
> Calculating Drill classpath...
> Error: Failure in starting embedded Drillbit: org.apache.drill.common.exceptions
> .DrillRuntimeException: Error during udf area creation [/C:/Users/ivy.chan/drill
> /udf/registry] on file system [file:///] (state=,code=0)
> java.sql.SQLException: Failure in starting embedded Drillbit: org.apache.drill.c
> ommon.exceptions.DrillRuntimeException: Error during udf area creation [/C:/User
> s/ivy.chan/drill/udf/registry] on file system [file:///]
>        at org.apache.drill.jdbc.impl.DrillConnectionImpl.<init>(DrillConnection
> Impl.java:128)
>        at org.apache.drill.jdbc.impl.DrillJdbc41Factory.newDrillConnection(Dril
> lJdbc41Factory.java:70)
>        at org.apache.drill.jdbc.impl.DrillFactory.newConnection(DrillFactory.ja
> va:69)
>        at org.apache.calcite.avatica.UnregisteredDriver.connect(UnregisteredDri
> ver.java:143)
>        at org.apache.drill.jdbc.Driver.connect(Driver.java:72)
>        at sqlline.DatabaseConnection.connect(DatabaseConnection.java:167)
>        at sqlline.DatabaseConnection.getConnection(DatabaseConnection.java:213)
> 
>        at sqlline.Commands.connect(Commands.java:1083)
>        at sqlline.Commands.connect(Commands.java:1015)
>        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
> java:62)
>        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
> sorImpl.java:43)
>        at java.lang.reflect.Method.invoke(Method.java:497)
>        at sqlline.ReflectiveCommandHandler.execute(ReflectiveCommandHandler.jav
> a:36)
>        at sqlline.SqlLine.dispatch(SqlLine.java:742)
>        at sqlline.SqlLine.initArgs(SqlLine.java:528)
>        at sqlline.SqlLine.begin(SqlLine.java:596)
>        at sqlline.SqlLine.start(SqlLine.java:375)
>        at sqlline.SqlLine.main(SqlLine.java:268)
> Caused by: org.apache.drill.common.exceptions.DrillRuntimeException: Error durin
> g udf area creation [/C:/Users/ivy.chan/drill/udf/registry] on file system [file
> :///]
>        at org.apache.drill.common.exceptions.DrillRuntimeException.format(Drill
> RuntimeException.java:49)
>        at org.apache.drill.exec.expr.fn.registry.RemoteFunctionRegistry.createA
> rea(RemoteFunctionRegistry.java:246)
>        at org.apache.drill.exec.expr.fn.registry.RemoteFunctionRegistry.prepare
> Areas(RemoteFunctionRegistry.java:208)
>        at org.apache.drill.exec.expr.fn.registry.RemoteFunctionRegistry.init(Re
> moteFunctionRegistry.java:106)
>        at org.apache.drill.exec.server.Drillbit.run(Drillbit.java:126)
>        at org.apache.drill.jdbc.impl.DrillConnectionImpl.<init>(DrillConnection
> Impl.java:119)
>        ... 18 more
> Caused by: java.lang.IllegalStateException: Area [/C:/Users/ivy.chan/drill/udf/r
> egistry] must be writable and executable for application user
>        at com.google.common.base.Preconditions.checkState(Preconditions.java:19
> 7)
>        at org.apache.drill.exec.expr.fn.registry.RemoteFunctionRegistry.createA
> rea(RemoteFunctionRegistry.java:238)
>        ... 22 more
> apache drill 1.9.0
> "got drill?"
> 
> It is working on 1.8.0.
> 
> I also got compile error on sqlline.log:
> 
> 2016-12-03 21:05:59,026 [main] WARN  o.a.drill.exec.util.GuavaPatcher - Unable to patch Guava classes.
> javassist.CannotCompileException: by java.lang.LinkageError: loader (instance of  sun/misc/Launcher$AppClassLoader): attempted  duplicate class definition for name: "com/google/common/base/Stopwatch"
>                at javassist.ClassPool.toClass(ClassPool.java:1085) ~[javassist-3.12.1.GA.jar:na]
>                at javassist.ClassPool.toClass(ClassPool.java:1028) ~[javassist-3.12.1.GA.jar:na]
>                at javassist.ClassPool.toClass(ClassPool.java:986) ~[javassist-3.12.1.GA.jar:na]
>                at javassist.CtClass.toClass(CtClass.java:1079) ~[javassist-3.12.1.GA.jar:na]
>                at org.apache.drill.exec.util.GuavaPatcher.patchStopwatch(GuavaPatcher.java:66) ~[drill-java-exec-1.9.0.jar:1.9.0]
>                at org.apache.drill.exec.util.GuavaPatcher.patch(GuavaPatcher.java:36) ~[drill-java-exec-1.9.0.jar:1.9.0]
>                at org.apache.drill.exec.server.Drillbit.<clinit>(Drillbit.java:63) [drill-java-exec-1.9.0.jar:1.9.0]
>                at org.apache.drill.jdbc.impl.DrillConnectionImpl.<init>(DrillConnectionImpl.java:118) [drill-jdbc-1.9.0.jar:1.9.0]
>                at org.apache.drill.jdbc.impl.DrillJdbc41Factory.newDrillConnection(DrillJdbc41Factory.java:70) [drill-jdbc-1.9.0.jar:1.9.0]
>                at org.apache.drill.jdbc.impl.DrillFactory.newConnection(DrillFactory.java:69) [drill-jdbc-1.9.0.jar:1.9.0]
>                at org.apache.calcite.avatica.UnregisteredDriver.connect(UnregisteredDriver.java:143) [calcite-avatica-1.4.0-drill-r19.jar:1.4.0-drill-r19]
>                at org.apache.drill.jdbc.Driver.connect(Driver.java:72) [drill-jdbc-1.9.0.jar:1.9.0]
>                at sqlline.DatabaseConnection.connect(DatabaseConnection.java:167) [sqlline-1.1.9-drill-r7.jar:na]
>                at sqlline.DatabaseConnection.getConnection(DatabaseConnection.java:213) [sqlline-1.1.9-drill-r7.jar:na]
>                at sqlline.Commands.connect(Commands.java:1083) [sqlline-1.1.9-drill-r7.jar:na]
>                at sqlline.Commands.connect(Commands.java:1015) [sqlline-1.1.9-drill-r7.jar:na]
>                at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_73]
>                at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_73]
>                at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_73]
>                at java.lang.reflect.Method.invoke(Method.java:497) ~[na:1.8.0_73]
>                at sqlline.ReflectiveCommandHandler.execute(ReflectiveCommandHandler.java:36) [sqlline-1.1.9-drill-r7.jar:na]
>                at sqlline.SqlLine.dispatch(SqlLine.java:742) [sqlline-1.1.9-drill-r7.jar:na]
>                at sqlline.SqlLine.initArgs(SqlLine.java:528) [sqlline-1.1.9-drill-r7.jar:na]
>                at sqlline.SqlLine.begin(SqlLine.java:596) [sqlline-1.1.9-drill-r7.jar:na]
>                at sqlline.SqlLine.start(SqlLine.java:375) [sqlline-1.1.9-drill-r7.jar:na]
>                at sqlline.SqlLine.main(SqlLine.java:268) [sqlline-1.1.9-drill-r7.jar:na]
> Caused by: java.lang.LinkageError: loader (instance of  sun/misc/Launcher$AppClassLoader): attempted  duplicate class definition for name: "com/google/common/base/Stopwatch"
>                at java.lang.ClassLoader.defineClass1(Native Method) ~[na:1.8.0_73]
>                at java.lang.ClassLoader.defineClass(ClassLoader.java:760) ~[na:1.8.0_73]
>                at java.lang.ClassLoader.defineClass(ClassLoader.java:642) ~[na:1.8.0_73]
>                at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_73]
>                at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_73]
>                at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_73]
>                at java.lang.reflect.Method.invoke(Method.java:497) ~[na:1.8.0_73]
>                at javassist.ClassPool.toClass2(ClassPool.java:1098) ~[javassist-3.12.1.GA.jar:na]
>                at javassist.ClassPool.toClass(ClassPool.java:1079) ~[javassist-3.12.1.GA.jar:na]
>                ... 25 common frames omitted
> 
> Thanks,
> Ivy Chan
> 
> 
> 
> 
> 
> ________________________________
> ********************** IMPORTANT--PLEASE READ ************************ This electronic message, including its attachments, is CONFIDENTIAL and may contain PROPRIETARY or LEGALLY PRIVILEGED or PROTECTED information and is intended for the authorized recipient of the sender. If you are not the intended recipient, you are hereby notified that any use, disclosure, copying, or distribution of this message or any of the information included in it is unauthorized and strictly prohibited. If you have received this message in error, please immediately notify the sender by reply e-mail and permanently delete this message and its attachments, along with any copies thereof, from all locations received (e.g., computer, mobile device, etc.). Thank you. ************************************************************************