[
https://issues.apache.org/jira/browse/CALCITE-4502?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17286307#comment-17286307
]
Julian Hyde commented on CALCITE-4502:
--------------------------------------
Probably the problem is instantiating Janino. See if there are any differences
on your classpath between JDK 8 and 11, in particular conflicts. See
FLINK-14849, for example.
> Java 11 - Druid Query to Rel node error
> ---------------------------------------
>
> Key: CALCITE-4502
> URL: https://issues.apache.org/jira/browse/CALCITE-4502
> Project: Calcite
> Issue Type: Bug
> Components: druid-adapter
> Reporter: Rajat Mittal
> Priority: Blocker
>
> I am using calcite to convert druid query to SQL. Here is the open-source
> code for the web service that I use:
> [https://github.com/yahoo/fili/blob/master/fili-sql/src/main/java/com/yahoo/bard/webservice/sql/DruidQueryToSqlConverter.java#L423-L452]
> When I upgrade to using Java 11 for this code, it is able to compile but
> gives me a runtime error.
> {code:java}
> 17:42:56.740 ERROR [ForkJoinPool.commonPool-worker-3]
> c.y.b.w.w.r.MappingResponseProcessor - Failed to send the query
> com.yahoo.bard.webservice.druid.model.query.TopNQuery@3a615251 to Druid.
> java.lang.IllegalStateException: Unable to instantiate java compiler
> at
> org.apache.calcite.rel.metadata.JaninoRelMetadataProvider.compile(JaninoRelMetadataProvider.java:433)
> at
> org.apache.calcite.rel.metadata.JaninoRelMetadataProvider.load3(JaninoRelMetadataProvider.java:374)
> at
> org.apache.calcite.rel.metadata.JaninoRelMetadataProvider.lambda$static$0(JaninoRelMetadataProvider.java:109)
> at
> com.google.common.cache.CacheLoader$FunctionToCacheLoader.load(CacheLoader.java:165)
> at
> com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3529)
> at
> com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2278)
> at
> com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2156)
> at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2046)
> at com.google.common.cache.LocalCache.get(LocalCache.java:3948)
> at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3972)
> at
> com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4957)
> at
> org.apache.calcite.rel.metadata.JaninoRelMetadataProvider.create(JaninoRelMetadataProvider.java:474)
> at
> org.apache.calcite.rel.metadata.JaninoRelMetadataProvider.revise(JaninoRelMetadataProvider.java:487)
> at
> org.apache.calcite.rel.metadata.RelMetadataQueryBase.revise(RelMetadataQueryBase.java:95)
> at
> org.apache.calcite.rel.metadata.RelMetadataQuery.collations(RelMetadataQuery.java:541)
> at
> org.apache.calcite.rel.metadata.RelMdCollation.filter(RelMdCollation.java:247)
> at
> org.apache.calcite.rel.logical.LogicalFilter.lambda$create$0(LogicalFilter.java:111)
> at org.apache.calcite.plan.RelTraitSet.replaceIfs(RelTraitSet.java:242)
> at
> org.apache.calcite.rel.logical.LogicalFilter.create(LogicalFilter.java:110)
> at
> org.apache.calcite.rel.core.RelFactories$FilterFactoryImpl.createFilter(RelFactories.java:339)
> at org.apache.calcite.tools.RelBuilder.filter(RelBuilder.java:1197)
> at org.apache.calcite.tools.RelBuilder.filter(RelBuilder.java:1155)
> at
> com.yahoo.bard.webservice.sql.DruidQueryToSqlConverter.convertDruidQueryToRelNode(DruidQueryToSqlConverter.java:425)
> at
> com.yahoo.bard.webservice.sql.DruidQueryToSqlConverter.buildSqlQuery(DruidQueryToSqlConverter.java:213)
> {code}
> Nothing in my code has changed apart from building the source code using
> Jdk11 instead of Jdk8. The web service is also capable of serving endpoints
> that do not use calcite and they all run fine. Any help here would be
> appreciated.
>
--
This message was sent by Atlassian Jira
(v8.3.4#803005)