I’ve spent the whole morning going through some things. 1). The windows PATH variable only has the path to the Java JDK in it. 2). I’ve been through the class path output in the log file, and only has references to files under C:\Program Files\Apache Drill\apache-drill-1.13.0\jars 3). I tried the UDF fix described below and this did not fix it (the drill\udf\registry folder is created under my profile).
Thinking about it logically (I have tried to run the Drill code base using Intellij but got lots of dependency errors), the log throws an exception when loading a jdbc driver (guava class issue), so I used jdeps to try to find the clash in guava versions, and it looks like everything is using guava-18.0 Also while digging around I found this on stackoverflow, this person gets the same behaviour (it was asked only 5 days ago): https://stackoverflow.com/questions/50487014/apache-drill-1-12-0-failure-in-starting-embedded-drillbit-and-no-current-conn and another developer that I work with followed the 10 minute tutorial and got exactly the same behaviour, so that is 5 people(including stackoverflow). What is interesting is that the guy on stackoverflow is also a Windows user. Are there folk in the Drill community who use Windows desk tops, or are most people using either Mac OS or Ubuntu? I really don’t know how to proceed. Dave. From: Charles Givre [mailto:[email protected]] Sent: 24 May 2018 19:21 To: Richardson, David Cc: user; Divya Gehlot Subject: Re: Apache Drill in 10 Minutes - Problems I love helpful error messages ;-) Can you check the classpath to see if there any additional classes that are there? I’ve gotten connection issues like this when I had a database driver in the CLASSPATH. Also take a look at this response: http://mail-archives.apache.org/mod_mbox/drill-user/201612.mbox/%3cdf1248d3d81caf44b1fd5856520618650c6698c...@sacvmsx15.phi.imsglobal.com%3E<http://mail-archives.apache.org/mod_mbox/drill-user/201612.mbox/%3cdf1248d3d81caf44b1fd5856520618650c6698c...@sacvmsx15.phi.imsglobal.com%3e> — C On May 24, 2018, at 11:47, Richardson, David <[email protected]<mailto:[email protected]>> wrote: Thank you. This gives us a wonderful exception: java.lang.NullPointerException at org.apache.drill.exec.coord.local.LocalClusterCoordinator.update(LocalClusterCoordinator.java:98) at org.apache.drill.exec.server.Drillbit.close(Drillbit.java:228) at org.apache.drill.jdbc.impl.DrillConnectionImpl.cleanup(DrillConnectionImpl.java:827) at org.apache.drill.jdbc.impl.DrillConnectionImpl.<init>(DrillConnectionImpl.java:186) at org.apache.drill.jdbc.impl.DrillJdbc41Factory.newDrillConnection(DrillJdbc41Factory.java:73) at org.apache.drill.jdbc.impl.DrillFactory.newConnection(DrillFactory.java:69) at org.apache.calcite.avatica.UnregisteredDriver.connect(UnregisteredDriver.java:138) at org.apache.drill.jdbc.Driver.connect(Driver.java:72) at sqlline.DatabaseConnection.connect(DatabaseConnection.java:168) at sqlline.DatabaseConnection.getConnection(DatabaseConnection.java:214) at sqlline.DatabaseConnection.reconnect(DatabaseConnection.java:221) at sqlline.Commands.reconnect(Commands.java:434) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at sqlline.ReflectiveCommandHandler.execute(ReflectiveCommandHandler.java:36) at sqlline.SqlLine.dispatch(SqlLine.java:742) at sqlline.SqlLine.begin(SqlLine.java:621) at sqlline.SqlLine.start(SqlLine.java:375) at sqlline.SqlLine.main(SqlLine.java:268) Which is interesting, in that in the sqlline.log file, when the service starts we get : 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:1099) ~[javassist-3.16.1-GA.jar:na] at javassist.ClassPool.toClass(ClassPool.java:1042) ~[javassist-3.16.1-GA.jar:na] at javassist.ClassPool.toClass(ClassPool.java:1000) ~[javassist-3.16.1-GA.jar:na] at javassist.CtClass.toClass(CtClass.java:1140) ~[javassist-3.16.1-GA.jar:na] at org.apache.drill.exec.util.GuavaPatcher.patchStopwatch(GuavaPatcher.java:66) ~[drill-java-exec-1.13.0.jar:1.13.0] at org.apache.drill.exec.util.GuavaPatcher.patch(GuavaPatcher.java:36) ~[drill-java-exec-1.13.0.jar:1.13.0] at org.apache.drill.exec.server.Drillbit.<clinit>(Drillbit.java:69) [drill-java-exec-1.13.0.jar:1.13.0] at org.apache.drill.jdbc.impl.DrillConnectionImpl.<init>(DrillConnectionImpl.java:134) [drill-jdbc-1.13.0.jar:1.13.0] at org.apache.drill.jdbc.impl.DrillJdbc41Factory.newDrillConnection(DrillJdbc41Factory.java:73) [drill-jdbc-1.13.0.jar:1.13.0] at org.apache.drill.jdbc.impl.DrillFactory.newConnection(DrillFactory.java:69) [drill-jdbc-1.13.0.jar:1.13.0] at org.apache.calcite.avatica.UnregisteredDriver.connect(UnregisteredDriver.java:138) [avatica-1.10.0.jar:1.10.0] at org.apache.drill.jdbc.Driver.connect(Driver.java:72) [drill-jdbc-1.13.0.jar:1.13.0] at sqlline.DatabaseConnection.connect(DatabaseConnection.java:168) [sqlline-1.1.9-drill-r7.jar:na] at sqlline.DatabaseConnection.getConnection(DatabaseConnection.java:214) [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_171] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_171] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_171] at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_171] 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_171] at java.lang.ClassLoader.defineClass(ClassLoader.java:763) ~[na:1.8.0_171] at java.lang.ClassLoader.defineClass(ClassLoader.java:642) ~[na:1.8.0_171] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_171] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_171] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_171] at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_171] at javassist.ClassPool.toClass2(ClassPool.java:1112) ~[javassist-3.16.1-GA.jar:na] at javassist.ClassPool.toClass(ClassPool.java:1093) ~[javassist-3.16.1-GA.jar:na] and the following line is common to both : at org.apache.calcite.avatica.UnregisteredDriver.connect(UnregisteredDriver.java:138) What do you think? Dave. From: Charles Givre [mailto:[email protected]] Sent: 24 May 2018 16:31 To: user Cc: Divya Gehlot; Richardson, David Subject: Re: Apache Drill in 10 Minutes - Problems Hi Dave, Can you do the following: 1. Start Drill and execute the following query: !set verbose true 2. Then: !reconnect And send the complete output? On May 24, 2018, at 11:05, Richardson, David <[email protected]<mailto:[email protected]>> wrote: Hi Divya. I’ve tried both 1.10 and 1.11, they exhibit the same behaviour. To try to get to the root cause of the issue I removed everything from my PATH variable except for the path to the Java 8 JDK. Another colleague of mine (that is 3 of us now) has also tried the 10 minute tutorial and is getting the same behaviour. Charles commented that it could be a problem with a storage plugin. I’ve noticed that config for the default plugins gets written to C:\tmp\drill\sys.storage_plugins, but from the documentation I cannot figure out how to turn the default plugins off. Any thoughts? Dave. From: Divya Gehlot [mailto:[email protected]] Sent: 24 May 2018 11:04 To: [email protected]<mailto:[email protected]>; Richardson, David Subject: Re: Apache Drill in 10 Minutes - Problems CAUTION EXTERNAL EMAIL DO NOT open attachments or click on links from unknown senders or within unexpected emails. hi David , Can you try with Drill 1.10 or Drill 1.11 version? Both works fine and I have tested it . Thanks, Divya On 23 May 2018 at 16:11, Richardson, David <[email protected]<mailto:[email protected]><mailto:[email protected]>> wrote: Hi folk. My self and a colleague have both (independently) been trying the Apache Drill in 10 Minutes tutorial, and have both failed to get Apache Drill to work. We both experience the same symptoms. These are: 1. when running a test query the “No current connection” message is returned 2. unable to connect to the Web Console (using any one of : localhost; fully qualified machine name; ip address) 3. when issuing the !quit command an exception is thrown We are using Windows 7 work stations with JDK/JRE 1.8.0_171 Our JAVA_HOME points to the correct version of the JDK, and the path to the Java\jdk1.8.0_171\bin is in the PATH environment variable. To make sure that Windows picked up the environment variable changes we rebooted. I’ve attached the sqlline.log (sensitive data masked by XXXXXXXX), and the console output is below. Your help would be much appreciated. Many thanks. Dave. Command line output C:\Program Files\Apache Drill\apache-drill-1.13.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... java.lang.NullPointerException apache drill 1.13.0 "a little sql for your nosql" 0: jdbc:drill:zk=local> select version from sys.version; No current connection 0: jdbc:drill:zk=local> !quit java.lang.NullPointerException at org.apache.drill.exec.coord.local.LocalClusterCoordinator.update(LocalClusterCoordinator.java:98) at org.apache.drill.exec.server.Drillbit.close(Drillbit.java:228) at org.apache.drill.jdbc.impl.DrillConnectionImpl.cleanup(DrillConnectionImpl.java:827) at org.apache.drill.jdbc.impl.DrillConnectionImpl.<init>(DrillConnectionImpl.java:186) at org.apache.drill.jdbc.impl.DrillJdbc41Factory.newDrillConnection(DrillJdbc41Factory.java:73) at org.apache.drill.jdbc.impl.DrillFactory.newConnection(DrillFactory.java:69) at org.apache.calcite.avatica.UnregisteredDriver.connect(UnregisteredDriver.java:138) at org.apache.drill.jdbc.Driver.connect(Driver.java:72) at sqlline.DatabaseConnection.connect(DatabaseConnection.java:168) at sqlline.DatabaseConnection.getConnection(DatabaseConnection.java:214) at sqlline.Commands.close(Commands.java:925) at sqlline.Commands.quit(Commands.java:889) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at sqlline.ReflectiveCommandHandler.execute(ReflectiveCommandHandler.java:36) at sqlline.SqlLine.dispatch(SqlLine.java:742) at sqlline.SqlLine.begin(SqlLine.java:621) at sqlline.SqlLine.start(SqlLine.java:375) at sqlline.SqlLine.main(SqlLine.java:268) java.lang.NullPointerException at org.apache.drill.exec.coord.local.LocalClusterCoordinator.update(LocalClusterCoordinator.java:98) at org.apache.drill.exec.server.Drillbit.close(Drillbit.java:228) at org.apache.drill.jdbc.impl.DrillConnectionImpl.cleanup(DrillConnectionImpl.java:827) at org.apache.drill.jdbc.impl.DrillConnectionImpl.<init>(DrillConnectionImpl.java:186) at org.apache.drill.jdbc.impl.DrillJdbc41Factory.newDrillConnection(DrillJdbc41Factory.java:73) at org.apache.drill.jdbc.impl.DrillFactory.newConnection(DrillFactory.java:69) at org.apache.calcite.avatica.UnregisteredDriver.connect(UnregisteredDriver.java:138) at org.apache.drill.jdbc.Driver.connect(Driver.java:72) at sqlline.DatabaseConnection.connect(DatabaseConnection.java:168) at sqlline.DatabaseConnection.getConnection(DatabaseConnection.java:214) at sqlline.Commands.close(Commands.java:925) at sqlline.Commands.closeall(Commands.java:899) at sqlline.SqlLine.begin(SqlLine.java:649) at sqlline.SqlLine.start(SqlLine.java:375) at sqlline.SqlLine.main(SqlLine.java:268) **************************************************************** Daiwa Capital Markets Europe Limited is registered in England (registered number 01487359). The registered office is at 5 King William Street, London EC4N<https://maps.google.com/?q=5+King+William+Street,+London+EC4N&entry=gmail&source=g> 7AX. The company is authorised and regulated by The Financial Conduct Authority and is a member of the London Stock Exchange. The information contained in this E-Mail is confidential unless the sender has specifically stated otherwise. If you are not the intended recipient please notify Daiwa Capital Markets Europe Limited at the sender's address and delete it immediately. Communications sent by or to any person through our computer systems may be viewed by other personnel and agents of Daiwa Capital Markets Europe Limited . The sender does not intend by sending this message to form a contract with the recipient, and Daiwa Capital Markets Europe Limited, its affiliates and staff do not accept any liability for the contents of this message. The information contained herein has been obtained from sources we believe to be reliable but we do not represent that it is accurate or complete, and therefore, Daiwa Capital Markets Europe Limited, its affiliates and staff cannot be held responsible or liable for the contents of this message. The foregoing is not an offer or solicitation to buy or sell any security, instrument or investment. In addition Daiwa Capital Markets Europe Limited, or any affiliated company, may have an interest, position, or effect transactions, in any investment mentioned herein. Any opinions or recommendations expressed herein are solely those of the author or analyst. Where you have received a communication from Daiwa Capital Markets Europe Limited this may include information which constitutes an investment recommendation as defined by the European Market Abuse Regulation (MAR). In this context, please see for important regulatory information in this regard: http://www.uk.daiwacm.com/7131.aspx. If you have any questions in relation to MAR and its impact on your relationship with Daiwa Capital Markets Europe Limited please let your salesperson know. **************************************************************** Daiwa Capital Markets Europe Limited is registered in England (registered number 01487359). The registered office is at 5 King William Street, London EC4N 7AX. The company is authorised and regulated by The Financial Conduct Authority and is a member of the London Stock Exchange. The information contained in this E-Mail is confidential unless the sender has specifically stated otherwise. If you are not the intended recipient please notify Daiwa Capital Markets Europe Limited at the sender's address and delete it immediately. Communications sent by or to any person through our computer systems may be viewed by other personnel and agents of Daiwa Capital Markets Europe Limited . The sender does not intend by sending this message to form a contract with the recipient, and Daiwa Capital Markets Europe Limited, its affiliates and staff do not accept any liability for the contents of this message. The information contained herein has been obtained from sources we believe to be reliable but we do not represent that it is accurate or complete, and therefore, Daiwa Capital Markets Europe Limited, its affiliates and staff cannot be held responsible or liable for the contents of this message. The foregoing is not an offer or solicitation to buy or sell any security, instrument or investment. In addition Daiwa Capital Markets Europe Limited, or any affiliated company, may have an interest, position, or effect transactions, in any investment mentioned herein. Any opinions or recommendations expressed herein are solely those of the author or analyst. Where you have received a communication from Daiwa Capital Markets Europe Limited this may include information which constitutes an investment recommendation as defined by the European Market Abuse Regulation (MAR). In this context, please see for important regulatory information in this regard: http://www.uk.daiwacm.com/7131.aspx. If you have any questions in relation to MAR and its impact on your relationship with Daiwa Capital Markets Europe Limited please let your salesperson know. **************************************************************** Daiwa Capital Markets Europe Limited is registered in England (registered number 01487359). The registered office is at 5 King William Street, London EC4N 7AX. The company is authorised and regulated by The Financial Conduct Authority and is a member of the London Stock Exchange. The information contained in this E-Mail is confidential unless the sender has specifically stated otherwise. If you are not the intended recipient please notify Daiwa Capital Markets Europe Limited at the sender's address and delete it immediately. Communications sent by or to any person through our computer systems may be viewed by other personnel and agents of Daiwa Capital Markets Europe Limited . The sender does not intend by sending this message to form a contract with the recipient, and Daiwa Capital Markets Europe Limited, its affiliates and staff do not accept any liability for the contents of this message. The information contained herein has been obtained from sources we believe to be reliable but we do not represent that it is accurate or complete, and therefore, Daiwa Capital Markets Europe Limited, its affiliates and staff cannot be held responsible or liable for the contents of this message. The foregoing is not an offer or solicitation to buy or sell any security, instrument or investment. In addition Daiwa Capital Markets Europe Limited, or any affiliated company, may have an interest, position, or effect transactions, in any investment mentioned herein. Any opinions or recommendations expressed herein are solely those of the author or analyst. Where you have received a communication from Daiwa Capital Markets Europe Limited this may include information which constitutes an investment recommendation as defined by the European Market Abuse Regulation (MAR). In this context, please see for important regulatory information in this regard: http://www.uk.daiwacm.com/7131.aspx. If you have any questions in relation to MAR and its impact on your relationship with Daiwa Capital Markets Europe Limited please let your salesperson know. **************************************************************** Daiwa Capital Markets Europe Limited is registered in England (registered number 01487359). The registered office is at 5 King William Street, London EC4N 7AX. The company is authorised and regulated by The Financial Conduct Authority and is a member of the London Stock Exchange. The information contained in this E-Mail is confidential unless the sender has specifically stated otherwise. If you are not the intended recipient please notify Daiwa Capital Markets Europe Limited at the sender's address and delete it immediately. Communications sent by or to any person through our computer systems may be viewed by other personnel and agents of Daiwa Capital Markets Europe Limited . The sender does not intend by sending this message to form a contract with the recipient, and Daiwa Capital Markets Europe Limited, its affiliates and staff do not accept any liability for the contents of this message. The information contained herein has been obtained from sources we believe to be reliable but we do not represent that it is accurate or complete, and therefore, Daiwa Capital Markets Europe Limited, its affiliates and staff cannot be held responsible or liable for the contents of this message. The foregoing is not an offer or solicitation to buy or sell any security, instrument or investment. In addition Daiwa Capital Markets Europe Limited, or any affiliated company, may have an interest, position, or effect transactions, in any investment mentioned herein. Any opinions or recommendations expressed herein are solely those of the author or analyst. Where you have received a communication from Daiwa Capital Markets Europe Limited this may include information which constitutes an investment recommendation as defined by the European Market Abuse Regulation (MAR). In this context, please see for important regulatory information in this regard: http://www.uk.daiwacm.com/7131.aspx. If you have any questions in relation to MAR and its impact on your relationship with Daiwa Capital Markets Europe Limited please let your salesperson know.
