drill-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Paul Rogers <par0...@yahoo.com.INVALID>
Subject Re: java version for Drill JDBC driver
Date Thu, 09 Apr 2020 21:13:43 GMT
Nice sleuthing!

- Paul


    On Thursday, April 9, 2020, 1:07:48 PM PDT, Jaimes, Rafael - 0993 - MITLL <rafael.jaimes@ll.mit.edu>
 One of my coworkers looked at the pom.xml in /exec/jdbc and noticed there was a version of
javax.validation being called in about 7 years old (1.1.0.Final)
Replacing it with version 2.0.1.Final and rebuild of the JDBC driver jar solved the problem.

-----Original Message-----
From: Paul Rogers <par0328@yahoo.com.INVALID> 
Sent: Thursday, April 9, 2020 3:31 PM
To: user@drill.apache.org
Subject: Re: java version for Drill JDBC driver

Hi Rafael,

Drill's Git-based tests run against all Java versions from 8 to 14. Our biggest challenge
is Guava: Drill has many dependencies and some use different (and incompatible) Guava versions.
There is a "patcher" to edit the code at runtime to fix the issue.

Presto is nice in that it will load your connector using a dedicated class loader so that
Drill's many dependencies should not conflict with Preso's dependencies. (We are slowly working
on something similar for Drill.)

Your specific error is mysterious. That "getClockProviderClassName()" looks like Java's SPI
system is trying to find a "clock provider" and failing. I've not seen anything like that
in Drill.

I wonder if Drill's overly large set of JDBC dependencies is somehow conflicting with those
in Presto?

- Paul


    On Thursday, April 9, 2020, 8:55:37 AM PDT, Bob Rudis <bob@rud.is> wrote:  
 I use the JDBC driver via an RJDBC wrapper I wrote and the rJava it runs in is built with
JDK 11, so it definitely is working in 11 for me.

> On Apr 9, 2020, at 11:38, Jaimes, Rafael - 0993 - MITLL <Rafael.Jaimes@ll.mit.edu>
> On the topic of java versions, I am trying to load the Drill JDBC driver in a docker
container running Presto and Java 11, I’m getting the following error:
> ERROR main io.prestosql.server.PrestoServer 'java.lang.String javax.validation.BootstrapConfiguration.getClockProviderClassName()'
java.lang.NoSuchMethodError: 'java.lang.String javax.validation.BootstrapConfiguration.getClockProviderClassName()'
> Some stackoverflow searching shows that others have resolved that error for other projects
by changing Java versions (7 to 8 for example). I normally run Drill in a Java 8 environment,
but what about the JDBC driver? Should it work in Java 11 or is it 8 only?
> My query Presto with Drill experiment has failed, so I am trying it the other way around
out of curiosity (query Drill with Presto).
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message