You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@pig.apache.org by "Olga Natkovich (JIRA)" <ji...@apache.org> on 2011/03/17 22:12:33 UTC

[jira] Commented: (PIG-1247) Error Number makes it hard to debug: ERROR 2999: Unexpected internal error. org.apache.pig.backend.datastorage.DataStorageException cannot be cast to java.lang.Error

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

Olga Natkovich commented on PIG-1247:
-------------------------------------

Viraj,

I could not actually reproduce this behavior with no permissions to the output location.

This is the error I got:

2011-03-17 20:56:07,278 [main] ERROR org.apache.pig.tools.grunt.Grunt - You don't have permission to perform the operation. Error from the server: Output Location Validation Failed for: '/user/tejas/foo More info to follow:
org.apache.hadoop.security.AccessControlException: Permission denied: user=olgan, access=EXECUTE, inode="tejas":tejas:users:rwx------
2011-03-17 20:56:07,279 [main] ERROR org.apache.pig.tools.grunt.Grunt - ERROR 6000: Output Location Validation Failed for: '/user/tejas/foo More info to follow:
org.apache.hadoop.security.AccessControlException: Permission denied: user=olgan, access=EXECUTE, inode="tejas":tejas:users:rwx------


> Error Number makes it hard to debug: ERROR 2999: Unexpected internal error. org.apache.pig.backend.datastorage.DataStorageException cannot be cast to java.lang.Error
> ---------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: PIG-1247
>                 URL: https://issues.apache.org/jira/browse/PIG-1247
>             Project: Pig
>          Issue Type: Bug
>          Components: impl
>    Affects Versions: 0.6.0
>            Reporter: Viraj Bhat
>            Assignee: Xuefu Zhang
>             Fix For: 0.9.0
>
>
> I have a large script in which there are intermediate stores statements, one of them writes to a directory I do not have permission to write to. 
> The stack trace I get from Pig is this:
> 2010-02-20 02:16:32,055 [main] ERROR org.apache.pig.tools.grunt.Grunt - ERROR 2999: Unexpected internal error. org.apache.pig.backend.datastorage.DataStorageException cannot be cast to java.lang.Error
> Details at logfile: /home/viraj/pig_1266632145355.log
> Pig Stack Trace
> ---------------
> ERROR 2999: Unexpected internal error. org.apache.pig.backend.datastorage.DataStorageException cannot be cast to java.lang.Error
> java.lang.ClassCastException: org.apache.pig.backend.datastorage.DataStorageException cannot be cast to java.lang.Error
>         at org.apache.pig.impl.logicalLayer.parser.QueryParser.StoreClause(QueryParser.java:3583)
>         at org.apache.pig.impl.logicalLayer.parser.QueryParser.BaseExpr(QueryParser.java:1407)
>         at org.apache.pig.impl.logicalLayer.parser.QueryParser.Expr(QueryParser.java:949)
>         at org.apache.pig.impl.logicalLayer.parser.QueryParser.Parse(QueryParser.java:762)
>         at org.apache.pig.impl.logicalLayer.LogicalPlanBuilder.parse(LogicalPlanBuilder.java:63)
>         at org.apache.pig.PigServer$Graph.parseQuery(PigServer.java:1036)
>         at org.apache.pig.PigServer$Graph.registerQuery(PigServer.java:986)
>         at org.apache.pig.PigServer.registerQuery(PigServer.java:386)
>         at org.apache.pig.tools.grunt.GruntParser.processPig(GruntParser.java:720)
>         at org.apache.pig.tools.pigscript.parser.PigScriptParser.parse(PigScriptParser.java:324)
>         at org.apache.pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:168)
>         at org.apache.pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:144)
>         at org.apache.pig.tools.grunt.Grunt.exec(Grunt.java:89)
>         at org.apache.pig.Main.main(Main.java:386)
> ================================================================================
> The only way to find the error was to look at the javacc generated QueryParser.java code and do a System.out.println()
> Here is a script to reproduce the problem:
> {code}
> A = load '/user/viraj/three.txt' using PigStorage();
> B = foreach A generate ['a'#'12'] as b:map[] ;
> store B into '/user/secure/pigtest' using PigStorage();
> {code}
> "three.txt" has 3 lines which contain nothing but the number "1".
> {code}
> $ hadoop fs -ls /user/secure/
> ls: could not get get listing for 'hdfs://mynamenode/user/secure' : org.apache.hadoop.security.AccessControlException: Permission denied: user=viraj, access=READ_EXECUTE, inode="secure":secure:users:rwx------
> {code}
> Viraj

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira