[ https://issues.apache.org/jira/browse/PIG-5160?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15890146#comment-15890146 ]
Jeff Zhang edited comment on PIG-5160 at 3/1/17 1:21 PM: --------------------------------------------------------- Oops, seems PigServer has already supported multiple-thread PIG-1874. Updated title sounds good was (Author: zjffdu): Oops, seems PigServer has already supported multiple-thread PIG-1874 > SchemaTupleFrontend.java is not thread safe, cause PigServer thrown NPE in > multithread env > ------------------------------------------------------------------------------------------ > > Key: PIG-5160 > URL: https://issues.apache.org/jira/browse/PIG-5160 > Project: Pig > Issue Type: Bug > Affects Versions: 0.17.0 > Reporter: Anyi Li > Assignee: Anyi Li > Labels: patch > Attachments: PIG_5160.patch > > > Calling PigServer in multi-thread environment will randomly throw NPE at > {code} > Caused by: org.apache.pig.backend.executionengine.ExecException: ERROR 0: > java.lang.NullPointerException > at > org.apache.pig.backend.hadoop.executionengine.HExecutionEngine.launchPig(HExecutionEngine.java:310) > at org.apache.pig.PigServer.launchPlan(PigServer.java:1390) > at > org.apache.pig.PigServer.executeCompiledLogicalPlan(PigServer.java:1375) > at org.apache.pig.PigServer.storeEx(PigServer.java:1034) > ... 6 more > Caused by: java.lang.NullPointerException > at > org.apache.pig.data.SchemaTupleFrontend.registerToGenerateIfPossible(SchemaTupleFrontend.java:255) > at > org.apache.pig.newplan.logical.relational.LogToPhyTranslationVisitor.visit(LogToPhyTranslationVisitor.java:876) > at > org.apache.pig.newplan.logical.relational.LOForEach.accept(LOForEach.java:87) > at > org.apache.pig.newplan.DependencyOrderWalker.walk(DependencyOrderWalker.java:75) > at org.apache.pig.newplan.PlanVisitor.visit(PlanVisitor.java:52) > at > org.apache.pig.backend.hadoop.executionengine.HExecutionEngine.compile(HExecutionEngine.java:260) > at > org.apache.pig.backend.hadoop.executionengine.HExecutionEngine.launchPig(HExecutionEngine.java:295) > ... 9 more > {code} > because SchemaTupleFrontend.java has lots of static methods which refer to > static variables. Need a patch to create threadlocal variables to make it > thread safe -- This message was sent by Atlassian JIRA (v6.3.15#6346)