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/06/03 15:49:24 UTC
svn commit: r1683333 - in
/uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator:
OrchestratorComponent.java WorkMapHelper.java
Author: degenaro
Date: Wed Jun 3 13:49:24 2015
New Revision: 1683333
URL: http://svn.apache.org/r1683333
Log:
UIMA-4404 DUCC Orchestrator (OR) reduce publication size comprising command line & especially classpath
Fix ConcurrentModificationException during OR reconcileJdState
Modified:
uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/OrchestratorComponent.java
uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/WorkMapHelper.java
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/OrchestratorComponent.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/OrchestratorComponent.java?rev=1683333&r1=1683332&r2=1683333&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/OrchestratorComponent.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/OrchestratorComponent.java Wed Jun 3 13:49:24 2015
@@ -392,7 +392,7 @@ implements Orchestrator {
logger.info(methodName, duccId, dsr.getLogReport());
stateManager.reconcileState(dsr);
String sid = ""+duccId.getFriendly();
- DuccWorkJob duccWorkJob = (DuccWorkJob) WorkMapHelper.findDuccWork(workMap, sid, this, methodName);
+ DuccWorkJob duccWorkJob = (DuccWorkJob) WorkMapHelper.cloneDuccWork(workMap, sid, this, methodName);
duccEvent.setJob(duccWorkJob);
}
logger.trace(methodName, null, messages.fetch("exit"));
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/WorkMapHelper.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/WorkMapHelper.java?rev=1683333&r1=1683332&r2=1683333&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/WorkMapHelper.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/WorkMapHelper.java Wed Jun 3 13:49:24 2015
@@ -18,6 +18,7 @@
*/
package org.apache.uima.ducc.orchestrator;
+import org.apache.commons.lang.SerializationUtils;
import org.apache.uima.ducc.common.utils.id.DuccId;
import org.apache.uima.ducc.orchestrator.utilities.TrackSync;
import org.apache.uima.ducc.transport.event.common.DuccWorkMap;
@@ -49,6 +50,20 @@ public class WorkMapHelper {
ts.ended();
}
+ public static IDuccWork cloneDuccWork(DuccWorkMap workMap, String duccId, Object object, String methodName) {
+ IDuccWork dwClone = null;
+ TrackSync ts = TrackSync.await(workMap, object.getClass(), methodName);
+ synchronized(workMap) {
+ ts.using();
+ IDuccWork dw = workMap.findDuccWork(duccId);
+ if(dw != null) {
+ dwClone = (IDuccWork)SerializationUtils.clone(dw);
+ }
+ }
+ ts.ended();
+ return dwClone;
+ }
+
public static IDuccWork findDuccWork(DuccWorkMap workMap, String duccId, Object object, String methodName) {
IDuccWork dw = null;
TrackSync ts = TrackSync.await(workMap, object.getClass(), methodName);