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 2018/12/11 14:30:10 UTC
svn commit: r1848688 - in
/uima/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/common:
ADuccWork.java IDuccWork.java
Author: degenaro
Date: Tue Dec 11 14:30:10 2018
New Revision: 1848688
URL: http://svn.apache.org/viewvc?rev=1848688&view=rev
Log:
UIMA-5928 DUCC Agent quiesce should wait (forever) for non-fairshare displatchables to complete before shutting down
Provide method interface and implementation to determine preemptability status of dispatchable entities.
Modified:
uima/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/common/ADuccWork.java
uima/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/common/IDuccWork.java
Modified: uima/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/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/common/ADuccWork.java?rev=1848688&r1=1848687&r2=1848688&view=diff
==============================================================================
--- uima/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/common/ADuccWork.java (original)
+++ uima/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/common/ADuccWork.java Tue Dec 11 14:30:10 2018
@@ -18,6 +18,7 @@
*/
package org.apache.uima.ducc.transport.event.common;
+import org.apache.uima.ducc.common.utils.DuccSchedulerClasses;
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;
@@ -94,6 +95,29 @@ public abstract class ADuccWork implemen
this.duccSchedulingInfo = schedulingInfo;
}
+ // Evaluate preemptability of scheduling class for entity: { 1 == yes, -1 == no, 0 == dunno }
+ public int getPreemptableStatus() {
+ int retVal = 0; // dunno
+ try {
+ if(duccSchedulingInfo != null) {
+ String class_name = duccSchedulingInfo.getSchedulingClass();
+ if(class_name != null) {
+ DuccSchedulerClasses duccSchedulerClasses = DuccSchedulerClasses.getInstance();
+ boolean preemptable = duccSchedulerClasses.isPreemptable(class_name);
+ if(preemptable) {
+ retVal = 0+1; // yes
+ }
+ else {
+ retVal = 0-1; // no
+ }
+ }
+ }
+ }
+ catch(Exception e) {
+ // dunno
+ }
+ return retVal;
+ }
public Object getStateObject() {
return stateObject;
Modified: uima/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/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/common/IDuccWork.java?rev=1848688&r1=1848687&r2=1848688&view=diff
==============================================================================
--- uima/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/common/IDuccWork.java (original)
+++ uima/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/common/IDuccWork.java Tue Dec 11 14:30:10 2018
@@ -41,6 +41,9 @@ public interface IDuccWork extends Ident
public IDuccSchedulingInfo getSchedulingInfo();
public void setSchedulingInfo(IDuccSchedulingInfo schedulingInfo);
+ // Evaluate preemptability of scheduling class for entity: { 1 == yes, -1 == no, 0 == dunno }
+ public int getPreemptableStatus();
+
public Object getStateObject();
public void setStateObject(Object state);