[ 
https://issues.apache.org/jira/browse/PIG-1739?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Yan Zhou updated PIG-1739:
--------------------------

    Attachment: PIG-1739.patch

The problem is that when a job status is checked, its output status is checked. 
But the temporary file output status is never checked, which makes sense in 
case of successful jobs since nobody is interested in temporary file stats. But 
if a job producing temporary output fails, the output status need to be added 
otherwise the job status check won't find the failed job.

> Pig 0.8 zero return code when pig script fails; also error is dumped on 
> screen instead of logfile
> -------------------------------------------------------------------------------------------------
>
>                 Key: PIG-1739
>                 URL: https://issues.apache.org/jira/browse/PIG-1739
>             Project: Pig
>          Issue Type: Bug
>          Components: impl
>    Affects Versions: 0.8.0
>            Reporter: Viraj Bhat
>             Fix For: 0.8.0
>
>         Attachments: PIG-1739.patch
>
>
> I have pig script where one input directory cannot be accessed. The pig 
> script obviously fails but the return code is zero.
> {code}
> A = LOAD '/user/viraj/testdata1' USING PigStorage(':') AS (ia, na);
> B = FOREACH A GENERATE $0 AS id;
> C = LOAD '/user/tstusr/test/' USING PigStorage(':') AS (ib, nb);
> D = FOREACH C GENERATE $0 AS id;
> --dump B;
> E = JOIN A by ia, C by ib USING 'replicated';
> store E into 'id.out';
> {code}
> Here is the console output:
> {quote}
> $ java -cp $PIG_HOME/pig.jar org.apache.pig.Main script.pig
> 2010-11-19 06:51:32,780 [main] INFO  org.apache.pig.Main - Logging error 
> messages to: /home/viraj/pigscripts/pig_1290149492775.log
> ...
> 2010-11-19 06:51:39,136 [main] INFO  
> org.apache.pig.tools.pigstats.ScriptState - Pig features used in the script: 
> REPLICATED_JOIN
> 2010-11-19 06:51:39,187 [main] INFO  
> org.apache.pig.backend.hadoop.executionengine.HExecutionEngine - (Name: E: 
> Store(hdfs://mynamenode/user/viraj/id.out:org.apache.pig.builtin.PigStorage) 
> - 1-38 Operator Key: 1-38)
> 2010-11-19 06:51:39,198 [main] INFO  
> org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MRCompiler - 
> File concatenation threshold: 100 optimistic? false
> 2010-11-19 06:51:39,344 [main] WARN  
> org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MRCompiler - 
> failed to get number of input files
> org.apache.hadoop.security.AccessControlException: 
> org.apache.hadoop.security.AccessControlException: Permission denied: 
> user=viraj, access=EXECUTE, inode="tstusr":tstusr:users:rwx------
>         at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native 
> Method)
>         at 
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
>         at 
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
>         at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
>         at 
> org.apache.hadoop.ipc.RemoteException.instantiateException(RemoteException.java:95)
>         at 
> org.apache.hadoop.ipc.RemoteException.unwrapRemoteException(RemoteException.java:57)
>         at org.apache.hadoop.hdfs.DFSClient.getFileInfo(DFSClient.java:678)
>         at 
> org.apache.hadoop.hdfs.DistributedFileSystem.getFileStatus(DistributedFileSystem.java:521)
>         at org.apache.hadoop.fs.FileSystem.exists(FileSystem.java:692)
>         at 
> org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MRCompiler.hasTooManyInputFiles(MRCompiler.java:1302)
>         at 
> org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MRCompiler.visitFRJoin(MRCompiler.java:1210)
>         at 
> org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POFRJoin.visit(POFRJoin.java:188)
>         at 
> org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MRCompiler.compile(MRCompiler.java:472)
>         at 
> org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MRCompiler.compile(MRCompiler.java:451)
>         at 
> org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MRCompiler.compile(MRCompiler.java:333)
>         at 
> org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceLauncher.compile(MapReduceLauncher.java:469)
>         at 
> org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceLauncher.launchPig(MapReduceLauncher.java:117)
>         at 
> org.apache.pig.backend.hadoop.executionengine.HExecutionEngine.execute(HExecutionEngine.java:378)
>         at 
> org.apache.pig.PigServer.executeCompiledLogicalPlan(PigServer.java:1198)
>         at org.apache.pig.PigServer.execute(PigServer.java:1190)
>         at org.apache.pig.PigServer.access$100(PigServer.java:128)
>         at org.apache.pig.PigServer$Graph.execute(PigServer.java:1517)
>         at org.apache.pig.PigServer.executeBatchEx(PigServer.java:362)
>         at org.apache.pig.PigServer.executeBatch(PigServer.java:329)
>         at 
> org.apache.pig.tools.grunt.GruntParser.executeBatch(GruntParser.java:112)
>         at 
> org.apache.pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:169)
>         at 
> org.apache.pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:141)
>         at org.apache.pig.tools.grunt.Grunt.exec(Grunt.java:90)
>         at org.apache.pig.Main.run(Main.java:498)
>         at org.apache.pig.Main.main(Main.java:107)
> 2010-11-19 06:51:56,712 [main] ERROR org.apache.pig.tools.pigstats.PigStats - 
> ERROR 2997: Unable to recreate exception from backend error: 
> org.apache.pig.backend.executionengine.ExecException: ERROR 2118: 
> org.apache.hadoop.security.AccessControlException: Permission denied: 
> user=viraj, access=EXECUTE, inode="tstusr":tstusr:users:rwx------
> 2010-11-19 06:51:56,712 [main] ERROR 
> org.apache.pig.tools.pigstats.PigStatsUtil - 1 map reduce job(s) failed!
> 2010-11-19 06:51:56,714 [main] INFO  org.apache.pig.tools.pigstats.PigStats - 
> Script Statistics:
> ...
> HadoopVersion   PigVersion      UserId  StartedAt       FinishedAt      
> Features
> 0.20.1   0.8.0..1011012300       viraj   2010-11-19 06:51:41     2010-11-19 
> 06:51:56     REPLICATED_JOIN
> Failed!
> Failed Jobs:
> JobId   Alias   Feature Message Outputs
> N/A     C       MAP_ONLY        Message: 
> org.apache.pig.backend.executionengine.ExecException: ERROR 2118: 
> org.apache.hadoop.security.AccessControlException: Permission denied: 
> user=viraj, access=EXECUTE, inode="tstusr":tstusr:users:rwx------
> Input(s):
> Failed to read data from "/user/tstusr/test/"
> Output(s):
> Counters:
> Total records written : 0
> Total bytes written : 0
> Spillable Memory Manager spill count : 0
> Total bags proactively spilled: 0
> Total records proactively spilled: 0
> Job DAG:
> null    ->      null,
> null
> 2010-11-19 06:51:56,714 [main] INFO  
> org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceLauncher
>  - Failed!
> $echo $?
> 0
> {quote}
> Clearly users depending on this return code to run their workflows are 
> affected.
> Viraj

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to