[
https://issues.apache.org/jira/browse/PIG-471?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Pradeep Kamath updated PIG-471:
-------------------------------
Status: Patch Available (was: Open)
Attached patch for the issue. The problem was that when the file is missing,
the job submission fails in getSplit() even BEFORE map or reduce tasks are ever
run. In MapReduceLauncher after we come to know the job has failed, we try to
get mapTaskReport and reduceTaskReport (in Launcher.getStats()) from Hadoop
which results in an IOexception. The fix catches this and gives a warning to
the user IF the job had succeeded
> Verbose (unrelated) exception stack is printed when input file in the Load is
> not present
> -----------------------------------------------------------------------------------------
>
> Key: PIG-471
> URL: https://issues.apache.org/jira/browse/PIG-471
> Project: Pig
> Issue Type: Bug
> Affects Versions: types_branch
> Reporter: Pradeep Kamath
> Assignee: Pradeep Kamath
> Fix For: types_branch
>
>
> When input file in load is absent the following is printed on the screen:
> {noformat}
> 2008-10-06 10:24:28,048 [main] ERROR
> org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceLauncher
> - java.io.IOException: bla does not exist
> at
> org.apache.pig.backend.executionengine.PigSlicer.validate(PigSlicer.java:105)
> at
> org.apache.pig.impl.io.ValidatingInputFileSpec.validate(ValidatingInputFileSpec.java:59)
> at
> org.apache.pig.impl.io.ValidatingInputFileSpec.<init>(ValidatingInputFileSpec.java:44)
> at
> org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigInputFormat.getSplits(PigInputFormat.java:200)
> at org.apache.hadoop.mapred.JobClient.submitJob(JobClient.java:742)
> at org.apache.hadoop.mapred.jobcontrol.Job.submit(Job.java:370)
> at
> org.apache.hadoop.mapred.jobcontrol.JobControl.startReadyJobs(JobControl.java:247)
> at
> org.apache.hadoop.mapred.jobcontrol.JobControl.run(JobControl.java:279)
> at java.lang.Thread.run(Thread.java:595)
> 2008-10-06 10:24:28,061 [main] ERROR org.apache.pig.tools.grunt.GruntParser -
> java.io.IOException: Unable to store for alias: 1 [java.io.IOException:
> java.lang.NullPointerException
> at java.util.TreeMap.getEntry(TreeMap.java:324)
> at java.util.TreeMap.get(TreeMap.java:255)
> at
> org.apache.hadoop.mapred.JobTracker.getMapTaskReports(JobTracker.java:1894)
> at sun.reflect.GeneratedMethodAccessor20.invoke(Unknown Source)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:452)
> at org.apache.hadoop.ipc.Server$Handler.run(Server.java:888)
> ]
> at
> org.apache.pig.backend.hadoop.executionengine.HExecutionEngine.execute(HExecutionEngine.java:255)
> at
> org.apache.pig.PigServer.executeCompiledLogicalPlan(PigServer.java:647)
> at org.apache.pig.PigServer.execute(PigServer.java:638)
> at org.apache.pig.PigServer.registerQuery(PigServer.java:278)
> at
> org.apache.pig.tools.grunt.GruntParser.processPig(GruntParser.java:439)
> at
> org.apache.pig.tools.pigscript.parser.PigScriptParser.parse(PigScriptParser.java:249)
> at
> org.apache.pig.tools.grunt.GruntParser.parseContOnError(GruntParser.java:94)
> at org.apache.pig.tools.grunt.Grunt.run(Grunt.java:58)
> at org.apache.pig.Main.main(Main.java:282)
> Caused by: org.apache.pig.backend.executionengine.ExecException:
> java.io.IOException: java.lang.NullPointerException
> at java.util.TreeMap.getEntry(TreeMap.java:324)
> at java.util.TreeMap.get(TreeMap.java:255)
> at
> org.apache.hadoop.mapred.JobTracker.getMapTaskReports(JobTracker.java:1894)
> at sun.reflect.GeneratedMethodAccessor20.invoke(Unknown Source)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:452)
> at org.apache.hadoop.ipc.Server$Handler.run(Server.java:888)
> ... 9 more
> Caused by: org.apache.hadoop.ipc.RemoteException: java.io.IOException:
> java.lang.NullPointerException
> at java.util.TreeMap.getEntry(TreeMap.java:324)
> at java.util.TreeMap.get(TreeMap.java:255)
> at
> org.apache.hadoop.mapred.JobTracker.getMapTaskReports(JobTracker.java:1894)
> at sun.reflect.GeneratedMethodAccessor20.invoke(Unknown Source)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:452)
> at org.apache.hadoop.ipc.Server$Handler.run(Server.java:888)
> at org.apache.hadoop.ipc.Client.call(Client.java:715)
> at org.apache.hadoop.ipc.RPC$Invoker.invoke(RPC.java:216)
> at org.apache.hadoop.mapred.$Proxy1.getMapTaskReports(Unknown Source)
> at
> org.apache.hadoop.mapred.JobClient.getMapTaskReports(JobClient.java:935)
> at
> org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.Launcher.getStats(Launcher.java:90)
> at
> org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceLauncher.launchPig(MapReduceLauncher.java:92)
> at
> org.apache.pig.backend.hadoop.executionengine.HExecutionEngine.execute(HExecutionEngine.java:245)
> ... 8 more
> 2008-10-06 10:24:28,061 [main] ERROR org.apache.pig.tools.grunt.GruntParser -
> Unable to store for alias: 1 [java.io.IOException:
> java.lang.NullPointerException
> at java.util.TreeMap.getEntry(TreeMap.java:324)
> at java.util.TreeMap.get(TreeMap.java:255)
> {noformat}
> Of this only the first part which actually tells that the input file is
> absent is useful, the rest is misleading and confusing
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.