Nice sleuthing!
Thanks,
- Paul
On Thursday, April 9, 2020, 1:07:48 PM PDT, Jaimes, Rafael - 0993 - MITLL
<[email protected]> wrote:
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 <[email protected]>
Sent: Thursday, April 9, 2020 3:31 PM
To: [email protected]
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?
Thanks,
- Paul
On Thursday, April 9, 2020, 8:55:37 AM PDT, Bob Rudis <[email protected]> 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
> <[email protected]> wrote:
>
> 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).