pig-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Daniel Dai (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (PIG-3046) An empty file name in -Dpig.additional.jars throws an error
Date Tue, 03 Jan 2017 21:31:58 GMT

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

Daniel Dai commented on PIG-3046:

Most probably you don't have this patch in CDH. The best option is to patch by yourself and
replace relevant jars in CDH.

> An empty file name in -Dpig.additional.jars throws an error
> -----------------------------------------------------------
>                 Key: PIG-3046
>                 URL: https://issues.apache.org/jira/browse/PIG-3046
>             Project: Pig
>          Issue Type: Bug
>    Affects Versions: 0.10.0, 0.11
>            Reporter: Cheolsoo Park
>            Assignee: Prashant Kommireddi
>              Labels: newbie
>             Fix For: 0.12.0
>         Attachments: PIG-3046.patch, PIG-3046_1.patch, PIG-3046_2.patch, PIG-3046_3.patch
> This issue was raised on the user mailing list. To reproduce it, please run the following
command in MR mode:
> {code}
> pig -Dpig.additional.jars=<jar1>::<jar2> <pig script>
> {code}
> As can be seen, I put {{::}} in the middle of {{-Dpig.additional.jars}}, and this causes
the following error:
> {code}
> Caused by: java.lang.IllegalArgumentException: Can not create a Path from
> an empty string at org.apache.hadoop.fs.Path.checkPathArg(Path.java:82)
> at org.apache.hadoop.fs.Path.<init>(Path.java:90)
> at org.apache.hadoop.fs.Path.<init>(Path.java:45)
> at org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.JobControlCompiler.shipToHDFS(JobControlCompiler.java:1455)
> at
> org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.JobControlCompiler.putJarOnClassPathThroughDistributedCache(JobControlCompiler.java:1432)
> at org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.JobControlCompiler.getJob(JobControlCompiler.java:508)
> {code}
> Although it's not too hard to see what's wrong, it's not always easy to track down where
an empty file name is from. In particular if various environment variables are set in another
start-up script, it's time-consuming to identify the root cause.
> In fact, Pig should just skip an empty file name instead attempts to convert it to a
path and throws an exception like this.

This message was sent by Atlassian JIRA

View raw message