Author: degenaro Date: Tue Dec 11 16:47:02 2018 New Revision: 1848697 URL: http://svn.apache.org/viewvc?rev=1848697&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, where returned value is boolean or Exception. 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=1848697&r1=1848696&r2=1848697&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 16:47:02 2018 @@ -95,27 +95,11 @@ 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 - } + // Evaluate preemptability of scheduling class for entity: + public boolean getPreemptableStatus() throws Exception { + String class_name = duccSchedulingInfo.getSchedulingClass(); + DuccSchedulerClasses duccSchedulerClasses = DuccSchedulerClasses.getInstance(); + boolean retVal = duccSchedulerClasses.isPreemptable(class_name); return retVal; } 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=1848697&r1=1848696&r2=1848697&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 16:47:02 2018 @@ -41,8 +41,8 @@ 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(); + // Evaluate preemptability of scheduling class for entity + public boolean getPreemptableStatus() throws Exception; public Object getStateObject(); public void setStateObject(Object state);