You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@calcite.apache.org by "Rajat Mittal (Jira)" <ji...@apache.org> on 2021/02/18 03:53:00 UTC

[jira] [Created] (CALCITE-4502) Java 11 - Druid Query to Rel node error

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)