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;