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 2014/02/17 13:49:42 UTC

svn commit: r1568966 - /uima/sandbox/uima-ducc/branches/uima-ducc-1.0.0/uima-ducc-jd/src/main/java/org/apache/uima/ducc/jd/JobDriver.java

Author: degenaro
Date: Mon Feb 17 12:49:42 2014
New Revision: 1568966

URL: http://svn.apache.org/r1568966
Log:
UIMA-3599 DUCC Job Driver (JD) does not unregister re-used CAS's from the callback tracker map

Modified:
    uima/sandbox/uima-ducc/branches/uima-ducc-1.0.0/uima-ducc-jd/src/main/java/org/apache/uima/ducc/jd/JobDriver.java

Modified: uima/sandbox/uima-ducc/branches/uima-ducc-1.0.0/uima-ducc-jd/src/main/java/org/apache/uima/ducc/jd/JobDriver.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/branches/uima-ducc-1.0.0/uima-ducc-jd/src/main/java/org/apache/uima/ducc/jd/JobDriver.java?rev=1568966&r1=1568965&r2=1568966&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/branches/uima-ducc-1.0.0/uima-ducc-jd/src/main/java/org/apache/uima/ducc/jd/JobDriver.java (original)
+++ uima/sandbox/uima-ducc/branches/uima-ducc-1.0.0/uima-ducc-jd/src/main/java/org/apache/uima/ducc/jd/JobDriver.java Mon Feb 17 12:49:42 2014
@@ -156,7 +156,7 @@ public class JobDriver extends Thread im
 			// Prepare UIMA-AS client instance and multiple threads
 			ClientThreadFactory factory = new ClientThreadFactory("UimaASClientThread");
 			queue = new LinkedBlockingQueue<Runnable>();
-			executor = new DynamicThreadPoolExecutor(1, 1, 10, TimeUnit.MICROSECONDS, queue, factory, null);
+			executor = new DynamicThreadPoolExecutor(1, 1, 10, TimeUnit.MICROSECONDS, queue, factory, job.getDuccId());
 			client = new BaseUIMAAsynchronousEngine_impl();
 			workItemListener = new WorkItemListener(this);
 			client.addStatusCallbackListener(workItemListener);
@@ -1221,6 +1221,8 @@ public class JobDriver extends Thread im
 	public void start(WorkItem workItem) {
 		String location = "start";
 		try {
+			String casId = workItem.getCasId();
+			callbackUnregister(casId);
 			registerCasPendingLocation(this, ""+workItem.getSeqNo(), workItem.getCasId());
 			casWorkItemMap.put(workItem.getCasId(), workItem);
 			duccOut.info(location, workItem.getJobId(), workItem.getProcessId(), "seqNo:"+workItem.getSeqNo()+" "+"wiId:"+workItem.getCasDocumentText());
@@ -1518,12 +1520,14 @@ public class JobDriver extends Thread im
 	}
 
 	public boolean callbackRegister(String casId, String name) {
+		String location = "callbackRegister";
 		boolean retVal = false;
 		synchronized(this) {
 			if(casId != null) {
 				if(name != null) {
 					if(!callbackMap.containsKey(casId)) {
 						callbackMap.put(casId, name);
+						duccOut.trace(location, jobid, casId);
 						retVal = true;
 					}
 				}
@@ -1533,9 +1537,11 @@ public class JobDriver extends Thread im
 	}
 	
 	public void callbackUnregister(String casId) {
+		String location = "callbackUnregister";
 		synchronized(this) {
 			if(casId != null) {
 				callbackMap.remove(casId);
+				duccOut.trace(location, jobid, casId);
 			}
 		}
 	}