Author: degenaro
Date: Wed Oct 29 18:29:53 2014
New Revision: 1635248
URL: http://svn.apache.org/r1635248
Log:
UIMA-4067 DUCC Orchestrator (OR) reduce publication size relative to Services
via compress/outbound and uncompress/inbound
employ service_id
Modified:
uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/OrchestratorAbbreviatedStateDuccEvent.java
uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/OrchestratorStateDuccEvent.java
uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/cli/ServiceRequestProperties.java
uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/common/ADuccWork.java
Modified:
uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/OrchestratorAbbreviatedStateDuccEvent.java
URL:
http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/OrchestratorAbbreviatedStateDuccEvent.java?rev=1635248&r1=1635247&r2=1635248&view=diff
==============================================================================
---
uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/OrchestratorAbbreviatedStateDuccEvent.java
(original)
+++
uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/OrchestratorAbbreviatedStateDuccEvent.java
Wed Oct 29 18:29:53 2014
@@ -18,7 +18,6 @@
*/
package org.apache.uima.ducc.transport.event;
-import java.util.ArrayList;
import java.util.Iterator;
import java.util.Map.Entry;
import java.util.concurrent.ConcurrentHashMap;
@@ -36,7 +35,7 @@ public class OrchestratorAbbreviatedStat
private static final long serialVersionUID = 3637372507135841728L;
private DuccWorkMap workMap;
- private ConcurrentHashMap<ICommandLine, ArrayList<DuccId>>
serviceCmdLineMap = new ConcurrentHashMap<ICommandLine, ArrayList<DuccId>>();
+ private ConcurrentHashMap<String, ICommandLine> serviceCmdLineMap = new
ConcurrentHashMap<String, ICommandLine>();
public OrchestratorAbbreviatedStateDuccEvent() {
super(EventType.ORCHESTRATOR_STATE);
@@ -57,45 +56,58 @@ public class OrchestratorAbbreviatedStat
public void setWorkMap(DuccWorkMap workMap) {
this.workMap = workMap;
- //compress(this.workMap);
+ compress(this.workMap);
abbreviate();
}
public DuccWorkMap getWorkMap() {
DuccWorkMap value = this.workMap.deepCopy();
- //uncompress(value);
+ uncompress(value);
return value;
}
private void compress(DuccWorkMap map) {
- for(Entry<DuccId, IDuccWork> entry : map.getMap().entrySet()) {
- IDuccWork dw = entry.getValue();
- switch(dw.getDuccType()) {
- case Service:
- DuccWorkJob dwj = (DuccWorkJob) dw;
- ICommandLine cl = dwj.getCommandLine();
- if(!serviceCmdLineMap.containsKey(cl)) {
- ArrayList<DuccId> list = new
ArrayList<DuccId>();
- serviceCmdLineMap.put(cl, list);
+ if(map != null) {
+ if(serviceCmdLineMap != null) {
+ for(Entry<DuccId, IDuccWork> entry :
map.getMap().entrySet()) {
+ IDuccWork dw = entry.getValue();
+ switch(dw.getDuccType()) {
+ case Service:
+ DuccWorkJob dwj = (DuccWorkJob)
dw;
+ String sid = dwj.getServiceId();
+ if(sid != null) {
+ ICommandLine cl =
dwj.getCommandLine();
+ if(cl != null) {
+
serviceCmdLineMap.put(sid, cl);
+ }
+ }
+ default:
+ break;
+ }
}
- ArrayList<DuccId> list =
serviceCmdLineMap.get(cl);
- list.add(dw.getDuccId());
- dwj.setCommandLine(null);
- break;
- default:
- break;
}
}
}
private void uncompress(DuccWorkMap map) {
- for(Entry<ICommandLine, ArrayList<DuccId>> entry :
serviceCmdLineMap.entrySet()) {
- ICommandLine cl = entry.getKey();
- ArrayList<DuccId> list = entry.getValue();
- for(DuccId duccId : list) {
- IDuccWork dw = map.findDuccWork(duccId);
- DuccWorkJob dwj = (DuccWorkJob) dw;
- dwj.setCommandLine(cl);
+ if(map != null) {
+ if(serviceCmdLineMap != null) {
+ for(Entry<DuccId, IDuccWork> entry :
map.getMap().entrySet()) {
+ IDuccWork dw = entry.getValue();
+ switch(dw.getDuccType()) {
+ case Service:
+ DuccWorkJob dwj = (DuccWorkJob)
dw;
+ String sid = dwj.getServiceId();
+ if(sid != null) {
+ ICommandLine cl =
serviceCmdLineMap.get(sid);
+ if(cl != null) {
+
dwj.setCommandLine(cl);
+ }
+ }
+ default:
+ break;
+ }
+ }
}
}
}
Modified:
uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/OrchestratorStateDuccEvent.java
URL:
http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/OrchestratorStateDuccEvent.java?rev=1635248&r1=1635247&r2=1635248&view=diff
==============================================================================
---
uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/OrchestratorStateDuccEvent.java
(original)
+++
uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/OrchestratorStateDuccEvent.java
Wed Oct 29 18:29:53 2014
@@ -18,7 +18,6 @@
*/
package org.apache.uima.ducc.transport.event;
-import java.util.ArrayList;
import java.util.Map.Entry;
import java.util.concurrent.ConcurrentHashMap;
@@ -33,7 +32,7 @@ public class OrchestratorStateDuccEvent
private static final long serialVersionUID = 3637372507135841728L;
private DuccWorkMap workMap;
- private ConcurrentHashMap<ICommandLine, ArrayList<DuccId>>
serviceCmdLineMap = new ConcurrentHashMap<ICommandLine, ArrayList<DuccId>>();
+ private ConcurrentHashMap<String, ICommandLine> serviceCmdLineMap = new
ConcurrentHashMap<String, ICommandLine>();
public OrchestratorStateDuccEvent() {
super(EventType.ORCHESTRATOR_STATE);
@@ -41,44 +40,57 @@ public class OrchestratorStateDuccEvent
public void setWorkMap(DuccWorkMap value) {
this.workMap = value.deepCopy();
- //compress(this.workMap);
+ compress(this.workMap);
}
public DuccWorkMap getWorkMap() {
DuccWorkMap value = this.workMap.deepCopy();
- //uncompress(value);
+ uncompress(value);
return value;
}
private void compress(DuccWorkMap map) {
- for(Entry<DuccId, IDuccWork> entry : map.getMap().entrySet()) {
- IDuccWork dw = entry.getValue();
- switch(dw.getDuccType()) {
- case Service:
- DuccWorkJob dwj = (DuccWorkJob) dw;
- ICommandLine cl = dwj.getCommandLine();
- if(!serviceCmdLineMap.containsKey(cl)) {
- ArrayList<DuccId> list = new
ArrayList<DuccId>();
- serviceCmdLineMap.put(cl, list);
+ if(map != null) {
+ if(serviceCmdLineMap != null) {
+ for(Entry<DuccId, IDuccWork> entry :
map.getMap().entrySet()) {
+ IDuccWork dw = entry.getValue();
+ switch(dw.getDuccType()) {
+ case Service:
+ DuccWorkJob dwj = (DuccWorkJob)
dw;
+ String sid = dwj.getServiceId();
+ if(sid != null) {
+ ICommandLine cl =
dwj.getCommandLine();
+ if(cl != null) {
+
serviceCmdLineMap.put(sid, cl);
+ }
+ }
+ default:
+ break;
+ }
}
- ArrayList<DuccId> list =
serviceCmdLineMap.get(cl);
- list.add(dw.getDuccId());
- dwj.setCommandLine(null);
- break;
- default:
- break;
}
}
}
private void uncompress(DuccWorkMap map) {
- for(Entry<ICommandLine, ArrayList<DuccId>> entry :
serviceCmdLineMap.entrySet()) {
- ICommandLine cl = entry.getKey();
- ArrayList<DuccId> list = entry.getValue();
- for(DuccId duccId : list) {
- IDuccWork dw = map.findDuccWork(duccId);
- DuccWorkJob dwj = (DuccWorkJob) dw;
- dwj.setCommandLine(cl);
+ if(map != null) {
+ if(serviceCmdLineMap != null) {
+ for(Entry<DuccId, IDuccWork> entry :
map.getMap().entrySet()) {
+ IDuccWork dw = entry.getValue();
+ switch(dw.getDuccType()) {
+ case Service:
+ DuccWorkJob dwj = (DuccWorkJob)
dw;
+ String sid = dwj.getServiceId();
+ if(sid != null) {
+ ICommandLine cl =
serviceCmdLineMap.get(sid);
+ if(cl != null) {
+
dwj.setCommandLine(cl);
+ }
+ }
+ default:
+ break;
+ }
+ }
}
}
}
Modified:
uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/cli/ServiceRequestProperties.java
URL:
http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/cli/ServiceRequestProperties.java?rev=1635248&r1=1635247&r2=1635248&view=diff
==============================================================================
---
uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/cli/ServiceRequestProperties.java
(original)
+++
uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/cli/ServiceRequestProperties.java
Wed Oct 29 18:29:53 2014
@@ -28,4 +28,6 @@ public class ServiceRequestProperties ex
public static String key_service_type_uima = "service_type_uima";
public static String key_service_type_custom = "service_type_custom";
public static String key_service_type_other = "service_type_other";
+
+ public static String key_service_id = "service_id";
}
Modified:
uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/common/ADuccWork.java
URL:
http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/common/ADuccWork.java?rev=1635248&r1=1635247&r2=1635248&view=diff
==============================================================================
---
uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/common/ADuccWork.java
(original)
+++
uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/common/ADuccWork.java
Wed Oct 29 18:29:53 2014
@@ -40,6 +40,7 @@ public abstract class ADuccWork implemen
private String[] serviceDependencies = null;
private ServiceDeploymentType serviceDeploymentType = null;
private String serviceEndpoint = null; // generated in submit
+ private String serviceId = null;
private boolean cancelOnInterrupt = false;
@@ -140,6 +141,16 @@ public abstract class ADuccWork implemen
return serviceEndpoint;
}
+ public void setServiceId(String serviceId)
+ {
+ this.serviceId = serviceId;
+ }
+
+ public String getServiceId()
+ {
+ return serviceId;
+ }
+
public void setCancelOnInterrupt()
{
this.cancelOnInterrupt = true;