[
https://issues.apache.org/jira/browse/DRILL-4946?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16518864#comment-16518864
]
ASF GitHub Bot commented on DRILL-4946:
---------------------------------------
chunhui-shi 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-398963859
I suggest to set scalar replacement flag to off by default. I think we have
compared the performance between on/off before.
------------------------------------------------------------------
Sender:Timothy Farkas <[email protected]>
Sent at:2018 Jun 21 (Thu) 10:45
To:apache/drill <[email protected]>
Cc:Chunhui Shi <[email protected]>; Mention <[email protected]>
Subject:Re: [apache/drill] DRILL-4946: redirect System.err so users under
embedded mode won't se… (#619)
@chunhui-shi @paul-rogers Since Drill has moved to Java 8, which is supposed
to do scalar replacement for us, would it be appropriate to commit this change
to turn off scalar replacement? Or is this change no longer applicable?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.
----------------------------------------------------------------
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)