benj created DRILL-6943:
---------------------------

             Summary: SELECT n time the same field in json
                 Key: DRILL-6943
                 URL: https://issues.apache.org/jira/browse/DRILL-6943
             Project: Apache Drill
          Issue Type: Bug
          Components: Storage - JSON
    Affects Versions: 1.14.0
            Reporter: benj


json file mytest.json
 ===

{a:10}

===

SELECT a FROM mydfs.tmp2.`mytest2.json`; 
 => OK
 SELECT a,a FROM mydfs.tmp2.`mytest2.json`; 
 => OK
 SELECT a,a,a FROM mydfs.tmp2.`mytest2.json`; 
 => ERROR the first time (see the message below), but OK the following times 
(without any change)

Note that the error can reappear if we add an additional "a" in the request
  

Error message :
{noformat}
org.objectweb.asm.tree.analysis.AnalyzerException: Error at instruction 43: 
Expected an object reference, but found .
        at org.objectweb.asm.tree.analysis.Analyzer.analyze(Analyzer.java:294)
        at 
org.objectweb.asm.util.CheckMethodAdapter$1.visitEnd(CheckMethodAdapter.java:450)
        at org.objectweb.asm.MethodVisitor.visitEnd(MethodVisitor.java:877)
        at 
org.objectweb.asm.util.CheckMethodAdapter.visitEnd(CheckMethodAdapter.java:1028)
        at org.objectweb.asm.MethodVisitor.visitEnd(MethodVisitor.java:877)
        at 
org.apache.drill.exec.compile.CheckMethodVisitorFsm.visitEnd(CheckMethodVisitorFsm.java:114)
        at org.objectweb.asm.MethodVisitor.visitEnd(MethodVisitor.java:877)
        at 
org.apache.drill.exec.compile.CheckMethodVisitorFsm.visitEnd(CheckMethodVisitorFsm.java:114)
        at org.objectweb.asm.MethodVisitor.visitEnd(MethodVisitor.java:877)
        at org.objectweb.asm.MethodVisitor.visitEnd(MethodVisitor.java:877)
        at 
org.apache.drill.exec.compile.bytecode.InstructionModifier.visitEnd(InstructionModifier.java:508)
        at org.objectweb.asm.tree.MethodNode.accept(MethodNode.java:837)
        at 
org.apache.drill.exec.compile.bytecode.ScalarReplacementNode.visitEnd(ScalarReplacementNode.java:87)
        at org.objectweb.asm.MethodVisitor.visitEnd(MethodVisitor.java:877)
        at 
org.apache.drill.exec.compile.bytecode.AloadPopRemover.visitEnd(AloadPopRemover.java:136)
        at org.objectweb.asm.tree.MethodNode.accept(MethodNode.java:837)
        at org.objectweb.asm.tree.MethodNode.accept(MethodNode.java:726)
        at org.objectweb.asm.tree.ClassNode.accept(ClassNode.java:412)
        at 
org.apache.drill.exec.compile.MergeAdapter.getMergedClass(MergeAdapter.java:238)
        at 
org.apache.drill.exec.compile.ClassTransformer.getImplementationClass(ClassTransformer.java:289)
        at 
org.apache.drill.exec.compile.ClassTransformer.getImplementationClass(ClassTransformer.java:228)
        at 
org.apache.drill.exec.compile.CodeCompiler$CodeGenCompiler.compile(CodeCompiler.java:79)
        at 
org.apache.drill.exec.compile.CodeCompiler.makeClass(CodeCompiler.java:229)
        at 
org.apache.drill.exec.compile.CodeCompiler.access$300(CodeCompiler.java:41)
        at 
org.apache.drill.exec.compile.CodeCompiler$Loader.load(CodeCompiler.java:212)
        at 
org.apache.drill.exec.compile.CodeCompiler$Loader.load(CodeCompiler.java:209)
        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.drill.exec.compile.CodeCompiler.createInstances(CodeCompiler.java:186)
        at 
org.apache.drill.exec.compile.CodeCompiler.createInstance(CodeCompiler.java:163)
        at 
org.apache.drill.exec.ops.BaseFragmentContext.getImplementationClass(BaseFragmentContext.java:56)
        at 
org.apache.drill.exec.physical.impl.project.ProjectRecordBatch.setupNewSchemaFromInput(ProjectRecordBatch.java:567)
        at 
org.apache.drill.exec.physical.impl.project.ProjectRecordBatch.setupNewSchema(ProjectRecordBatch.java:580)
        at 
org.apache.drill.exec.record.AbstractUnaryRecordBatch.innerNext(AbstractUnaryRecordBatch.java:101)
        at 
org.apache.drill.exec.physical.impl.project.ProjectRecordBatch.innerNext(ProjectRecordBatch.java:142)
        at 
org.apache.drill.exec.record.AbstractRecordBatch.next(AbstractRecordBatch.java:172)
        at 
org.apache.drill.exec.physical.impl.BaseRootExec.next(BaseRootExec.java:103)
        at 
org.apache.drill.exec.physical.impl.ScreenCreator$ScreenRoot.innerNext(ScreenCreator.java:83)
        at 
org.apache.drill.exec.physical.impl.BaseRootExec.next(BaseRootExec.java:93)
        at 
org.apache.drill.exec.work.fragment.FragmentExecutor$1.run(FragmentExecutor.java:294)
        at 
org.apache.drill.exec.work.fragment.FragmentExecutor$1.run(FragmentExecutor.java:281)
        at java.security.AccessController.doPrivileged(Native Method)
        at javax.security.auth.Subject.doAs(Subject.java:422)
        at 
org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1657)
        at 
org.apache.drill.exec.work.fragment.FragmentExecutor.run(FragmentExecutor.java:281)
        at 
org.apache.drill.common.SelfCleaningRunnable.run(SelfCleaningRunnable.java:38)
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)
Caused by: org.objectweb.asm.tree.analysis.AnalyzerException: Expected an 
object reference, but found .
        at 
org.objectweb.asm.tree.analysis.BasicVerifier.copyOperation(BasicVerifier.java:80)
        at 
org.objectweb.asm.tree.analysis.BasicVerifier.copyOperation(BasicVerifier.java:47)
        at org.objectweb.asm.tree.analysis.Frame.execute(Frame.java:276)
        at org.objectweb.asm.tree.analysis.Analyzer.analyze(Analyzer.java:199)
        ... 53 more
{noformat}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to