[ 
https://issues.apache.org/jira/browse/DRILL-4946?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16519110#comment-16519110
 ] 

ASF GitHub Bot commented on DRILL-4946:
---------------------------------------

vvysotskyi commented on issue #619: DRILL-4946: redirect System.err so users 
under embedded mode won't se…
URL: https://github.com/apache/drill/pull/619#issuecomment-399032394
 
 
   I don't think it is the correct decision to disable scalar replacement for 
embedded mode only just because of printing stack trace to stderr. 
   
   Also, I think making more differences in work between embedded and 
distributed mode is not a good idea. 
   
   If we want to disable scalar replacement, we should do that independently of 
running mode or used client.

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


> org.objectweb.asm.tree.analysis.AnalyzerException printed to console in 
> embedded mode
> -------------------------------------------------------------------------------------
>
>                 Key: DRILL-4946
>                 URL: https://issues.apache.org/jira/browse/DRILL-4946
>             Project: Apache Drill
>          Issue Type: Bug
>            Reporter: Chunhui Shi
>            Assignee: Chunhui Shi
>            Priority: Critical
>
> Testing by querying a json file got AnalyzerException printed. 
> The problem was due to scalar_replacement mode is default to be 'try', and 
> org.objectweb.asm.util.CheckMethodAdapter is printing stack trace to stderr. 
> [shi@cshi-centos1 private-drill]$ cat /tmp/conv.json 
> {"row": "0", "key": "\\x4a\\x31\\x39\\x38", "key2": "4a313938", "kp1": 
> "4a31", "kp2": "38"}
> {"row": "1", "key": null, "key2": null, "kp1": null, "kp2": null}
> {"row": "2", "key": "\\x4e\\x4f\\x39\\x51", "key2": "4e4f3951", "kp1": 
> "4e4f", "kp2": "51"}
> {"row": "3", "key": "\\x6e\\x6f\\x39\\x31", "key2": "6e6f3931", "kp1": 
> "6e6f", "kp2": "31"}
> 0: jdbc:drill:zk=local> SELECT convert_from(binary_string(key), 'INT_BE') as 
> intkey from dfs.`/tmp/conv.json`;
> org.objectweb.asm.tree.analysis.AnalyzerException: Error at instruction 158: 
> 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:223)
>       at 
> org.apache.drill.exec.compile.ClassTransformer.getImplementationClass(ClassTransformer.java:263)
>       at 
> org.apache.drill.exec.compile.CodeCompiler$Loader.load(CodeCompiler.java:78)
>       at 
> org.apache.drill.exec.compile.CodeCompiler$Loader.load(CodeCompiler.java:74)
>       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.getImplementationClass(CodeCompiler.java:63)
>       at 
> org.apache.drill.exec.compile.CodeCompiler.getImplementationClass(CodeCompiler.java:56)
>       at 
> org.apache.drill.exec.ops.FragmentContext.getImplementationClass(FragmentContext.java:310)
>       at 
> org.apache.drill.exec.physical.impl.project.ProjectRecordBatch.setupNewSchema(ProjectRecordBatch.java:484)
>       at 
> org.apache.drill.exec.record.AbstractSingleRecordBatch.innerNext(AbstractSingleRecordBatch.java:78)
>       at 
> org.apache.drill.exec.physical.impl.project.ProjectRecordBatch.innerNext(ProjectRecordBatch.java:135)
>       at 
> org.apache.drill.exec.record.AbstractRecordBatch.next(AbstractRecordBatch.java:162)
>       at 
> org.apache.drill.exec.physical.impl.BaseRootExec.next(BaseRootExec.java:104)
>       at 
> org.apache.drill.exec.physical.impl.ScreenCreator$ScreenRoot.innerNext(ScreenCreator.java:81)
>       at 
> org.apache.drill.exec.physical.impl.BaseRootExec.next(BaseRootExec.java:94)
>       at 
> org.apache.drill.exec.work.fragment.FragmentExecutor$1.run(FragmentExecutor.java:232)
>       at 
> org.apache.drill.exec.work.fragment.FragmentExecutor$1.run(FragmentExecutor.java:226)
>       at java.security.AccessController.doPrivileged(Native Method)
>       at javax.security.auth.Subject.doAs(Subject.java:415)
>       at 
> org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1657)
>       at 
> org.apache.drill.exec.work.fragment.FragmentExecutor.run(FragmentExecutor.java:226)
>       at 
> org.apache.drill.common.SelfCleaningRunnable.run(SelfCleaningRunnable.java:38)
>       at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>       at java.lang.Thread.run(Thread.java:745)
> 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)
>       ... 48 more
> +-------------+
> |   intkey    |
> +-------------+
> | 1244739896  |
> | null        |
> | 1313814865  |
> | 1852782897  |
> +-------------+



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

Reply via email to