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/02/09 15:56:17 UTC

svn commit: r1658419 - /uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/fsm/wi/

Author: degenaro
Date: Mon Feb  9 14:56:17 2015
New Revision: 1658419

URL: http://svn.apache.org/r1658419
Log:
UIMA-4069 DUCC Job Driver (JD) system classpath

handle actionData = null in FSM action.engage() methods

Modified:
    uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/fsm/wi/ActionAck.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/ActionGet.java
    uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/fsm/wi/ActionGetRedux.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/ActionSend.java

Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/fsm/wi/ActionAck.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/ActionAck.java?rev=1658419&r1=1658418&r2=1658419&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/fsm/wi/ActionAck.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/fsm/wi/ActionAck.java Mon Feb  9 14:56:17 2015
@@ -46,29 +46,36 @@ public class ActionAck implements IActio
 		logger.trace(location, ILogger.null_id, "");
 		IActionData actionData = (IActionData) objectData;
 		try {
-			IWorkItem wi = actionData.getWorkItem();
-			IMetaCas metaCas = wi.getMetaCas();
-			JobDriver jd = JobDriver.getInstance();
-			IWorkItemStateKeeper wisk = jd.getWorkItemStateKeeper();
-			MetaCasHelper metaCasHelper = new MetaCasHelper(metaCas);
-			if(metaCas != null) {
-				//
-				TimeoutManager toMgr = TimeoutManager.getInstance();
-				toMgr.receivedAck(actionData);
-				toMgr.pendingEnd(actionData);
-				//
-				int seqNo = metaCasHelper.getSystemKey();
-				wisk.operating(seqNo);
-				//
-				wi.setTodAck();
-				MessageBuffer mb = LoggerHelper.getMessageBuffer(actionData);
-				JobDriver.getInstance().getMessageHandler().incAcks();
-				logger.info(location, ILogger.null_id, mb.toString());
+			if(actionData != null) {
+				IWorkItem wi = actionData.getWorkItem();
+				IMetaCas metaCas = wi.getMetaCas();
+				JobDriver jd = JobDriver.getInstance();
+				IWorkItemStateKeeper wisk = jd.getWorkItemStateKeeper();
+				MetaCasHelper metaCasHelper = new MetaCasHelper(metaCas);
+				if(metaCas != null) {
+					//
+					TimeoutManager toMgr = TimeoutManager.getInstance();
+					toMgr.receivedAck(actionData);
+					toMgr.pendingEnd(actionData);
+					//
+					int seqNo = metaCasHelper.getSystemKey();
+					wisk.operating(seqNo);
+					//
+					wi.setTodAck();
+					MessageBuffer mb = LoggerHelper.getMessageBuffer(actionData);
+					JobDriver.getInstance().getMessageHandler().incAcks();
+					logger.info(location, ILogger.null_id, mb.toString());
+				}
+				else {
+					MessageBuffer mb = LoggerHelper.getMessageBuffer(actionData);
+					mb.append("No CAS found for processing");
+					logger.info(location, ILogger.null_id, mb.toString());
+				}
 			}
 			else {
 				MessageBuffer mb = LoggerHelper.getMessageBuffer(actionData);
-				mb.append("No CAS found for processing");
-				logger.info(location, ILogger.null_id, mb.toString());
+				mb.append("No action data found for processing");
+				logger.warn(location, ILogger.null_id, mb.toString());
 			}
 		}
 		catch(Exception e) {

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=1658419&r1=1658418&r2=1658419&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 Mon Feb  9 14:56:17 2015
@@ -59,35 +59,42 @@ public class ActionAckTimeout extends Ac
 		logger.trace(location, ILogger.null_id, "");
 		IActionData actionData = (IActionData) objectData;
 		try {
-			IWorkItem wi = actionData.getWorkItem();
-			IMetaCas metaCas = wi.getMetaCas();
-			JobDriver jd = JobDriver.getInstance();
-			CasManager cm = jd.getCasManager();
-			JobDriverHelper jdh = JobDriverHelper.getInstance();
-			IRemoteWorkerProcess rwp = jdh.getRemoteWorkerProcess(wi);
-			if(rwp != null) {
-				if(metaCas != null) {
-					WiTracker.getInstance().unassign(wi);
-					preemptWorkItem(actionData, cm, metaCas);
-					IWorkItemStateKeeper wisk = jd.getWorkItemStateKeeper();
-					MetaCasHelper metaCasHelper = new MetaCasHelper(metaCas);
-					IProcessStatistics pStats = jdh.getProcessStatistics(rwp);
-					int seqNo = metaCasHelper.getSystemKey();
-					wisk.preempt(seqNo);
-					pStats.preempt(wi);
-					displayProcessStatistics(logger, actionData, wi, pStats);
-					wi.reset();
+			if(actionData != null) {
+				IWorkItem wi = actionData.getWorkItem();
+				IMetaCas metaCas = wi.getMetaCas();
+				JobDriver jd = JobDriver.getInstance();
+				CasManager cm = jd.getCasManager();
+				JobDriverHelper jdh = JobDriverHelper.getInstance();
+				IRemoteWorkerProcess rwp = jdh.getRemoteWorkerProcess(wi);
+				if(rwp != null) {
+					if(metaCas != null) {
+						WiTracker.getInstance().unassign(wi);
+						preemptWorkItem(actionData, cm, metaCas);
+						IWorkItemStateKeeper wisk = jd.getWorkItemStateKeeper();
+						MetaCasHelper metaCasHelper = new MetaCasHelper(metaCas);
+						IProcessStatistics pStats = jdh.getProcessStatistics(rwp);
+						int seqNo = metaCasHelper.getSystemKey();
+						wisk.preempt(seqNo);
+						pStats.preempt(wi);
+						displayProcessStatistics(logger, actionData, wi, pStats);
+						wi.reset();
+					}
+					else {
+						MessageBuffer mb = LoggerHelper.getMessageBuffer(actionData);
+						mb.append("No CAS found for processing");
+						logger.info(location, ILogger.null_id, mb.toString());
+					}
 				}
 				else {
 					MessageBuffer mb = LoggerHelper.getMessageBuffer(actionData);
-					mb.append("No CAS found for processing");
+					mb.append("No remote worker process entry found for processing");
 					logger.info(location, ILogger.null_id, mb.toString());
 				}
 			}
 			else {
 				MessageBuffer mb = LoggerHelper.getMessageBuffer(actionData);
-				mb.append("No remote worker process entry found for processing");
-				logger.info(location, ILogger.null_id, mb.toString());
+				mb.append("No action data found for processing");
+				logger.warn(location, ILogger.null_id, mb.toString());
 			}
 		}
 		catch(Exception e) {

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=1658419&r1=1658418&r2=1658419&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 Mon Feb  9 14:56:17 2015
@@ -263,50 +263,57 @@ public class ActionEnd extends Action im
 		logger.trace(location, ILogger.null_id, "");
 		IActionData actionData = (IActionData) objectData;
 		try {
-			IWorkItem wi = actionData.getWorkItem();
-			IMetaCasTransaction trans = actionData.getMetaCasTransaction();
-			IRemoteWorkerThread rwt = new RemoteWorkerThread(trans);
-			IRemoteWorkerProcess rwp = new RemoteWorkerProcess(trans);
-			IMetaCas metaCas = wi.getMetaCas();
-			JobDriver jd = JobDriver.getInstance();
-			JobDriverHelper jdh = JobDriverHelper.getInstance();
-			CasManager cm = jd.getCasManager();
-			//
-			IWorkItemStateKeeper wisk = jd.getWorkItemStateKeeper();
-			MetaCasHelper metaCasHelper = new MetaCasHelper(metaCas);
-			IProcessStatistics pStats = jdh.getProcessStatistics(rwp);
-			//
-			if(metaCas != null) {
-				WiTracker.getInstance().unassign(rwt);
+			if(actionData != null) {
+				IWorkItem wi = actionData.getWorkItem();
+				IMetaCasTransaction trans = actionData.getMetaCasTransaction();
+				IRemoteWorkerThread rwt = new RemoteWorkerThread(trans);
+				IRemoteWorkerProcess rwp = new RemoteWorkerProcess(trans);
+				IMetaCas metaCas = wi.getMetaCas();
+				JobDriver jd = JobDriver.getInstance();
+				JobDriverHelper jdh = JobDriverHelper.getInstance();
+				CasManager cm = jd.getCasManager();
 				//
-				TimeoutManager toMgr = TimeoutManager.getInstance();
-				toMgr.receivedAck(actionData);
-				toMgr.receivedEnd(actionData);
+				IWorkItemStateKeeper wisk = jd.getWorkItemStateKeeper();
+				MetaCasHelper metaCasHelper = new MetaCasHelper(metaCas);
+				IProcessStatistics pStats = jdh.getProcessStatistics(rwp);
 				//
-				int seqNo = metaCasHelper.getSystemKey();
-				Object exception = metaCas.getUserSpaceException();
-				if(exception != null) {
-					MessageBuffer mb = LoggerHelper.getMessageBuffer(actionData);
-					mb.append("exception");
-					logger.info(location, ILogger.null_id, mb.toString());
-					handleException(actionData);
-					displayProcessStatistics(logger, actionData, wi, pStats);
+				if(metaCas != null) {
+					WiTracker.getInstance().unassign(rwt);
+					//
+					TimeoutManager toMgr = TimeoutManager.getInstance();
+					toMgr.receivedAck(actionData);
+					toMgr.receivedEnd(actionData);
+					//
+					int seqNo = metaCasHelper.getSystemKey();
+					Object exception = metaCas.getUserSpaceException();
+					if(exception != null) {
+						MessageBuffer mb = LoggerHelper.getMessageBuffer(actionData);
+						mb.append("exception");
+						logger.info(location, ILogger.null_id, mb.toString());
+						handleException(actionData);
+						displayProcessStatistics(logger, actionData, wi, pStats);
+					}
+					else {
+						MessageBuffer mb = LoggerHelper.getMessageBuffer(actionData);
+						mb.append("ended");
+						logger.info(location, ILogger.null_id, mb.toString());
+						wisk.ended(seqNo);
+						successWorkItem(actionData, cm, wi);
+						pStats.done(wi);
+						displayProcessStatistics(logger, actionData, wi, pStats);
+					}
+					wi.reset();
 				}
 				else {
 					MessageBuffer mb = LoggerHelper.getMessageBuffer(actionData);
-					mb.append("ended");
+					mb.append("No CAS found for processing");
 					logger.info(location, ILogger.null_id, mb.toString());
-					wisk.ended(seqNo);
-					successWorkItem(actionData, cm, wi);
-					pStats.done(wi);
-					displayProcessStatistics(logger, actionData, wi, pStats);
 				}
-				wi.reset();
 			}
 			else {
 				MessageBuffer mb = LoggerHelper.getMessageBuffer(actionData);
-				mb.append("No CAS found for processing");
-				logger.info(location, ILogger.null_id, mb.toString());
+				mb.append("No action data found for processing");
+				logger.warn(location, ILogger.null_id, mb.toString());
 			}
 		}
 		catch(Exception e) {

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=1658419&r1=1658418&r2=1658419&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 Mon Feb  9 14:56:17 2015
@@ -59,35 +59,42 @@ public class ActionEndTimeout extends Ac
 		logger.trace(location, ILogger.null_id, "");
 		IActionData actionData = (IActionData) objectData;
 		try {
-			IWorkItem wi = actionData.getWorkItem();
-			IMetaCas metaCas = wi.getMetaCas();
-			JobDriver jd = JobDriver.getInstance();
-			CasManager cm = jd.getCasManager();
-			JobDriverHelper jdh = JobDriverHelper.getInstance();
-			IRemoteWorkerProcess rwp = jdh.getRemoteWorkerProcess(wi);
-			if(rwp != null) {
-				if(metaCas != null) {
-					WiTracker.getInstance().unassign(wi);
-					preemptWorkItem(actionData, cm, metaCas);
-					IWorkItemStateKeeper wisk = jd.getWorkItemStateKeeper();
-					MetaCasHelper metaCasHelper = new MetaCasHelper(metaCas);
-					IProcessStatistics pStats = jdh.getProcessStatistics(rwp);
-					int seqNo = metaCasHelper.getSystemKey();
-					wisk.preempt(seqNo);
-					pStats.preempt(wi);
-					displayProcessStatistics(logger, actionData, wi, pStats);
-					wi.reset();
+			if(actionData != null) {
+				IWorkItem wi = actionData.getWorkItem();
+				IMetaCas metaCas = wi.getMetaCas();
+				JobDriver jd = JobDriver.getInstance();
+				CasManager cm = jd.getCasManager();
+				JobDriverHelper jdh = JobDriverHelper.getInstance();
+				IRemoteWorkerProcess rwp = jdh.getRemoteWorkerProcess(wi);
+				if(rwp != null) {
+					if(metaCas != null) {
+						WiTracker.getInstance().unassign(wi);
+						preemptWorkItem(actionData, cm, metaCas);
+						IWorkItemStateKeeper wisk = jd.getWorkItemStateKeeper();
+						MetaCasHelper metaCasHelper = new MetaCasHelper(metaCas);
+						IProcessStatistics pStats = jdh.getProcessStatistics(rwp);
+						int seqNo = metaCasHelper.getSystemKey();
+						wisk.preempt(seqNo);
+						pStats.preempt(wi);
+						displayProcessStatistics(logger, actionData, wi, pStats);
+						wi.reset();
+					}
+					else {
+						MessageBuffer mb = LoggerHelper.getMessageBuffer(actionData);
+						mb.append("No CAS found for processing");
+						logger.info(location, ILogger.null_id, mb.toString());
+					}
 				}
 				else {
 					MessageBuffer mb = LoggerHelper.getMessageBuffer(actionData);
-					mb.append("No CAS found for processing");
+					mb.append("No remote worker process entry found for processing");
 					logger.info(location, ILogger.null_id, mb.toString());
 				}
 			}
 			else {
 				MessageBuffer mb = LoggerHelper.getMessageBuffer(actionData);
-				mb.append("No remote worker process entry found for processing");
-				logger.info(location, ILogger.null_id, mb.toString());
+				mb.append("No action data found for processing");
+				logger.warn(location, ILogger.null_id, mb.toString());
 			}
 		}
 		catch(Exception e) {

Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/fsm/wi/ActionGet.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/ActionGet.java?rev=1658419&r1=1658418&r2=1658419&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/fsm/wi/ActionGet.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/fsm/wi/ActionGet.java Mon Feb  9 14:56:17 2015
@@ -62,60 +62,67 @@ public class ActionGet implements IActio
 		logger.trace(location, ILogger.null_id, "enter");
 		IActionData actionData = (IActionData) objectData;
 		try {
-			IWorkItem wi = actionData.getWorkItem();
-			IFsm fsm = wi.getFsm();
-			IMetaCasTransaction trans = actionData.getMetaCasTransaction();
-			IRemoteWorkerThread rwt = new RemoteWorkerThread(trans);
-			IRemoteWorkerProcess rwp = new RemoteWorkerProcess(trans);
-			//
-			JobDriver jd = JobDriver.getInstance();
-			JobDriverHelper jdh = JobDriverHelper.getInstance();
-			jd.advanceJdState(JdState.Active);
-			CasManager cm = jd.getCasManager();
-			IMetaCas metaCas = null;
-			if(cm.getCasManagerStats().isKillJob()) {
-				if(!warned.getAndSet(true)) {
+			if(actionData != null) {
+				IWorkItem wi = actionData.getWorkItem();
+				IFsm fsm = wi.getFsm();
+				IMetaCasTransaction trans = actionData.getMetaCasTransaction();
+				IRemoteWorkerThread rwt = new RemoteWorkerThread(trans);
+				IRemoteWorkerProcess rwp = new RemoteWorkerProcess(trans);
+				//
+				JobDriver jd = JobDriver.getInstance();
+				JobDriverHelper jdh = JobDriverHelper.getInstance();
+				jd.advanceJdState(JdState.Active);
+				CasManager cm = jd.getCasManager();
+				IMetaCas metaCas = null;
+				if(cm.getCasManagerStats().isKillJob()) {
+					if(!warned.getAndSet(true)) {
+						MessageBuffer mb = LoggerHelper.getMessageBuffer(actionData);
+						mb.append("this and future requests refused due to pending kill job");
+						logger.info(location, ILogger.null_id, mb.toString());
+					}
+				}
+				else {
+					metaCas = cm.getMetaCas();
+				}
+				wi.setMetaCas(metaCas);
+				trans.setMetaCas(metaCas);
+				IWorkItemStateKeeper wisk = jd.getWorkItemStateKeeper();
+				MetaCasHelper metaCasHelper = new MetaCasHelper(metaCas);
+				IProcessStatistics pStats = jdh.getProcessStatistics(rwp);
+				//
+				IEvent event = null;
+				//
+				if(metaCas != null) {
+					WiTracker.getInstance().assign(rwt, wi);
+					int seqNo = metaCasHelper.getSystemKey();
+					String wiId = metaCas.getUserKey();
+					String node = rwt.getNodeAddress();
+					String pid = ""+rwt.getPid();
+					String tid = ""+rwt.getTid();
+					wisk.start(seqNo, wiId, node, pid, tid);
+					wisk.queued(seqNo);
+					pStats.dispatch(wi);
+					//
+					wi.setTodGet();
+					event = WiFsm.CAS_Available;
 					MessageBuffer mb = LoggerHelper.getMessageBuffer(actionData);
-					mb.append("this and future requests refused due to pending kill job");
+					JobDriver.getInstance().getMessageHandler().incGets();
+					logger.info(location, ILogger.null_id, mb.toString());
+				}
+				else {
+					event = WiFsm.CAS_Unavailable;
+					MessageBuffer mb = LoggerHelper.getMessageBuffer(actionData);
+					mb.append("No CAS found for processing");
 					logger.info(location, ILogger.null_id, mb.toString());
 				}
-			}
-			else {
-				metaCas = cm.getMetaCas();
-			}
-			wi.setMetaCas(metaCas);
-			trans.setMetaCas(metaCas);
-			IWorkItemStateKeeper wisk = jd.getWorkItemStateKeeper();
-			MetaCasHelper metaCasHelper = new MetaCasHelper(metaCas);
-			IProcessStatistics pStats = jdh.getProcessStatistics(rwp);
-			//
-			IEvent event = null;
-			//
-			if(metaCas != null) {
-				WiTracker.getInstance().assign(rwt, wi);
-				int seqNo = metaCasHelper.getSystemKey();
-				String wiId = metaCas.getUserKey();
-				String node = rwt.getNodeAddress();
-				String pid = ""+rwt.getPid();
-				String tid = ""+rwt.getTid();
-				wisk.start(seqNo, wiId, node, pid, tid);
-				wisk.queued(seqNo);
-				pStats.dispatch(wi);
 				//
-				wi.setTodGet();
-				event = WiFsm.CAS_Available;
-				MessageBuffer mb = LoggerHelper.getMessageBuffer(actionData);
-				JobDriver.getInstance().getMessageHandler().incGets();
-				logger.info(location, ILogger.null_id, mb.toString());
+				fsm.transition(event, actionData);
 			}
 			else {
-				event = WiFsm.CAS_Unavailable;
 				MessageBuffer mb = LoggerHelper.getMessageBuffer(actionData);
-				mb.append("No CAS found for processing");
-				logger.info(location, ILogger.null_id, mb.toString());
+				mb.append("No action data found for processing");
+				logger.warn(location, ILogger.null_id, mb.toString());
 			}
-			//
-			fsm.transition(event, actionData);
 		}
 		catch(Exception e) {
 			logger.error(location, ILogger.null_id, e);

Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/fsm/wi/ActionGetRedux.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/ActionGetRedux.java?rev=1658419&r1=1658418&r2=1658419&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/fsm/wi/ActionGetRedux.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/fsm/wi/ActionGetRedux.java Mon Feb  9 14:56:17 2015
@@ -48,28 +48,35 @@ public class ActionGetRedux implements I
 		logger.trace(location, ILogger.null_id, "");
 		IActionData actionData = (IActionData) objectData;
 		try {
-			IRemoteWorkerThread rwt = actionData.getRemoteWorkerThread();
-			ConcurrentHashMap<IRemoteWorkerThread, IWorkItem> map = JobDriver.getInstance().getRemoteThreadMap();
-			IWorkItem wi = map.get(rwt);
-			IFsm fsm = wi.getFsm();
-			IEvent event = WiFsm.CAS_Unavailable;
-			if(wi != null) {
-				IMetaCas metaCas = wi.getMetaCas();
-				if(metaCas != null) {
-					event = WiFsm.CAS_Available;
-					MessageBuffer mb = LoggerHelper.getMessageBuffer(actionData);
-					logger.debug(location, ILogger.null_id, mb.toString());
-					actionData.getWorkItem().setMetaCas(metaCas);
-					actionData.getMetaCasTransaction().setMetaCas(metaCas);
-				}
-				else {
-					MessageBuffer mb = LoggerHelper.getMessageBuffer(actionData);
-					mb.append("No CAS found for processing");
-					logger.info(location, ILogger.null_id, mb.toString());
+			if(actionData != null) {
+				IRemoteWorkerThread rwt = actionData.getRemoteWorkerThread();
+				ConcurrentHashMap<IRemoteWorkerThread, IWorkItem> map = JobDriver.getInstance().getRemoteThreadMap();
+				IWorkItem wi = map.get(rwt);
+				IFsm fsm = wi.getFsm();
+				IEvent event = WiFsm.CAS_Unavailable;
+				if(wi != null) {
+					IMetaCas metaCas = wi.getMetaCas();
+					if(metaCas != null) {
+						event = WiFsm.CAS_Available;
+						MessageBuffer mb = LoggerHelper.getMessageBuffer(actionData);
+						logger.debug(location, ILogger.null_id, mb.toString());
+						actionData.getWorkItem().setMetaCas(metaCas);
+						actionData.getMetaCasTransaction().setMetaCas(metaCas);
+					}
+					else {
+						MessageBuffer mb = LoggerHelper.getMessageBuffer(actionData);
+						mb.append("No CAS found for processing");
+						logger.info(location, ILogger.null_id, mb.toString());
+					}
 				}
+				//
+				fsm.transition(event, actionData);
+			}
+			else {
+				MessageBuffer mb = LoggerHelper.getMessageBuffer(actionData);
+				mb.append("No action data found for processing");
+				logger.warn(location, ILogger.null_id, mb.toString());
 			}
-			//
-			fsm.transition(event, actionData);
 		}
 		catch(Exception e) {
 			logger.error(location, ILogger.null_id, e);

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=1658419&r1=1658418&r2=1658419&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 Mon Feb  9 14:56:17 2015
@@ -82,50 +82,57 @@ public class ActionProcessFailure extend
 		logger.trace(location, ILogger.null_id, "");
 		IActionData actionData = (IActionData) objectData;
 		try {
-			IWorkItem wi = actionData.getWorkItem();
-			IMetaCas metaCas = wi.getMetaCas();
-			JobDriver jd = JobDriver.getInstance();
-			CasManager cm = jd.getCasManager();
-			JobDriverHelper jdh = JobDriverHelper.getInstance();
-			IRemoteWorkerProcess rwp = jdh.getRemoteWorkerProcess(wi);
-			if(rwp != null) {
-				IProcessStatistics pStats = jdh.getProcessStatistics(rwp);
-				if(metaCas != null) {
-					String serializedCas = (String) metaCas.getUserSpaceCas();
-					ProxyJobDriverErrorHandler pjdeh = jd.getProxyJobDriverErrorHandler();
-					ProxyJobDriverDirective pjdd = pjdeh.handle(serializedCas);
-					if(pjdd != null) {
-						MessageBuffer mb = LoggerHelper.getMessageBuffer(actionData);
-						mb.append(Standardize.Label.isKillJob.get()+pjdd.isKillJob());
-						mb.append(Standardize.Label.isKillProcess.get()+pjdd.isKillProcess());
-						mb.append(Standardize.Label.isKillWorkItem.get()+pjdd.isKillWorkItem());
-						logger.info(location, ILogger.null_id, mb.toString());
-						if(pjdd.isKillJob()) {
-							killJob(cm, wi, metaCas, rwp);
-						}
-						else if(pjdd.isKillWorkItem()) {
-							killWorkItem(cm, wi, metaCas, rwp);
+			if(actionData != null) {
+				IWorkItem wi = actionData.getWorkItem();
+				IMetaCas metaCas = wi.getMetaCas();
+				JobDriver jd = JobDriver.getInstance();
+				CasManager cm = jd.getCasManager();
+				JobDriverHelper jdh = JobDriverHelper.getInstance();
+				IRemoteWorkerProcess rwp = jdh.getRemoteWorkerProcess(wi);
+				if(rwp != null) {
+					IProcessStatistics pStats = jdh.getProcessStatistics(rwp);
+					if(metaCas != null) {
+						String serializedCas = (String) metaCas.getUserSpaceCas();
+						ProxyJobDriverErrorHandler pjdeh = jd.getProxyJobDriverErrorHandler();
+						ProxyJobDriverDirective pjdd = pjdeh.handle(serializedCas);
+						if(pjdd != null) {
+							MessageBuffer mb = LoggerHelper.getMessageBuffer(actionData);
+							mb.append(Standardize.Label.isKillJob.get()+pjdd.isKillJob());
+							mb.append(Standardize.Label.isKillProcess.get()+pjdd.isKillProcess());
+							mb.append(Standardize.Label.isKillWorkItem.get()+pjdd.isKillWorkItem());
+							logger.info(location, ILogger.null_id, mb.toString());
+							if(pjdd.isKillJob()) {
+								killJob(cm, wi, metaCas, rwp);
+							}
+							else if(pjdd.isKillWorkItem()) {
+								killWorkItem(cm, wi, metaCas, rwp);
+							}
+							else {
+								retryWorkItem(actionData, cm, wi, metaCas, rwp);
+							}
 						}
 						else {
 							retryWorkItem(actionData, cm, wi, metaCas, rwp);
 						}
+						displayProcessStatistics(logger, actionData, wi, pStats);
+						wi.reset();
 					}
 					else {
-						retryWorkItem(actionData, cm, wi, metaCas, rwp);
+						MessageBuffer mb = LoggerHelper.getMessageBuffer(actionData);
+						mb.append("No CAS found for processing");
+						logger.info(location, ILogger.null_id, mb.toString());
 					}
-					displayProcessStatistics(logger, actionData, wi, pStats);
-					wi.reset();
 				}
 				else {
 					MessageBuffer mb = LoggerHelper.getMessageBuffer(actionData);
-					mb.append("No CAS found for processing");
+					mb.append("No remote worker process entry found for processing");
 					logger.info(location, ILogger.null_id, mb.toString());
 				}
 			}
 			else {
 				MessageBuffer mb = LoggerHelper.getMessageBuffer(actionData);
-				mb.append("No remote worker process entry found for processing");
-				logger.info(location, ILogger.null_id, mb.toString());
+				mb.append("No action data found for processing");
+				logger.warn(location, ILogger.null_id, mb.toString());
 			}
 		}
 		catch(Exception e) {

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=1658419&r1=1658418&r2=1658419&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 Mon Feb  9 14:56:17 2015
@@ -58,34 +58,41 @@ public class ActionProcessPreempt extend
 		logger.trace(location, ILogger.null_id, "");
 		IActionData actionData = (IActionData) objectData;
 		try {
-			IWorkItem wi = actionData.getWorkItem();
-			IMetaCas metaCas = wi.getMetaCas();
-			JobDriver jd = JobDriver.getInstance();
-			CasManager cm = jd.getCasManager();
-			JobDriverHelper jdh = JobDriverHelper.getInstance();
-			IRemoteWorkerProcess rwp = jdh.getRemoteWorkerProcess(wi);
-			if(rwp != null) {
-				if(metaCas != null) {
-					preemptWorkItem(actionData, cm, metaCas);
-					IWorkItemStateKeeper wisk = jd.getWorkItemStateKeeper();
-					MetaCasHelper metaCasHelper = new MetaCasHelper(metaCas);
-					IProcessStatistics pStats = jdh.getProcessStatistics(rwp);
-					int seqNo = metaCasHelper.getSystemKey();
-					wisk.preempt(seqNo);
-					pStats.preempt(wi);
-					displayProcessStatistics(logger, actionData, wi, pStats);
-					wi.reset();
+			if(actionData != null) {
+				IWorkItem wi = actionData.getWorkItem();
+				IMetaCas metaCas = wi.getMetaCas();
+				JobDriver jd = JobDriver.getInstance();
+				CasManager cm = jd.getCasManager();
+				JobDriverHelper jdh = JobDriverHelper.getInstance();
+				IRemoteWorkerProcess rwp = jdh.getRemoteWorkerProcess(wi);
+				if(rwp != null) {
+					if(metaCas != null) {
+						preemptWorkItem(actionData, cm, metaCas);
+						IWorkItemStateKeeper wisk = jd.getWorkItemStateKeeper();
+						MetaCasHelper metaCasHelper = new MetaCasHelper(metaCas);
+						IProcessStatistics pStats = jdh.getProcessStatistics(rwp);
+						int seqNo = metaCasHelper.getSystemKey();
+						wisk.preempt(seqNo);
+						pStats.preempt(wi);
+						displayProcessStatistics(logger, actionData, wi, pStats);
+						wi.reset();
+					}
+					else {
+						MessageBuffer mb = LoggerHelper.getMessageBuffer(actionData);
+						mb.append("No CAS found for processing");
+						logger.info(location, ILogger.null_id, mb.toString());
+					}
 				}
 				else {
 					MessageBuffer mb = LoggerHelper.getMessageBuffer(actionData);
-					mb.append("No CAS found for processing");
+					mb.append("No remote worker process entry found for processing");
 					logger.info(location, ILogger.null_id, mb.toString());
 				}
 			}
 			else {
 				MessageBuffer mb = LoggerHelper.getMessageBuffer(actionData);
-				mb.append("No remote worker process entry found for processing");
-				logger.info(location, ILogger.null_id, mb.toString());
+				mb.append("No action data found for processing");
+				logger.warn(location, ILogger.null_id, mb.toString());
 			}
 		}
 		catch(Exception e) {

Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/fsm/wi/ActionSend.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/ActionSend.java?rev=1658419&r1=1658418&r2=1658419&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/fsm/wi/ActionSend.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-container/src/main/java/org/apache/uima/ducc/container/jd/fsm/wi/ActionSend.java Mon Feb  9 14:56:17 2015
@@ -44,15 +44,23 @@ public class ActionSend implements IActi
 		logger.trace(location, ILogger.null_id, "");
 		IActionData actionData = (IActionData) objectData;
 		try {
-			IWorkItem wi = actionData.getWorkItem();
-			IMetaCasTransaction trans = actionData.getMetaCasTransaction();
-			IMetaCas metaCas = trans.getMetaCas();
-			wi.setMetaCas(metaCas);
-			//
-			TimeoutManager toMgr = TimeoutManager.getInstance();
-			toMgr.pendingAck(actionData);
-			MessageBuffer mb = LoggerHelper.getMessageBuffer(actionData);
-			logger.info(location, ILogger.null_id, mb.toString());
+			if(actionData != null) {
+				IWorkItem wi = actionData.getWorkItem();
+				IMetaCasTransaction trans = actionData.getMetaCasTransaction();
+				IMetaCas metaCas = trans.getMetaCas();
+				wi.setMetaCas(metaCas);
+				//
+				TimeoutManager toMgr = TimeoutManager.getInstance();
+				toMgr.pendingAck(actionData);
+				MessageBuffer mb = LoggerHelper.getMessageBuffer(actionData);
+				logger.info(location, ILogger.null_id, mb.toString());
+			}
+			else {
+				MessageBuffer mb = LoggerHelper.getMessageBuffer(actionData);
+				mb.append("No action data found for processing");
+				logger.warn(location, ILogger.null_id, mb.toString());
+			}
+			
 		}
 		catch(Exception e) {
 			logger.error(location, ILogger.null_id, e);