hadoop-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Smita Deshpande <smita.deshpa...@cumulus-systems.com>
Subject Progress indicator should not be negative.
Date Thu, 17 Jul 2014 06:10:33 GMT
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


Mime
View raw message