Rajat Mittal created CALCITE-4502:
-------------------------------------

             Summary: 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


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)

Reply via email to