Search code examples
javajakarta-eeapache-drillapache-calcite

Apache Calcite is not working in Web Application


I'm using Apache Calcite in My Project to do CSV,Excel and Other Database management. Its working when i execute through main method but its giving an error while executing through web service

Caused by: java.lang.RuntimeException: org.codehaus.commons.compiler.CompileException: Line 1, Column 0: package org.apache.calcite.rel.metadata does not exist (compiler.err.doesnt.exist)
    at com.google.common.base.Throwables.propagate(Throwables.java:160)
    at org.apache.calcite.rel.metadata.JaninoRelMetadataProvider.load3(JaninoRelMetadataProvider.java:361)
    at org.apache.calcite.rel.metadata.JaninoRelMetadataProvider.access$000(JaninoRelMetadataProvider.java:94)
    at org.apache.calcite.rel.metadata.JaninoRelMetadataProvider$1.load(JaninoRelMetadataProvider.java:113)
    at org.apache.calcite.rel.metadata.JaninoRelMetadataProvider$1.load(JaninoRelMetadataProvider.java:110)
    at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3527)
    at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2319)
    at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2282)
    at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2197)
    at com.google.common.cache.LocalCache.get(LocalCache.java:3937)
    at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3941)
    at com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4824)
    at org.apache.calcite.rel.metadata.JaninoRelMetadataProvider.create(JaninoRelMetadataProvider.java:448)
    at org.apache.calcite.rel.metadata.JaninoRelMetadataProvider.revise(JaninoRelMetadataProvider.java:460)
    at org.apache.calcite.rel.metadata.RelMetadataQuery.revise(RelMetadataQuery.java:186)
    at org.apache.calcite.rel.metadata.RelMetadataQuery.collations(RelMetadataQuery.java:484)
    at org.apache.calcite.rel.metadata.RelMdCollation.project(RelMdCollation.java:207)
    at org.apache.calcite.rel.logical.LogicalProject$1.get(LogicalProject.java:117)
    at org.apache.calcite.rel.logical.LogicalProject$1.get(LogicalProject.java:115)
    at org.apache.calcite.plan.RelTraitSet.replaceIfs(RelTraitSet.java:238)
    at org.apache.calcite.rel.logical.LogicalProject.create(LogicalProject.java:113)
    at org.apache.calcite.rel.logical.LogicalProject.create(LogicalProject.java:103)
    at org.apache.calcite.rel.core.RelFactories$ProjectFactoryImpl.createProject(RelFactories.java:120)
    at org.apache.calcite.tools.RelBuilder.project(RelBuilder.java:853)
    at org.apache.calcite.plan.RelOptUtil.createProject(RelOptUtil.java:2881)
    at org.apache.calcite.plan.RelOptUtil.createProject(RelOptUtil.java:2839)
    at org.apache.calcite.plan.RelOptUtil.createProject(RelOptUtil.java:2783)
    at org.apache.calcite.sql2rel.SqlToRelConverter.convertSelectList(SqlToRelConverter.java:3495)
    at org.apache.calcite.sql2rel.SqlToRelConverter.convertSelectImpl(SqlToRelConverter.java:665)
    at org.apache.calcite.sql2rel.SqlToRelConverter.convertSelect(SqlToRelConverter.java:622)
    at org.apache.calcite.sql2rel.SqlToRelConverter.convertQueryRecursive(SqlToRelConverter.java:2852)
    at org.apache.calcite.sql2rel.SqlToRelConverter.convertQuery(SqlToRelConverter.java:556)
    at org.apache.calcite.prepare.Prepare.prepareSql(Prepare.java:229)
    at org.apache.calcite.prepare.Prepare.prepareSql(Prepare.java:193)
    at org.apache.calcite.prepare.CalcitePrepareImpl.prepare2_(CalcitePrepareImpl.java:733)
    at org.apache.calcite.prepare.CalcitePrepareImpl.prepare_(CalcitePrepareImpl.java:597)
    at org.apache.calcite.prepare.CalcitePrepareImpl.prepareSql(CalcitePrepareImpl.java:567)
    at org.apache.calcite.jdbc.CalciteConnectionImpl.parseQuery(CalciteConnectionImpl.java:215)
    at org.apache.calcite.jdbc.CalciteMetaImpl.prepareAndExecute(CalciteMetaImpl.java:594)
    at org.apache.calcite.avatica.AvaticaConnection.prepareAndExecuteInternal(AvaticaConnection.java:613)
    at org.apache.calcite.avatica.AvaticaStatement.executeInternal(AvaticaStatement.java:139)
    ... 44 more

Solution

  • I think you're hitting CALCITE-1461, which will be fixed in Calcite 1.11. For now, disable shading.