# 开源动态
# Feature
# Bugs
# [KYLIN-3657] sql length over 64 KB cause query fail - ASF JIRA (opens new window)
相关问题
描述
在SQL非常大,总长度超过64KB的时候,kylin会返回错误
at org.apache.calcite.avatica.Helper.wrap(Helper.java:37) at org.apache.calcite.adapter.enumerable.EnumerableInterpretable.toBindable(EnumerableInterpretable.java:108) at org.apache.calcite.prepare.CalcitePrepareImpl$CalcitePreparingStmt.implement(CalcitePrepareImpl.java:1278) at org.apache.calcite.prepare.Prepare.prepareSql(Prepare.java:331) at org.apache.calcite.prepare.Prepare.prepareSql(Prepare.java:230) at org.apache.calcite.prepare.CalcitePrepareImpl.prepare2_(CalcitePrepareImpl.java:796) at org.apache.calcite.prepare.CalcitePrepareImpl.prepare_(CalcitePrepareImpl.java:655) at org.apache.calcite.prepare.CalcitePrepareImpl.prepareSql(CalcitePrepareImpl.java:618) at org.apache.calcite.jdbc.CalciteConnectionImpl.parseQuery(CalciteConnectionImpl.java:221) at org.apache.calcite.jdbc.CalciteConnectionImpl.prepareStatement_(CalciteConnectionImpl.java:203) ... 92 more Caused by: org.codehaus.janino.JaninoRuntimeException: Code attribute in class "Baz$1$1" grows beyond 64 KB at org.codehaus.janino.CodeContext.makeSpace(CodeContext.java:936)
结论
- 咨询了相关的kylin开发人员,此问题暂时无解,只能通过业务侧优化逻辑,缩减代码来解决。