You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@pig.apache.org by "Rohini Palaniswamy (JIRA)" <ji...@apache.org> on 2017/08/11 18:46:00 UTC

[jira] [Created] (PIG-5291) Fix bytecode generation for parallel runs of python

Rohini Palaniswamy created PIG-5291:
---------------------------------------

             Summary: Fix bytecode generation for parallel runs of python
                 Key: PIG-5291
                 URL: https://issues.apache.org/jira/browse/PIG-5291
             Project: Pig
          Issue Type: Sub-task
            Reporter: Rohini Palaniswamy
             Fix For: 0.18.0


With pig.opt.bytecode=true with PIG-5256, TestScriptLanguage.runParallelTest2, Jython_CompileBindRun_3 fail with following error
{code}
 java.lang.LinkageError: loader (instance of  org/apache/pig/impl/PigContext$ContextClassLoader): attempted  duplicate class definition for name: "org/apache/pig/backend/hadoop/executionengine/physicalLayer/relationalOperators/POForEach_scope_6"
{code}
 Since NodeIdGenerator is ThreadLocal, running same script in parallel with different parameters using embedded Python causes conflict in the name of class files generated. Conflicts need to be handled in
      - PigContext classloader by making it ThreadLocal
      - Class files should have another identifier to differentiate between multiple scripts.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)