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)