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 2015/03/29 16:00:07 UTC
svn commit: r1669910 - in
/uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container:
common/ jd/fsm/wi/ jd/timeout/
Author: degenaro
Date: Sun Mar 29 14:00:07 2015
New Revision: 1669910
URL: http://svn.apache.org/r1669910
Log:
UIMA-4313 DUCC Job Driver (JD) sometimes fails to cancel timers for Ack/End
Modified:
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/common/Standardize.java
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/fsm/wi/ActionAckTimeout.java
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/fsm/wi/ActionEnd.java
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/fsm/wi/ActionEndTimeout.java
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/fsm/wi/ActionProcessFailure.java
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/fsm/wi/ActionProcessPreempt.java
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/fsm/wi/ActionProcessVolunteered.java
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/timeout/ITimeoutManager.java
uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/timeout/TimeoutManager.java
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/common/Standardize.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/common/Standardize.java?rev=1669910&r1=1669909&r2=1669910&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/common/Standardize.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/common/Standardize.java Sun Mar 29 14:00:07 2015
@@ -21,6 +21,8 @@ package org.apache.uima.ducc.container.c
public class Standardize {
public enum Label {
+ tasks,
+ futures,
collectionReaderCfg,
collectionReaderXml,
userClasspath,
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/fsm/wi/ActionAckTimeout.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/fsm/wi/ActionAckTimeout.java?rev=1669910&r1=1669909&r2=1669910&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/fsm/wi/ActionAckTimeout.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/fsm/wi/ActionAckTimeout.java Sun Mar 29 14:00:07 2015
@@ -31,6 +31,7 @@ import org.apache.uima.ducc.container.jd
import org.apache.uima.ducc.container.jd.cas.CasManagerStats.RetryReason;
import org.apache.uima.ducc.container.jd.log.LoggerHelper;
import org.apache.uima.ducc.container.jd.mh.iface.remote.IRemoteWorkerProcess;
+import org.apache.uima.ducc.container.jd.timeout.TimeoutManager;
import org.apache.uima.ducc.container.jd.wi.IProcessStatistics;
import org.apache.uima.ducc.container.jd.wi.IWorkItem;
import org.apache.uima.ducc.container.jd.wi.WiTracker;
@@ -47,10 +48,11 @@ public class ActionAckTimeout extends Ac
private void preemptWorkItem(IActionData actionData, CasManager cm, IMetaCas metaCas) {
String location = "preemptWorkItem";
- cm.putMetaCas(metaCas, RetryReason.TimeoutRetry);
- cm.getCasManagerStats().incEndRetry();
MessageBuffer mb = LoggerHelper.getMessageBuffer(actionData);
logger.info(location, ILogger.null_id, mb.toString());
+ TimeoutManager.getInstance().cancelTimer(actionData);
+ cm.putMetaCas(metaCas, RetryReason.TimeoutRetry);
+ cm.getCasManagerStats().incEndRetry();
}
@Override
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/fsm/wi/ActionEnd.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/fsm/wi/ActionEnd.java?rev=1669910&r1=1669909&r2=1669910&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/fsm/wi/ActionEnd.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/fsm/wi/ActionEnd.java Sun Mar 29 14:00:07 2015
@@ -90,17 +90,19 @@ public class ActionEnd extends Action im
private void retryWorkItem(IActionData actionData, CasManager cm, IMetaCas metaCas) {
String location = "retryWorkItem";
- cm.putMetaCas(metaCas, RetryReason.UserErrorRetry);
- cm.getCasManagerStats().incEndRetry();
MessageBuffer mb = LoggerHelper.getMessageBuffer(actionData);
logger.info(location, ILogger.null_id, mb.toString());
+ TimeoutManager.getInstance().cancelTimer(actionData);
+ cm.putMetaCas(metaCas, RetryReason.UserErrorRetry);
+ cm.getCasManagerStats().incEndRetry();
}
private void killWorkItem(IActionData actionData, CasManager cm) {
String location = "killWorkItem";
- cm.getCasManagerStats().incEndFailure();
MessageBuffer mb = LoggerHelper.getMessageBuffer(actionData);
logger.info(location, ILogger.null_id, mb.toString());
+ TimeoutManager.getInstance().cancelTimer(actionData);
+ cm.getCasManagerStats().incEndFailure();
checkEnded(actionData, cm);
}
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/fsm/wi/ActionEndTimeout.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/fsm/wi/ActionEndTimeout.java?rev=1669910&r1=1669909&r2=1669910&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/fsm/wi/ActionEndTimeout.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/fsm/wi/ActionEndTimeout.java Sun Mar 29 14:00:07 2015
@@ -31,6 +31,7 @@ import org.apache.uima.ducc.container.jd
import org.apache.uima.ducc.container.jd.cas.CasManagerStats.RetryReason;
import org.apache.uima.ducc.container.jd.log.LoggerHelper;
import org.apache.uima.ducc.container.jd.mh.iface.remote.IRemoteWorkerProcess;
+import org.apache.uima.ducc.container.jd.timeout.TimeoutManager;
import org.apache.uima.ducc.container.jd.wi.IProcessStatistics;
import org.apache.uima.ducc.container.jd.wi.IWorkItem;
import org.apache.uima.ducc.container.jd.wi.WiTracker;
@@ -47,10 +48,11 @@ public class ActionEndTimeout extends Ac
private void preemptWorkItem(IActionData actionData, CasManager cm, IMetaCas metaCas) {
String location = "preemptWorkItem";
- cm.putMetaCas(metaCas, RetryReason.TimeoutRetry);
- cm.getCasManagerStats().incEndRetry();
MessageBuffer mb = LoggerHelper.getMessageBuffer(actionData);
logger.info(location, ILogger.null_id, mb.toString());
+ TimeoutManager.getInstance().cancelTimer(actionData);
+ cm.putMetaCas(metaCas, RetryReason.TimeoutRetry);
+ cm.getCasManagerStats().incEndRetry();
}
@Override
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/fsm/wi/ActionProcessFailure.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/fsm/wi/ActionProcessFailure.java?rev=1669910&r1=1669909&r2=1669910&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/fsm/wi/ActionProcessFailure.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/fsm/wi/ActionProcessFailure.java Sun Mar 29 14:00:07 2015
@@ -34,6 +34,7 @@ import org.apache.uima.ducc.container.jd
import org.apache.uima.ducc.container.jd.classload.ProxyJobDriverErrorHandler;
import org.apache.uima.ducc.container.jd.log.LoggerHelper;
import org.apache.uima.ducc.container.jd.mh.iface.remote.IRemoteWorkerProcess;
+import org.apache.uima.ducc.container.jd.timeout.TimeoutManager;
import org.apache.uima.ducc.container.jd.wi.IProcessStatistics;
import org.apache.uima.ducc.container.jd.wi.IWorkItem;
import org.apache.uima.ducc.container.net.iface.IMetaCas;
@@ -56,6 +57,7 @@ public class ActionProcessFailure extend
MessageBuffer mb = LoggerHelper.getMessageBuffer(actionData);
logger.info(location, ILogger.null_id, mb.toString());
//
+ TimeoutManager.getInstance().cancelTimer(actionData);
cm.putMetaCas(metaCas, RetryReason.ProcessDown);
cm.getCasManagerStats().incEndRetry();
JobDriver jd = JobDriver.getInstance();
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/fsm/wi/ActionProcessPreempt.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/fsm/wi/ActionProcessPreempt.java?rev=1669910&r1=1669909&r2=1669910&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/fsm/wi/ActionProcessPreempt.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/fsm/wi/ActionProcessPreempt.java Sun Mar 29 14:00:07 2015
@@ -31,6 +31,7 @@ import org.apache.uima.ducc.container.jd
import org.apache.uima.ducc.container.jd.cas.CasManagerStats.RetryReason;
import org.apache.uima.ducc.container.jd.log.LoggerHelper;
import org.apache.uima.ducc.container.jd.mh.iface.remote.IRemoteWorkerProcess;
+import org.apache.uima.ducc.container.jd.timeout.TimeoutManager;
import org.apache.uima.ducc.container.jd.wi.IProcessStatistics;
import org.apache.uima.ducc.container.jd.wi.IWorkItem;
import org.apache.uima.ducc.container.net.iface.IMetaCas;
@@ -46,10 +47,11 @@ public class ActionProcessPreempt extend
private void preemptWorkItem(IActionData actionData, CasManager cm, IMetaCas metaCas) {
String location = "preemptWorkItem";
- cm.putMetaCas(metaCas, RetryReason.ProcessPreempt);
- cm.getCasManagerStats().incEndRetry();
MessageBuffer mb = LoggerHelper.getMessageBuffer(actionData);
logger.info(location, ILogger.null_id, mb.toString());
+ TimeoutManager.getInstance().cancelTimer(actionData);
+ cm.putMetaCas(metaCas, RetryReason.ProcessPreempt);
+ cm.getCasManagerStats().incEndRetry();
}
@Override
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/fsm/wi/ActionProcessVolunteered.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/fsm/wi/ActionProcessVolunteered.java?rev=1669910&r1=1669909&r2=1669910&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/fsm/wi/ActionProcessVolunteered.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/fsm/wi/ActionProcessVolunteered.java Sun Mar 29 14:00:07 2015
@@ -31,6 +31,7 @@ import org.apache.uima.ducc.container.jd
import org.apache.uima.ducc.container.jd.cas.CasManagerStats.RetryReason;
import org.apache.uima.ducc.container.jd.log.LoggerHelper;
import org.apache.uima.ducc.container.jd.mh.iface.remote.IRemoteWorkerProcess;
+import org.apache.uima.ducc.container.jd.timeout.TimeoutManager;
import org.apache.uima.ducc.container.jd.wi.IProcessStatistics;
import org.apache.uima.ducc.container.jd.wi.IWorkItem;
import org.apache.uima.ducc.container.net.iface.IMetaCas;
@@ -46,10 +47,11 @@ public class ActionProcessVolunteered ex
private void preemptWorkItem(IActionData actionData, CasManager cm, IMetaCas metaCas) {
String location = "preemptWorkItem";
- cm.putMetaCas(metaCas, RetryReason.ProcessVolunteered);
- cm.getCasManagerStats().incEndRetry();
MessageBuffer mb = LoggerHelper.getMessageBuffer(actionData);
logger.info(location, ILogger.null_id, mb.toString());
+ TimeoutManager.getInstance().cancelTimer(actionData);
+ cm.putMetaCas(metaCas, RetryReason.ProcessVolunteered);
+ cm.getCasManagerStats().incEndRetry();
}
@Override
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/timeout/ITimeoutManager.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/timeout/ITimeoutManager.java?rev=1669910&r1=1669909&r2=1669910&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/timeout/ITimeoutManager.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/timeout/ITimeoutManager.java Sun Mar 29 14:00:07 2015
@@ -29,4 +29,5 @@ public interface ITimeoutManager {
public void receivedEnd(IActionData actionData);
public void timeout(IActionData actionData);
+ public void cancelTimer(IActionData actionData);
}
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/timeout/TimeoutManager.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/timeout/TimeoutManager.java?rev=1669910&r1=1669909&r2=1669910&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/timeout/TimeoutManager.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/timeout/TimeoutManager.java Sun Mar 29 14:00:07 2015
@@ -125,6 +125,21 @@ public class TimeoutManager implements I
}
}
+ @Override
+ public void cancelTimer(IActionData actionData) {
+ String location = "cancelTimer";
+ try {
+ MessageBuffer mb = LoggerHelper.getMessageBuffer(actionData);
+ logger.debug(location, ILogger.null_id, mb.toString());
+ IWorkItem wi = actionData.getWorkItem();
+ IFsm fsm = wi.getFsm();
+ unregister(fsm);
+ }
+ catch(Exception e) {
+ logger.error(location, ILogger.null_id, e);
+ }
+ }
+
private void register(IFsm fsm, ITimeoutTask timeoutTask) {
String location = "register";
try {
@@ -137,6 +152,8 @@ public class TimeoutManager implements I
//
IActionData actionData = timeoutTask.getActionData();
MessageBuffer mb = LoggerHelper.getMessageBuffer(actionData);
+ mb.append(Standardize.Label.futures.get()+mapFuture.size());
+ mb.append(Standardize.Label.tasks.get()+mapTask.size());
logger.debug(location, ILogger.null_id, mb.toString());
}
catch(Exception e) {
@@ -155,8 +172,16 @@ public class TimeoutManager implements I
if(timeoutTask != null) {
IActionData actionData = timeoutTask.getActionData();
MessageBuffer mb = LoggerHelper.getMessageBuffer(actionData);
+ mb.append(Standardize.Label.futures.get()+mapFuture.size());
+ mb.append(Standardize.Label.tasks.get()+mapTask.size());
logger.debug(location, ILogger.null_id, mb.toString());
}
+ else {
+ MessageBuffer mb = new MessageBuffer();
+ mb.append(Standardize.Label.futures.get()+mapFuture.size());
+ mb.append(Standardize.Label.tasks.get()+mapTask.size());
+ logger.trace(location, ILogger.null_id, mb.toString());
+ }
}
catch(Exception e) {
logger.error(location, ILogger.null_id, e);