You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by ch...@apache.org on 2015/02/06 22:09:41 UTC
svn commit: r1657963 - in /uima/sandbox/uima-ducc/trunk:
uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/
uima-ducc-sm/src/main/java/org/apache/uima/ducc/sm/
uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/sm/
Author: challngr
Date: Fri Feb 6 21:09:41 2015
New Revision: 1657963
URL: http://svn.apache.org/r1657963
Log:
UIMA-4223 Don't kill job if service is registered, but not functioning.
Modified:
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-sm/src/main/java/org/apache/uima/ducc/sm/ServiceHandler.java
uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/sm/IService.java
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=1657963&r1=1657962&r2=1657963&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 Fri Feb 6 21:09:41 2015
@@ -1392,6 +1392,7 @@ public class StateManager {
break;
case WaitingForServices:
switch(serviceState) {
+ case Pending: // UIMA-4223
case Waiting:
case Starting:
case Initializing:
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-sm/src/main/java/org/apache/uima/ducc/sm/ServiceHandler.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-sm/src/main/java/org/apache/uima/ducc/sm/ServiceHandler.java?rev=1657963&r1=1657962&r2=1657963&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-sm/src/main/java/org/apache/uima/ducc/sm/ServiceHandler.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-sm/src/main/java/org/apache/uima/ducc/sm/ServiceHandler.java Fri Feb 6 21:09:41 2015
@@ -311,7 +311,7 @@ public class ServiceHandler
// Running > Initializing > Waiting > NotAvailable
//
// This sets the state to the min(all dependent service states)
- //
+ //
for ( ServiceSet sset : services.values() ) {
if ( sset.getState().ordinality() < state.ordinality() ) state = sset.getState();
dep.setIndividualState(sset.getKey(), sset.getState());
@@ -320,6 +320,12 @@ public class ServiceHandler
}
// logger.debug(methodName, id, "Set individual state", sset.getState());
}
+
+ if ( state.ordinality() < 5 ) { // UIMA-4223, if we got this far, the services all exist but at least one of them
+ // is not usable. We use this slightly artificial state to insure the OR keeps
+ // the work WaitingForServices.
+ state = ServiceState.Pending;
+ }
dep.setState(state);
}
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/sm/IService.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/sm/IService.java?rev=1657963&r1=1657962&r2=1657963&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/sm/IService.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/sm/IService.java Fri Feb 6 21:09:41 2015
@@ -105,6 +105,9 @@ public interface IService
// In code we want to be able to use the nicer mixed-case names.
// Always use encode and decode and you can't get this wrong.
//
+ Pending { public String decode() { return "pending" ; } }, // Work is waiting on at least one service to start but
+ // the service is not disabled or some such. UIMA-4223
+
Waiting { public String decode() { return "waiting" ; } }, // A job is waiting on at least one service to ping
Starting { public String decode() { return "starting" ; } }, // Instance is started, but not yet to Initializing
Initializing { public String decode() { return "initializing" ; } }, // A job is waiting on at least one service to initialize
@@ -120,6 +123,7 @@ public interface IService
public static ServiceState encode(String value)
{
+ if ( value.equals("pending" ) ) return Pending; // UIMA-4223
if ( value.equals("waiting" ) ) return Waiting;
if ( value.equals("starting" ) ) return Starting;
if ( value.equals("stopped" ) ) return Stopped;
@@ -135,6 +139,7 @@ public interface IService
public int ordinality()
{
switch ( this ) {
+ case Pending: return 9; // UIMA-4223
case Available: return 8;
case Waiting: return 7;
case Initializing: return 6;