UIMA-6111 Don't treat ResourcesUnavailable as a service error git-svn-id: https://svn.apache.org/repos/asf/uima/uima-ducc/trunk@1864725 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/src/main/resources/default.ducc.properties b/src/main/resources/default.ducc.properties index 932d7a5..8857a40 100644 --- a/src/main/resources/default.ducc.properties +++ b/src/main/resources/default.ducc.properties
@@ -681,10 +681,11 @@ # If a node becomes inoperative, the Resource Manager deallocates all processes on that # node and attempts to reallocate them on other nodes. The node is marked offline and is # unusable until its heartbeats start up again. -# The default configuration declares the agent heartbeats to occur at 1 minute intervals. -# Therefore heartbeats must be missed for five minutes before the Resource Manager takes +# The default configuration declares the agent heartbeats to occur at 30 second intervals. +# (see ducc.agent.node.metrics.publish.rate) +# Therefore heartbeats must be missed for 3 minutes before the Resource Manager takes # corrective action. -ducc.rm.node.stability = 5 +ducc.rm.node.stability = 6 # Which policy to use when shrinking/evicting shares - alternatively, SHRINK_BY_MACHINE. # The eviction.policy is a heuristic to choose which processes of a job to preempt because of
diff --git a/uima-ducc-sm/src/main/java/org/apache/uima/ducc/sm/ServiceSet.java b/uima-ducc-sm/src/main/java/org/apache/uima/ducc/sm/ServiceSet.java index 61e2b06..a1eee31 100644 --- a/uima-ducc-sm/src/main/java/org/apache/uima/ducc/sm/ServiceSet.java +++ b/uima-ducc-sm/src/main/java/org/apache/uima/ducc/sm/ServiceSet.java
@@ -1497,7 +1497,12 @@ logger.info(methodName, id, "Instance", inst_id, "stopped by SM. Not restarting."); } else { // An instance stopped and we (SM) didn't ask it to - by definition this is failure no matter how it exits. - + + // If the RM purges the instance on a node failure the service should not be penalized UIMA-6111 + if (jct == JobCompletionType.ResourcesUnavailable) { + logger.info(methodName, id, "Instance purged by RM (node died?) - prior state[", old_state, + "] current state[", state, "] completion[", jct, "]"); + } else { switch ( old_state ) { case WaitingForServices: case WaitingForResources: @@ -1515,6 +1520,7 @@ logger.info(methodName, id, "Instance stopped unexpectedly: prior state[", old_state, " completion[", jct, "]"); break; } + } if ( excessiveFailures() ) { String disable_reason = null;