You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by de...@apache.org on 2015/01/29 22:48:16 UTC
svn commit: r1655871 -
/uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/StateManager.java
Author: degenaro
Date: Thu Jan 29 21:48:15 2015
New Revision: 1655871
URL: http://svn.apache.org/r1655871
Log:
UIMA-4069 DUCC Job Driver (JD) system classpath
Instrument OR to track excess capacity deallocations (via DEBUG logging flag)
Modified:
uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/StateManager.java
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/StateManager.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/StateManager.java?rev=1655871&r1=1655870&r2=1655871&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/StateManager.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/StateManager.java Thu Jan 29 21:48:15 2015
@@ -794,26 +794,44 @@ public class StateManager {
private boolean deallocateIdleProcesses(DuccWorkJob job, IDriverStatusReport jdStatusReport) {
String methodName = "deallocateIdleProcesses";
boolean retVal = false;
- if(isDeallocatable(jdStatusReport)) {
- IDuccProcessMap processMap = job.getProcessMap();
- Iterator<DuccId> iterator = processMap.keySet().iterator();
- boolean excessCapacity = isExcessCapacity(job, jdStatusReport);
- while(iterator.hasNext() && excessCapacity) {
- DuccId duccId = iterator.next();
- IDuccProcess process = processMap.get(duccId);
- if(!process.isDeallocated()) {
- String nodeIP = process.getNodeIdentity().getIp();
- String PID = process.getPID();
- if(!jdStatusReport.isOperating(nodeIP, PID)) {
- OrUtil.setResourceState(job, process, ResourceState.Deallocated);
- process.setProcessDeallocationType(ProcessDeallocationType.Voluntary);
- logger.info(methodName, job.getDuccId(), process.getDuccId(), "deallocated");
- retVal = true;
- excessCapacity = isExcessCapacity(job, jdStatusReport);
+ DuccId jobid = job.getDuccId();
+ try {
+ if(isDeallocatable(jdStatusReport)) {
+ IDuccProcessMap processMap = job.getProcessMap();
+ Iterator<DuccId> iterator = processMap.keySet().iterator();
+ boolean excessCapacity = isExcessCapacity(job, jdStatusReport);
+ int count = 0;
+ while(iterator.hasNext() && excessCapacity) {
+ count++;
+ DuccId duccId = iterator.next();
+ IDuccProcess process = processMap.get(duccId);
+ if(!process.isDeallocated()) {
+ String nodeIP = process.getNodeIdentity().getIp();
+ String PID = process.getPID();
+ if(!jdStatusReport.isOperating(nodeIP, PID)) {
+ OrUtil.setResourceState(job, process, ResourceState.Deallocated);
+ process.setProcessDeallocationType(ProcessDeallocationType.Voluntary);
+ logger.info(methodName, job.getDuccId(), process.getDuccId(), "deallocated");
+ retVal = true;
+ excessCapacity = isExcessCapacity(job, jdStatusReport);
+ }
+ else {
+ logger.debug(methodName, job.getDuccId(), process.getDuccId(), "operating");
+ }
+ }
+ else {
+ logger.trace(methodName, job.getDuccId(), process.getDuccId(), "already deallocated");
}
}
+ logger.trace(methodName, jobid, "count="+count);
+ }
+ else {
+ logger.debug(methodName, jobid, "not deallocatable");
}
}
+ catch(Exception e) {
+ logger.error(methodName, job.getDuccId(), e);
+ }
return retVal;
}