[
https://issues.apache.org/jira/browse/MAPREDUCE-2346?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Devaraj K updated MAPREDUCE-2346:
---------------------------------
Fix Version/s: 0.20.2
Status: Patch Available (was: Open)
It exists only in 0.20.x version and doesn’t exist in any other versions. This
patch is intended for 0.20.2 version.
> JobClient's isSuccessful and isComplete API's can throw NPE in some cases
> -------------------------------------------------------------------------
>
> Key: MAPREDUCE-2346
> URL: https://issues.apache.org/jira/browse/MAPREDUCE-2346
> Project: Hadoop Map/Reduce
> Issue Type: Bug
> Components: client
> Affects Versions: 0.20.1
> Reporter: Bhallamudi Venkata Siva Kamesh
> Assignee: Devaraj K
> Priority: Minor
> Fix For: 0.20.2
>
> Attachments: MAPREDUCE-2346.patch
>
>
> Description:
> * Submit a job to the job tracker and let the job complete its execution
> through one of the job client's submitJob APIs.
> * Jobclient returns a handle to the job, in the form of a RunningJob object.
> Client can use this object to check whether job is sucessful or whether job
> is completed.
> * Reduce the following property *mapred.jobtracker.retirejob.interval*.By
> default this value is 1 day. I reduced it to 5 min.
> * Set the property *mapred.job.tracker.persist.jobstatus.active* to
> {color:blue}*false*{color}.
> * Call either isComplete or isSuccessful APIs, after
> *mapred.jobtracker.retirejob.interval* time period, previously mentioned APIs
> throw NPE.
> Below I am attaching stack trace
> {code:xml}
> java.lang.NullPointerException
> at
> org.apache.hadoop.mapred.JobClient$NetworkedJob.isSuccessful(JobClient.java:330)
> at
> com.huawei.isap.hdp.mapreduce.test.TestJobClient.testjobClientForNULL(TestJobClient.java:60)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at junit.framework.TestCase.runTest(TestCase.java:164)
> at junit.framework.TestCase.runBare(TestCase.java:130)
> at junit.framework.TestResult$1.protect(TestResult.java:106)
> at junit.framework.TestResult.runProtected(TestResult.java:124)
> at junit.framework.TestResult.run(TestResult.java:109)
> at junit.framework.TestCase.run(TestCase.java:120)
> at junit.framework.TestSuite.runTest(TestSuite.java:230)
> at junit.framework.TestSuite.run(TestSuite.java:225)
> at
> org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:130)
> at
> org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
> at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
> at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
> at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
> at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
> {code}
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira