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/21 14:39:32 UTC

svn commit: r1653536 - in /uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator: ./ factory/ maintenance/

Author: degenaro
Date: Wed Jan 21 13:39:32 2015
New Revision: 1653536

URL: http://svn.apache.org/r1653536
Log:
UIMA-4069 DUCC Job Driver (JD) system classpath

Funnel all OR setting of Allocate and Deallocate flags for JPs through debug choke point

Added:
    uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/OrUtil.java   (with props)
Modified:
    uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/OrchestratorComponent.java
    uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/ProcessAccounting.java
    uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/StateManager.java
    uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/factory/JobFactoryV2.java
    uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/maintenance/HealthMonitor.java

Added: uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/OrUtil.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/OrUtil.java?rev=1653536&view=auto
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/OrUtil.java (added)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/OrUtil.java Wed Jan 21 13:39:32 2015
@@ -0,0 +1,37 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+*/
+package org.apache.uima.ducc.orchestrator;
+
+import org.apache.uima.ducc.common.utils.DuccLogger;
+import org.apache.uima.ducc.common.utils.DuccLoggerComponents;
+import org.apache.uima.ducc.transport.event.common.IDuccProcess;
+import org.apache.uima.ducc.transport.event.common.IDuccWorkJob;
+import org.apache.uima.ducc.transport.event.common.IResourceState;
+
+public class OrUtil {
+	
+	private static final DuccLogger logger = DuccLoggerComponents.getOrLogger(OrUtil.class.getName());
+	
+	public static void setResourceState(IDuccWorkJob job, IDuccProcess process, IResourceState.ResourceState value) {
+		String location = "setResourceState";
+		logger.debug(location, job.getDuccId(), process.getDuccId(), value);
+		process.setResourceState(value);
+	}
+	
+}

Propchange: uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/OrUtil.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/OrUtil.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/OrchestratorComponent.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/OrchestratorComponent.java?rev=1653536&r1=1653535&r2=1653536&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/OrchestratorComponent.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/OrchestratorComponent.java Wed Jan 21 13:39:32 2015
@@ -709,7 +709,7 @@ implements Orchestrator {
 						case Starting:
 						case Initializing:
 						case Running:
-							idp.setResourceState(ResourceState.Deallocated);
+							OrUtil.setResourceState(duccWorkJob, idp, ResourceState.Deallocated);
 							idp.setProcessState(ProcessState.Abandoned);
 							idp.setProcessDeallocationType(ProcessDeallocationType.Canceled);
 							idp.setReasonForStoppingProcess(ReasonForStoppingProcess.UserInitiated.toString());

Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/ProcessAccounting.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/ProcessAccounting.java?rev=1653536&r1=1653535&r2=1653536&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/ProcessAccounting.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/ProcessAccounting.java Wed Jan 21 13:39:32 2015
@@ -380,7 +380,7 @@ public class ProcessAccounting {
 		case Killed:
 			switch(process.getResourceState()) {
 			case Allocated:
-				process.setResourceState(ResourceState.Deallocated);
+				OrUtil.setResourceState(job, process, ResourceState.Deallocated);
 				String reason = inventoryProcess.getReasonForStoppingProcess();
 				logger.info(methodName, job.getDuccId(), process.getDuccId(), messages.fetchLabel("process state")+inventoryProcess.getProcessState()+" => "+messages.fetchLabel("resource state")+process.getResourceState()+" : "+messages.fetchLabel("reason")+reason);
 				switch(inventoryProcess.getProcessState()) {
@@ -799,7 +799,7 @@ public class ProcessAccounting {
 				IDuccProcess process = iterator.next();
 				switch(process.getResourceState()) {
 				case Allocated:
-					process.setResourceState(ResourceState.Deallocated);
+					OrUtil.setResourceState(job, process, ResourceState.Deallocated);
 					process.setProcessDeallocationType(processDeallocationType);
 					logger.info(methodName, job.getDuccId(), process.getDuccId(), type);
 					if(processState != null) {

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=1653536&r1=1653535&r2=1653536&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 Wed Jan 21 13:39:32 2015
@@ -802,7 +802,7 @@ public class StateManager {
 					String nodeIP = process.getNodeIdentity().getIp();
 					String PID = process.getPID();
 					if(!jdStatusReport.isOperating(nodeIP, PID)) {
-						process.setResourceState(ResourceState.Deallocated);
+						OrUtil.setResourceState(job, process, ResourceState.Deallocated);
 						process.setProcessDeallocationType(ProcessDeallocationType.Voluntary);
 						logger.info(methodName, job.getDuccId(), process.getDuccId(), "deallocated");
 						retVal = true;
@@ -825,7 +825,7 @@ public class StateManager {
 				IDuccProcess process = processMap.get(duccId);
 				if(process != null) {
 					if(!process.isDeallocated()) {
-						process.setResourceState(ResourceState.Deallocated);
+						OrUtil.setResourceState(job, process, ResourceState.Deallocated);
 						process.setProcessDeallocationType(ProcessDeallocationType.Exception);
 						logger.info(methodName, job.getDuccId(), process.getDuccId(), "deallocated");
 					}
@@ -847,7 +847,7 @@ public class StateManager {
 			IDuccProcess process = processMap.get(duccId);
 			if(process != null) {
 				if(!process.isDeallocated()) {
-					process.setResourceState(ResourceState.Deallocated);
+					OrUtil.setResourceState(job, process, ResourceState.Deallocated);
 					process.setProcessDeallocationType(ProcessDeallocationType.Voluntary);
 					logger.info(methodName, job.getDuccId(), process.getDuccId(), "deallocated");
 				}
@@ -864,7 +864,7 @@ public class StateManager {
 			IDuccProcess process = processMap.get(duccId);
 			if(process != null) {
 				if(!process.isDeallocated()) {
-					process.setResourceState(ResourceState.Deallocated);
+					OrUtil.setResourceState(job, process, ResourceState.Deallocated);
 					process.setProcessDeallocationType(ProcessDeallocationType.Voluntary);
 					logger.info(methodName, job.getDuccId(), process.getDuccId(), "deallocated");
 				}
@@ -1124,7 +1124,7 @@ public class StateManager {
 							String rState = process.getResourceState().toString();
 							String pState = process.getProcessState().toString();
 							logger.info(methodName, job.getDuccId(), duccId, "rState:"+rState+" "+"pState:"+pState);
-							process.setResourceState(ResourceState.Deallocated);
+							OrUtil.setResourceState(job, process, ResourceState.Deallocated);
 							process.setProcessDeallocationType(ProcessDeallocationType.Purged);
 							process.advanceProcessState(ProcessState.Stopped);
 							changes++;
@@ -1169,7 +1169,7 @@ public class StateManager {
 					CGroupManager.assign(duccWorkJob.getDuccId(), process, process_max_size_in_bytes);
 					orchestratorCommonArea.getProcessAccounting().addProcess(duccId, duccWorkJob.getDuccId());
 					processMap.addProcess(process);
-					process.setResourceState(ResourceState.Allocated);
+					OrUtil.setResourceState(duccWorkJob, process, ResourceState.Allocated);
 					logger.info(methodName, duccWorkJob.getDuccId(), messages.fetch("resource added")
 												+" "+messages.fetchLabel("process")+duccId.getFriendly()
 												+" "+messages.fetchLabel("unique")+duccId.getUnique()
@@ -1181,7 +1181,7 @@ public class StateManager {
 					// allocation unnecessary if job is already completed
 					case Completing:
 					case Completed:
-						process.setResourceState(ResourceState.Deallocated);
+						OrUtil.setResourceState(duccWorkJob, process, ResourceState.Deallocated);
 						process.setProcessDeallocationType(ProcessDeallocationType.Voluntary);
 						process.advanceProcessState(ProcessState.Stopped);
 						logger.warn(methodName, duccWorkJob.getDuccId(), 
@@ -1193,7 +1193,7 @@ public class StateManager {
 					default:
 						// allocation unnecessary if job has excess capacity
 						if(isExcessCapacity(duccWorkJob,driverStatusReportMap.get(duccId))) {
-							process.setResourceState(ResourceState.Deallocated);
+							OrUtil.setResourceState(duccWorkJob, process, ResourceState.Deallocated);
 							process.setProcessDeallocationType(ProcessDeallocationType.Voluntary);
 							process.advanceProcessState(ProcessState.Stopped);
 							logger.warn(methodName, duccWorkJob.getDuccId(), 
@@ -1244,7 +1244,7 @@ public class StateManager {
 					case Deallocated:
 						break;
 					default:
-						process.setResourceState(ResourceState.Deallocated);
+						OrUtil.setResourceState(duccWorkJob, process, ResourceState.Deallocated);
 						process.setProcessDeallocationType(ProcessDeallocationType.Forced);
 						logger.info(methodName, duccWorkJob.getDuccId(), messages.fetch("resource deallocated")
 							+" "+messages.fetchLabel("process")+duccId.getFriendly()

Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/factory/JobFactoryV2.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/factory/JobFactoryV2.java?rev=1653536&r1=1653535&r2=1653536&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/factory/JobFactoryV2.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/factory/JobFactoryV2.java Wed Jan 21 13:39:32 2015
@@ -41,6 +41,7 @@ import org.apache.uima.ducc.common.utils
 import org.apache.uima.ducc.common.utils.id.IDuccIdFactory;
 import org.apache.uima.ducc.orchestrator.CGroupManager;
 import org.apache.uima.ducc.orchestrator.JobDriverHostManager;
+import org.apache.uima.ducc.orchestrator.OrUtil;
 import org.apache.uima.ducc.orchestrator.OrchestratorCommonArea;
 import org.apache.uima.ducc.transport.cmdline.ACommandLine;
 import org.apache.uima.ducc.transport.cmdline.JavaCommandLine;
@@ -404,7 +405,7 @@ public class JobFactoryV2 implements IJo
 		duccId.setFriendly(0);
 		DuccProcess driverProcess = new DuccProcess(duccId,nodeIdentity,ProcessType.Pop);
 		CGroupManager.assign(job.getDuccId(), driverProcess, driver_max_size_in_bytes);
-		driverProcess.setResourceState(ResourceState.Allocated);
+		OrUtil.setResourceState(job, driverProcess, ResourceState.Allocated);
 		driverProcess.setNodeIdentity(nodeIdentity);
 		driver.getProcessMap().put(driverProcess.getDuccId(), driverProcess);
 		//

Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/maintenance/HealthMonitor.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/maintenance/HealthMonitor.java?rev=1653536&r1=1653535&r2=1653536&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/maintenance/HealthMonitor.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/maintenance/HealthMonitor.java Wed Jan 21 13:39:32 2015
@@ -27,6 +27,7 @@ import org.apache.uima.ducc.common.utils
 import org.apache.uima.ducc.common.utils.DuccLoggerComponents;
 import org.apache.uima.ducc.common.utils.id.DuccId;
 import org.apache.uima.ducc.orchestrator.Constants;
+import org.apache.uima.ducc.orchestrator.OrUtil;
 import org.apache.uima.ducc.orchestrator.OrchestratorCheckpoint;
 import org.apache.uima.ducc.orchestrator.OrchestratorCommonArea;
 import org.apache.uima.ducc.orchestrator.StateManager;
@@ -171,7 +172,7 @@ public class HealthMonitor {
 				while(iterator.hasNext()) {
 					IDuccProcess process = iterator.next();
 					if(!process.isDeallocated()) {
-						process.setResourceState(ResourceState.Deallocated);
+						OrUtil.setResourceState(job, process, ResourceState.Deallocated);
 						process.setProcessDeallocationType(ProcessDeallocationType.JobCompleted);
 						logger.info(methodName, job.getDuccId(), process.getDuccId(), ProcessDeallocationType.JobCompleted);
 						ckpt = true;