[ https://issues.apache.org/jira/browse/DRILL-5164?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Serhii Harnyk reassigned DRILL-5164: ------------------------------------ Assignee: Serhii Harnyk > equi-join query results in CompileException > ------------------------------------------- > > Key: DRILL-5164 > URL: https://issues.apache.org/jira/browse/DRILL-5164 > Project: Apache Drill > Issue Type: Bug > Components: Execution - Codegen > Affects Versions: 1.9.0 > Reporter: Khurram Faraaz > Assignee: Serhii Harnyk > Priority: Critical > Attachments: manyColsInJson.json > > > Drill 1.9.0 > git commit ID : 4c1b420b > 4 node CentOS cluster > JSON file has 4095 keys (columns) > {noformat} > 0: jdbc:drill:schema=dfs.tmp> select * from `manyColsInJson.json` t1, > `manyColsInJson.json` t2 where t1.key2000 = t2.key2000; > Error: SYSTEM ERROR: CompileException: File > 'org.apache.drill.exec.compile.DrillJavaFileObject[HashJoinProbeGen294.java]', > Line 16397, Column 17: HashJoinProbeGen294.java:16397: error: code too large > public void doSetup(FragmentContext context, VectorContainer buildBatch, > RecordBatch probeBatch, RecordBatch outgoing) > ^ (compiler.err.limit.code) > Fragment 0:0 > [Error Id: 7d0efa7e-e183-4c40-939a-4908699f94bf on centos-01.qa.lab:31010] > (state=,code=0) > {noformat} > Stack trace from drillbit.log > {noformat} > 2016-12-26 09:52:11,321 [279f17fd-c8f0-5d18-1124-76099f0a5cc8:frag:0:0] ERROR > o.a.d.e.w.fragment.FragmentExecutor - SYSTEM ERROR: CompileException: File > 'org.apache.drill.exec.compile.DrillJavaFileObject[HashJoinProbeGen294.java]', > Line 16397, Column 17: HashJoinProbeGen294.java:16397: error: code too large > public void doSetup(FragmentContext context, VectorContainer buildBatch, > RecordBatch probeBatch, RecordBatch outgoing) > ^ (compiler.err.limit.code) > Fragment 0:0 > [Error Id: 7d0efa7e-e183-4c40-939a-4908699f94bf on centos-01.qa.lab:31010] > org.apache.drill.common.exceptions.UserException: SYSTEM ERROR: > CompileException: File > 'org.apache.drill.exec.compile.DrillJavaFileObject[HashJoinProbeGen294.java]', > Line 16397, Column 17: HashJoinProbeGen294.java:16397: error: code too large > public void doSetup(FragmentContext context, VectorContainer buildBatch, > RecordBatch probeBatch, RecordBatch outgoing) > ^ (compiler.err.limit.code) > Fragment 0:0 > [Error Id: 7d0efa7e-e183-4c40-939a-4908699f94bf on centos-01.qa.lab:31010] > at > org.apache.drill.common.exceptions.UserException$Builder.build(UserException.java:543) > ~[drill-common-1.9.0.jar:1.9.0] > at > org.apache.drill.exec.work.fragment.FragmentExecutor.sendFinalState(FragmentExecutor.java:293) > [drill-java-exec-1.9.0.jar:1.9.0] > at > org.apache.drill.exec.work.fragment.FragmentExecutor.cleanup(FragmentExecutor.java:160) > [drill-java-exec-1.9.0.jar:1.9.0] > at > org.apache.drill.exec.work.fragment.FragmentExecutor.run(FragmentExecutor.java:262) > [drill-java-exec-1.9.0.jar:1.9.0] > at > org.apache.drill.common.SelfCleaningRunnable.run(SelfCleaningRunnable.java:38) > [drill-common-1.9.0.jar:1.9.0] > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) > [na:1.8.0_91] > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) > [na:1.8.0_91] > at java.lang.Thread.run(Thread.java:745) [na:1.8.0_91] > Caused by: org.apache.drill.common.exceptions.DrillRuntimeException: > org.apache.drill.exec.exception.SchemaChangeException: > org.apache.drill.exec.exception.ClassTransformationException: > java.util.concurrent.ExecutionException: > org.apache.drill.exec.exception.ClassTransformationException: Failure > generating transformation classes for value: > package org.apache.drill.exec.test.generated; > ... > public class HashJoinProbeGen294 { > NullableVarCharVector[] vv0; > NullableVarCharVector vv3; > NullableVarCharVector[] vv6; > ... > vv49137 .copyFromSafe((probeIndex), (outIndex), vv49134); > vv49143 .copyFromSafe((probeIndex), (outIndex), vv49140); > vv49149 .copyFromSafe((probeIndex), (outIndex), vv49146); > } > } > > public void __DRILL_INIT__() > throws SchemaChangeException > { > } > } > at > org.apache.drill.exec.compile.ClassTransformer.getImplementationClass(ClassTransformer.java:302) > ~[drill-java-exec-1.9.0.jar:1.9.0] > at > org.apache.drill.exec.compile.CodeCompiler$Loader.load(CodeCompiler.java:78) > ~[drill-java-exec-1.9.0.jar:1.9.0] > at > org.apache.drill.exec.compile.CodeCompiler$Loader.load(CodeCompiler.java:74) > ~[drill-java-exec-1.9.0.jar:1.9.0] > at > com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3527) > ~[guava-18.0.jar:na] > at > com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2319) > ~[guava-18.0.jar:na] > ... 34 common frames omitted > Caused by: org.codehaus.commons.compiler.CompileException: File > 'org.apache.drill.exec.compile.DrillJavaFileObject[HashJoinProbeGen294.java]', > Line 16397, Column 17: HashJoinProbeGen294.java:16397: error: code too large > public void doSetup(FragmentContext context, VectorContainer buildBatch, > RecordBatch probeBatch, RecordBatch outgoing) > ^ (compiler.err.limit.code) > at > org.apache.drill.exec.compile.DrillDiagnosticListener.report(DrillDiagnosticListener.java:43) > ~[drill-java-exec-1.9.0.jar:1.9.0] > at > com.sun.tools.javac.api.ClientCodeWrapper$WrappedDiagnosticListener.report(ClientCodeWrapper.java:559) > ~[jdk.tools-1.7.jar:na] > at com.sun.tools.javac.util.Log.writeDiagnostic(Log.java:428) > ~[jdk.tools-1.7.jar:na] > at com.sun.tools.javac.util.Log.report(Log.java:416) > ~[jdk.tools-1.7.jar:na] > at com.sun.tools.javac.util.AbstractLog.error(AbstractLog.java:94) > ~[jdk.tools-1.7.jar:na] > at com.sun.tools.javac.jvm.Code.checkLimits(Code.java:95) > ~[jdk.tools-1.7.jar:na] > at com.sun.tools.javac.jvm.Gen.genMethod(Gen.java:948) > ~[jdk.tools-1.7.jar:na] > at com.sun.tools.javac.jvm.Gen.visitMethodDef(Gen.java:885) > ~[jdk.tools-1.7.jar:na] > at > com.sun.tools.javac.tree.JCTree$JCMethodDecl.accept(JCTree.java:669) > ~[jdk.tools-1.7.jar:na] > at com.sun.tools.javac.jvm.Gen.genDef(Gen.java:684) > ~[jdk.tools-1.7.jar:na] > at com.sun.tools.javac.jvm.Gen.genClass(Gen.java:2232) > ~[jdk.tools-1.7.jar:na] > at > com.sun.tools.javac.main.JavaCompiler.genCode(JavaCompiler.java:712) > ~[jdk.tools-1.7.jar:na] > at > com.sun.tools.javac.main.JavaCompiler.generate(JavaCompiler.java:1451) > ~[jdk.tools-1.7.jar:na] > at > com.sun.tools.javac.main.JavaCompiler.generate(JavaCompiler.java:1419) > ~[jdk.tools-1.7.jar:na] > at > com.sun.tools.javac.main.JavaCompiler.compile2(JavaCompiler.java:870) > ~[jdk.tools-1.7.jar:na] > at > com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:829) > ~[jdk.tools-1.7.jar:na] > at com.sun.tools.javac.main.Main.compile(Main.java:439) > ~[jdk.tools-1.7.jar:na] > at com.sun.tools.javac.api.JavacTaskImpl.call(JavacTaskImpl.java:132) > ~[jdk.tools-1.7.jar:na] > at > org.apache.drill.exec.compile.JDKClassCompiler.getByteCode(JDKClassCompiler.java:71) > ~[drill-java-exec-1.9.0.jar:1.9.0] > at > org.apache.drill.exec.compile.AbstractClassCompiler.getClassByteCode(AbstractClassCompiler.java:53) > ~[drill-java-exec-1.9.0.jar:1.9.0] > at > org.apache.drill.exec.compile.QueryClassLoader$ClassCompilerSelector.getClassByteCode(QueryClassLoader.java:143) > ~[drill-java-exec-1.9.0.jar:1.9.0] > at > org.apache.drill.exec.compile.QueryClassLoader$ClassCompilerSelector.access$100(QueryClassLoader.java:111) > ~[drill-java-exec-1.9.0.jar:1.9.0] > at > org.apache.drill.exec.compile.QueryClassLoader.getClassByteCode(QueryClassLoader.java:104) > ~[drill-java-exec-1.9.0.jar:1.9.0] > at > org.apache.drill.exec.compile.ClassTransformer.getImplementationClass(ClassTransformer.java:224) > ~[drill-java-exec-1.9.0.jar:1.9.0] > ... 38 common frames omitted > 2016-12-26 09:52:12,251 [CONTROL-rpc-event-queue] WARN > o.a.drill.exec.work.foreman.Foreman - Dropping request to move to COMPLETED > state as query is already at FAILED state (which is terminal). > {noformat} -- This message was sent by Atlassian JIRA (v6.3.4#6332)