Author: degenaro Date: Tue Mar 19 15:51:42 2013 New Revision: 1458355 URL: http://svn.apache.org/r1458355 Log: UIMA-2732 DUCC support for monitoring of Managed Reservations, transport enhancements
Added: uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/AbstractDuccCancelEvent.java uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/IDuccContext.java Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/CancelServiceDuccEvent.java uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/cli/JobReplyProperties.java uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/cli/JobSpecificationProperties.java uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/common/ADuccWork.java uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/common/DuccWorkMap.java uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/common/IDuccWork.java Added: uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/AbstractDuccCancelEvent.java URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/AbstractDuccCancelEvent.java?rev=1458355&view=auto ============================================================================== --- uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/AbstractDuccCancelEvent.java (added) +++ uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/AbstractDuccCancelEvent.java Tue Mar 19 15:51:42 2013 @@ -0,0 +1,40 @@ +/* + * 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.transport.event; + +import org.apache.uima.ducc.transport.event.IDuccContext.DuccContext; + +@SuppressWarnings("serial") +public class AbstractDuccCancelEvent extends AbstractDuccJobEvent { + + private DuccContext context = DuccContext.Unspecified; + + public AbstractDuccCancelEvent(EventType eventType) { + super(eventType); + } + + public void setContext(DuccContext context) { + this.context = context; + } + + public DuccContext getContext() { + return context; + } + +} Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/CancelServiceDuccEvent.java URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/CancelServiceDuccEvent.java?rev=1458355&r1=1458354&r2=1458355&view=diff ============================================================================== --- uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/CancelServiceDuccEvent.java (original) +++ uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/CancelServiceDuccEvent.java Tue Mar 19 15:51:42 2013 @@ -19,12 +19,21 @@ package org.apache.uima.ducc.transport.event; import org.apache.uima.ducc.common.utils.DuccProperties; +import org.apache.uima.ducc.transport.event.IDuccContext.DuccContext; @SuppressWarnings("serial") -public class CancelServiceDuccEvent extends AbstractDuccJobEvent { +public class CancelServiceDuccEvent extends AbstractDuccCancelEvent { + /* public CancelServiceDuccEvent(DuccProperties props) { super(EventType.CANCEL_SERVICE); setProperties(props); } + */ + + public CancelServiceDuccEvent(DuccProperties props, DuccContext context) { + super(EventType.CANCEL_SERVICE); + setProperties(props); + setContext(context); + } } Added: uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/IDuccContext.java URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/IDuccContext.java?rev=1458355&view=auto ============================================================================== --- uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/IDuccContext.java (added) +++ uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/IDuccContext.java Tue Mar 19 15:51:42 2013 @@ -0,0 +1,24 @@ +/* + * 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.transport.event; + +public interface IDuccContext { + + public enum DuccContext { Job, ManagedReservation, Reservation, Service, Unspecified }; +} Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/cli/JobReplyProperties.java URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/cli/JobReplyProperties.java?rev=1458355&r1=1458354&r2=1458355&view=diff ============================================================================== --- uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/cli/JobReplyProperties.java (original) +++ uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/cli/JobReplyProperties.java Tue Mar 19 15:51:42 2013 @@ -32,6 +32,7 @@ public class JobReplyProperties extends public static String msg_user_not_authorized = "user not authorized"; public static String msg_job_not_found = "job not found"; public static String msg_service_not_found = "service not found"; + public static String msg_managed_reservation_not_found = "managed reservation not found"; public static String msg_process_not_found = "process not found"; public static String msg_process_not_active = "process not active"; public static String msg_process_canceled = "process canceled"; Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/cli/JobSpecificationProperties.java URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/cli/JobSpecificationProperties.java?rev=1458355&r1=1458354&r2=1458355&view=diff ============================================================================== --- uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/cli/JobSpecificationProperties.java (original) +++ uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/cli/JobSpecificationProperties.java Tue Mar 19 15:51:42 2013 @@ -79,6 +79,9 @@ public class JobSpecificationProperties public static String key_wait_for_completion = "wait_for_completion"; public static String key_classpath_order = "classpath_order"; + + public static String key_cancel_job_on_interrupt = "cancel_job_on_interrupt"; + public static String key_cancel_managed_reservation_on_interrupt = "cancel_managed_reservation_on_interrupt"; public static String[] keys = { JobRequestProperties.key_signature, @@ -120,6 +123,8 @@ public class JobSpecificationProperties key_service_dependency, key_wait_for_completion, key_classpath_order, + key_cancel_job_on_interrupt, + key_cancel_managed_reservation_on_interrupt, }; public boolean isRecognized(String key) { Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/common/ADuccWork.java URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/common/ADuccWork.java?rev=1458355&r1=1458354&r2=1458355&view=diff ============================================================================== --- uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/common/ADuccWork.java (original) +++ uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/common/ADuccWork.java Tue Mar 19 15:51:42 2013 @@ -40,6 +40,7 @@ public abstract class ADuccWork implemen private String[] serviceDependencies = null; private ServiceDeploymentType serviceDeploymentType = null; private String serviceEndpoint = null; // generated in submit + private boolean cancelOnInterrupt = false; @Override public DuccId getDuccId() { @@ -138,7 +139,17 @@ public abstract class ADuccWork implemen { return serviceEndpoint; } + + public void setCancelOnInterrupt() + { + this.cancelOnInterrupt = true; + } + public boolean isCancelOnInterrupt() + { + return cancelOnInterrupt; + } + public boolean isSchedulable() { throw new RuntimeException("subclass must override: should never be here!"); } Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/common/DuccWorkMap.java URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/common/DuccWorkMap.java?rev=1458355&r1=1458354&r2=1458355&view=diff ============================================================================== --- uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/common/DuccWorkMap.java (original) +++ uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/common/DuccWorkMap.java Tue Mar 19 15:51:42 2013 @@ -29,6 +29,7 @@ import java.util.concurrent.atomic.Atomi import org.apache.commons.lang.SerializationUtils; import org.apache.uima.ducc.common.utils.id.DuccId; import org.apache.uima.ducc.transport.event.common.IDuccTypes.DuccType; +import org.apache.uima.ducc.transport.event.common.IDuccWorkService.ServiceDeploymentType; @SuppressWarnings({ "rawtypes" }) @@ -95,6 +96,35 @@ public class DuccWorkMap implements Seri return retVal; } + public Set<DuccId> getManagedReservationKeySet() { + Set<DuccId> retVal = new HashSet<DuccId>(); + Iterator<DuccId> iterator = keySet().iterator(); + while(iterator.hasNext()) { + DuccId duccId = iterator.next(); + IDuccWork duccWork = concurrentWorkMap.get(duccId); + if(duccWork != null) { + switch(duccWork.getDuccType()) { + case Service: + DuccWorkJob service = (DuccWorkJob)duccWork; + ServiceDeploymentType sdt = service.getServiceDeploymentType(); + if(sdt != null) { + switch(sdt) { + case other: + retVal.add(duccId); + break; + default: + break; + } + } + break; + default: + break; + } + } + } + return retVal; + } + public int getReservationCount() { return atomicReservationCount.get(); } Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/common/IDuccWork.java URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/common/IDuccWork.java?rev=1458355&r1=1458354&r2=1458355&view=diff ============================================================================== --- uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/common/IDuccWork.java (original) +++ uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/common/IDuccWork.java Tue Mar 19 15:51:42 2013 @@ -53,4 +53,6 @@ public interface IDuccWork extends Seria public boolean isSchedulable(); public boolean isCompleted(); public boolean isOperational(); + + public boolean isCancelOnInterrupt(); }