-------- Original Message --------
From: Smita Deshpande <smita.deshpa...@cumulus-systems.com>
Sent: Wednesday, July 16, 2014 11:10 PM
To: user@hadoop.apache.org
Subject: Progress indicator should not be negative.

>Hi,
>                I am running the distributed shell example of YARN on apache 
> Hadoop 2.4.0.
>I have implemented getProgress method in my ApplicationMaster as follows
>
>public float getProgress() {
>      // set progress to deliver to RM on next heartbeat
>       float progress = 0;
>       try{
>              progress = (float) numCompletedContainers.get() / 
> numTotalContainers.get();
>       } catch(Exception _ex) {
>              _ex.printStackTrace();
>       }
>       return progress;
>}
>
>While shutting down the application I get following excpetion
>
>- Interrupted while waiting for queue
>java.lang.InterruptedException
>        at 
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.reportInterruptAfterWait(AbstractQueuedSynchronizer.java:2017)
>        at 
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2052)
>        at 
> java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
>        at 
> org.apache.hadoop.yarn.client.api.async.impl.AMRMClientAsyncImpl$CallbackHandlerThread.run(AMRMClientAsyncImpl.java:275)
>
>When I restart my application I get following error
>
>java.lang.IllegalArgumentException: Progress indicator should not be negative
>
>Because of this, my ApplicationMaster is launched in another container. This 
>exception is coming all the time in above scenario.
>
>Can you suggest me what is going wrong?
>
>Thanks,
>Smita
>

Reply via email to