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

Catalin Alexandru Zamfir commented on PIG-2634:
-----------------------------------------------

Don't think eclipse-maven is doing the "rsrc: pig-0.9.2-core.jar". As you can 
see from the exception above, it happens at the "mapReduceLayer". It tries to 
build a .jar with all registered packages at the time of execution. When 
someone exports a runnable jar via Eclipse, with the "package jars" option, all 
dependencies (including pig-0.9.2.jar) will be in the generated jar. So the 
path inside the app is: "rsrc: pig-0.9.2-core.jar". But the JarManager only 
knows to read jars from the file path not the "rsrc" path.

The diff fixes that. And also works for our development environment. If it can 
be included, oky. If not, the JIRA ticket should be left for posterity as 
others may have the same problem. It took us a few days of digging in code and 
understanding what was going on.

Thanks! We will continue to checkout the trunk and patch it every time we need 
a new Pig version and build our own flavor of Pig with this issue fixed. But 
would have been wonderful to have it in the vanilla Pig distribution. Saves a 
ton of trouble.
                
> JarManager fails for rsrc: jars
> -------------------------------
>
>                 Key: PIG-2634
>                 URL: https://issues.apache.org/jira/browse/PIG-2634
>             Project: Pig
>          Issue Type: Bug
>          Components: parser
>    Affects Versions: 0.9.2, 0.10.0
>            Reporter: Catalin Alexandru Zamfir
>            Priority: Blocker
>              Labels: engine, mapreducel, merge, parser, pigserver
>         Attachments: mergeJarFix.diff, pig_1333633836139.log
>
>
> The following error occurs when using PigSever class, while using 
> registerScript (InputStream). The Eclipse Maven project adds "pig-0.9.2.jar" 
> as a dependency. When runned, if fails to merge pig-0.9.2.jar. The whole 
> trace is:
> ###
> Caused by: 
> org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.JobCreationException:
>  ERROR 2017: Internal error creating job configuration.
>         at 
> org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.JobControlCompiler.getJob(JobControlCompiler.java:727)
>         at 
> org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.JobControlCompiler.compile(JobControlCompiler.java:258)
>         at 
> org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceLauncher.launchPig(MapReduceLauncher.java:150)
>         at org.apache.pig.PigServer.launchPlan(PigServer.java:1314)
>         at 
> org.apache.pig.PigServer.executeCompiledLogicalPlan(PigServer.java:1299)
>         at org.apache.pig.PigServer.execute(PigServer.java:1289)
>         at org.apache.pig.PigServer.access$400(PigServer.java:125)
>         at org.apache.pig.PigServer$Graph.registerQuery(PigServer.java:1591)
>         ... 44 more
> Caused by: java.io.FileNotFoundException: rsrc:pig-0.9.2-core.jar (No such 
> file or directory)
>         at java.io.FileInputStream.open(Native Method)
>         at java.io.FileInputStream.<init>(FileInputStream.java:137)
>         at java.io.FileInputStream.<init>(FileInputStream.java:96)
>         at org.apache.pig.impl.util.JarManager.mergeJar(JarManager.java:176)
>         at org.apache.pig.impl.util.JarManager.createJar(JarManager.java:118)
>         at 
> org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.JobControlCompiler.getJob(JobControlCompiler.java:412)
> ###
> Pig should not fail for jars on the "rsrc:" path.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to