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

Devaraj K updated MAPREDUCE-2346:
---------------------------------

    Description: 
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} 


  was:
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

{noformat}
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)
{noformat)


> 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
>         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

        

Reply via email to