Re: [I] Question regarding the jdbc driver with Java > 8 (drill)
jnturton commented on issue #2882: URL: https://github.com/apache/drill/issues/2882#issuecomment-1965733063 Hi. To this day, every binary distribution of Drill released by the project, including the published Maven artifacts, maintains JDK 8 compatibility. Even when that distro is bundled with a newer JDK, e.g. the Docker image based on JDK 17. > We are using maven as a build system and have org.apache.drill.exec:drill-jdbc:jar:1.21.0 as a dependency @Der-Joscha, please use the artifact org.apache.drill.exec:drill-jdbc-all:jar:1.21.0 instead, this is the JDBC driver repackaged for distribution. > Drill is tested against Java 8, 11, and 17. I had always assumed the same is true of Drill's JDBC driver, but it seems now that might not be the case? It is the case. The _repackaged_ driver, jdbc-all, is [only minimally tested](https://github.com/apache/drill/actions/runs/7780452805/job/21213166830#step:5:24009) but I, for one, use it locally under Java 17. > Do you know whether the JDBC driver gets updated in mvncentral when we do updates? It does, [here are the artifacts for 1.21.1](https://repository.apache.org/content/repositories/releases/org/apache/drill/exec/drill-jdbc-all/1.21.1/). @Der-Joscha let us know if the module access errors are resolved when you switch to jdbc-all. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: dev-unsubscr...@drill.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
Re: [PR] DRILL-8475: Update the binary distributions LICENSE (drill)
cgivre merged PR #2879: URL: https://github.com/apache/drill/pull/2879 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: dev-unsubscr...@drill.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
Re: [I] Question regarding the jdbc driver with Java > 8 (drill)
Der-Joscha commented on issue #2882: URL: https://github.com/apache/drill/issues/2882#issuecomment-1965231451 Is there anything I should have done except changing `maven.compiler.source` and `maven.compiler.target` to 17? With this configuration, it seems, that `--add-opens java.base/java.lang=ALL-UNNAMED` is still required (regardless of whether there is module-info in my source tree). -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: dev-unsubscr...@drill.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
Re: [I] Question regarding the jdbc driver with Java > 8 (drill)
cgivre commented on issue #2882: URL: https://github.com/apache/drill/issues/2882#issuecomment-1964358761 @Der-Joscha One thing... Drill's JDBC driver is located here [1]. You might try building and running that yourself with Java 17 and seeing if that works. [1]: https://github.com/apache/drill/tree/master/exec/jdbc -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: dev-unsubscr...@drill.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
Re: [I] Question regarding the jdbc driver with Java > 8 (drill)
cgivre commented on issue #2882: URL: https://github.com/apache/drill/issues/2882#issuecomment-1964350759 @Der-Joscha This is the right place, and we can help you out with this. I'm wondering if we are simply not updating what is in maven. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: dev-unsubscr...@drill.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
Re: [I] Question regarding the jdbc driver with Java > 8 (drill)
Der-Joscha commented on issue #2882: URL: https://github.com/apache/drill/issues/2882#issuecomment-1964342062 Thanks for your fast reply, I did not find an alternative artifact in the mvnrepository that indicates it is made for java 11 or 17. Do you know who I can ask, if this is not the right place? -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: dev-unsubscr...@drill.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[I] Question regarding the jdbc driver with Java > 8 (drill)
Der-Joscha opened a new issue, #2882: URL: https://github.com/apache/drill/issues/2882 Hello, I am currently working on an application with java 21 that uses the jdbc driver from drill to execute distributed sql queries. Since the module system was introduced with Java 9, we get exceptions on startup that drill cannot patch various dependencies (see stacktrace below). I am aware that drill tries to access classes that are not exported via reflection, which fails for obvious reasons. What I already did: - See if there are versions that supprot java>8. I found docker images that use java 17, but I have not found a jdbc driver that supports this version - Add `--add-opens java.base/java.lang=ALL-UNNAMED` to the jvm at runtime, which resolves the issue but is rather unappealing workaround as some drill images seem to support java>8 Our setup is the following: - We are using java 21 and unfortunately cannot downgrade to java 8 due to other dependencies. - We are using maven as a build system and have `org.apache.drill.exec:drill-jdbc:jar:1.21.0` as a dependency Is there a possibility to use the drill jdbc driver with a java version > 8, or are we stuck with our workaround? I will happily provide more information if needed. Thanks in advance. Stacktrace org.apache.drill.common.util.ProtobufPatcher patchByteString 2024-02-26T12:45:13.072736994Z WARNING: Unable to patch Protobuf. 2024-02-26T12:45:13.072742894Z java.lang.reflect.InaccessibleObjectException: Unable to make protected final java.lang.Class java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain) throws java.lang.ClassFormatError accessible: module java.base does not "opens java.lang" to unnamed module @edc0eb6 2024-02-26T12:45:13.072747295Z at java.base/java.lang.reflect.AccessibleObject.throwInaccessibleObjectException(AccessibleObject.java:391) 2024-02-26T12:45:13.072750695Z at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:367) 2024-02-26T12:45:13.072753895Z at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:315) 2024-02-26T12:45:13.072756995Z at java.base/java.lang.reflect.Method.checkCanSetAccessible(Method.java:203) 2024-02-26T12:45:13.072759795Z at java.base/java.lang.reflect.Method.setAccessible(Method.java:197) 2024-02-26T12:45:13.072762695Z at javassist.util.proxy.SecurityActions.setAccessible(SecurityActions.java:159) 2024-02-26T12:45:13.072765296Z at javassist.util.proxy.DefineClassHelper$JavaOther.defineClass(DefineClassHelper.java:213) 2024-02-26T12:45:13.072767696Z at javassist.util.proxy.DefineClassHelper$Java11.defineClass(DefineClassHelper.java:52) 2024-02-26T12:45:13.072770496Z at javassist.util.proxy.DefineClassHelper.toClass(DefineClassHelper.java:260) 2024-02-26T12:45:13.072774596Z at javassist.ClassPool.toClass(ClassPool.java:1240) 2024-02-26T12:45:13.072792697Z at javassist.ClassPool.toClass(ClassPool.java:1098) 2024-02-26T12:45:13.072796597Z at javassist.ClassPool.toClass(ClassPool.java:1056) 2024-02-26T12:45:13.072799497Z at javassist.CtClass.toClass(CtClass.java:1298) 2024-02-26T12:45:13.072802398Z at org.apache.drill.common.util.ProtobufPatcher.patchByteString(ProtobufPatcher.java:77) 2024-02-26T12:45:13.072805198Z at org.apache.drill.common.util.ProtobufPatcher.patch(ProtobufPatcher.java:48) 2024-02-26T12:45:13.072808098Z at org.apache.drill.jdbc.Driver.(Driver.java:46) 2024-02-26T12:45:13.072811198Z at java.base/jdk.internal.misc.Unsafe.ensureClassInitialized0(Native Method) 2024-02-26T12:45:13.072813898Z at java.base/jdk.internal.misc.Unsafe.ensureClassInitialized(Unsafe.java:1160) 2024-02-26T12:45:13.072816798Z at java.base/jdk.internal.reflect.MethodHandleAccessorFactory.ensureClassInitialized(MethodHandleAccessorFactory.java:300) 2024-02-26T12:45:13.072820999Z at java.base/jdk.internal.reflect.MethodHandleAccessorFactory.newConstructorAccessor(MethodHandleAccessorFactory.java:103) 2024-02-26T12:45:13.072823999Z at java.base/jdk.internal.reflect.ReflectionFactory.newConstructorAccessor(ReflectionFactory.java:200) 2024-02-26T12:45:13.072827499Z at java.base/java.lang.reflect.Constructor.acquireConstructorAccessor(Constructor.java:549) 2024-02-26T12:45:13.072830299Z at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) 2024-02-26T12:45:13.072832999Z at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:486) 2024-02-26T12:45:13.072835899Z at java.base/java.util.ServiceLoader$ProviderImpl.newInstance(ServiceLoader.java:789) 2024-02-26T12:45:13.072838699Z at