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/12/01 15:21:02 UTC
svn commit: r1642688 - in
/uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator:
StateManager.java factory/JobFactoryV2.java
Author: degenaro
Date: Mon Dec 1 14:21:02 2014
New Revision: 1642688
URL: http://svn.apache.org/r1642688
Log:
UIMA-4069 Redesign of JD toward the main goal of classpath separation for container (system) code.
DD generation resultant file name inclusion in JobDriverReport.
Modified:
uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/StateManager.java
uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/factory/JobFactoryV2.java
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/StateManager.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/StateManager.java?rev=1642688&r1=1642687&r2=1642688&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/StateManager.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/StateManager.java Mon Dec 1 14:21:02 2014
@@ -45,6 +45,7 @@ import org.apache.uima.ducc.transport.ag
import org.apache.uima.ducc.transport.cmdline.JavaCommandLine;
import org.apache.uima.ducc.transport.event.common.DuccProcess;
import org.apache.uima.ducc.transport.event.common.DuccReservation;
+import org.apache.uima.ducc.transport.event.common.DuccUimaDeploymentDescriptor;
import org.apache.uima.ducc.transport.event.common.DuccWorkJob;
import org.apache.uima.ducc.transport.event.common.DuccWorkMap;
import org.apache.uima.ducc.transport.event.common.DuccWorkPopDriver;
@@ -486,10 +487,10 @@ public class StateManager {
IRationale rationale;
String jdJmxUrl = jdStatusReport.getJdJmxUrl();
setJdJmxUrl(duccWorkJob, jdJmxUrl);
- IDuccUimaDeploymentDescriptor uimaDeploymentDescriptor = jdStatusReport.getUimaDeploymentDescriptor();
- if(uimaDeploymentDescriptor != null) {
- boolean copyDD = true;
- if(copyDD) {
+ String jpDd = jdStatusReport.getUimaDeploymentDescriptor();
+ if(jpDd != null) {
+ if(duccWorkJob.getUimaDeployableConfiguration() == null) {
+ IDuccUimaDeploymentDescriptor uimaDeploymentDescriptor = new DuccUimaDeploymentDescriptor(jpDd);
duccWorkJob.setUimaDeployableConfiguration(uimaDeploymentDescriptor);
}
}
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/factory/JobFactoryV2.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/factory/JobFactoryV2.java?rev=1642688&r1=1642687&r2=1642688&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/factory/JobFactoryV2.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/factory/JobFactoryV2.java Mon Dec 1 14:21:02 2014
@@ -28,6 +28,7 @@ import org.apache.uima.ducc.common.IDucc
import org.apache.uima.ducc.common.NodeIdentity;
import org.apache.uima.ducc.common.config.CommonConfiguration;
import org.apache.uima.ducc.common.container.FlagsHelper;
+import org.apache.uima.ducc.common.container.FlagsHelper.Name;
import org.apache.uima.ducc.common.utils.DuccLogger;
import org.apache.uima.ducc.common.utils.DuccLoggerComponents;
import org.apache.uima.ducc.common.utils.DuccProperties;
@@ -266,7 +267,7 @@ public class JobFactoryV2 implements IJo
return cp;
}
- private JavaCommandLine buildJobDriverCommandLine(JobRequestProperties jobRequestProperties, DuccId jobid) {
+ private JavaCommandLine buildJobDriverCommandLine(JobRequestProperties jobRequestProperties, DuccId jobid) {
JavaCommandLine jcl = null;
// java command
String javaCmd = jobRequestProperties.getProperty(JobSpecificationProperties.key_jvm);
@@ -296,31 +297,52 @@ public class JobFactoryV2 implements IJo
}
}
// Add job JVM args
- // add JobId
- String opt;
- opt = FlagsHelper.Name.JobId.dname()+"="+jobid.getFriendly();
+ String opt;
+ // add JobId
+ opt = FlagsHelper.Name.JobId.dname()+"="+jobid.getFriendly();
+ jcl.addOption(opt);
+ // add CrXML
+ String crxml = jobRequestProperties.getProperty(JobSpecificationProperties.key_driver_descriptor_CR);
+ if(crxml != null) {
+ opt = FlagsHelper.Name.CollectionReaderXml.dname()+"="+crxml;
jcl.addOption(opt);
- // add CrXML
- String crxml = jobRequestProperties.getProperty(JobSpecificationProperties.key_driver_descriptor_CR);
- if(crxml != null) {
- opt = FlagsHelper.Name.CollectionReaderXml.dname()+"="+crxml;
- jcl.addOption(opt);
- }
- // add CrCfg
- String crcfg = jobRequestProperties.getProperty(JobSpecificationProperties.key_driver_descriptor_CR_overrides);
- if(crcfg != null) {
- opt = FlagsHelper.Name.CollectionReaderCfg.dname()+"="+crcfg;
- jcl.addOption(opt);
- }
- // add userCP
- String userCP = jobRequestProperties.getProperty(JobSpecificationProperties.key_classpath);
- if(userCP == null) {
- userCP = "";
- }
- String augment = IDuccEnv.DUCC_HOME+File.separator+"lib"+File.separator+"uima-ducc"+File.separator+"*";
- userCP = augment+File.pathSeparator+userCP;
- opt = FlagsHelper.Name.UserClasspath.dname()+"="+userCP;
+ }
+ // add CrCfg
+ String crcfg = jobRequestProperties.getProperty(JobSpecificationProperties.key_driver_descriptor_CR_overrides);
+ if(crcfg != null) {
+ opt = FlagsHelper.Name.CollectionReaderCfg.dname()+"="+crcfg;
jcl.addOption(opt);
+ }
+ // add userCP
+ String userCP = jobRequestProperties.getProperty(JobSpecificationProperties.key_classpath);
+ if(userCP == null) {
+ userCP = "";
+ }
+ String augment = IDuccEnv.DUCC_HOME+File.separator+"lib"+File.separator+"uima-ducc"+File.separator+"*";
+ userCP = augment+File.pathSeparator+userCP;
+ opt = FlagsHelper.Name.UserClasspath.dname()+"="+userCP;
+ jcl.addOption(opt);
+ // add JpDdDirectory
+ addDashD(jcl, FlagsHelper.Name.JobDirectory, jobRequestProperties.getProperty(JobSpecificationProperties.key_log_directory));
+ // add Jp DD construction pieces-parts (Jp DD should be null)
+ addDashD(jcl, FlagsHelper.Name.JpAeDescriptor, jobRequestProperties.getProperty(JobSpecificationProperties.key_process_descriptor_AE));
+ addDashD(jcl, FlagsHelper.Name.JpAeOverrides, jobRequestProperties.getProperty(JobSpecificationProperties.key_process_descriptor_AE_overrides));
+ addDashD(jcl, FlagsHelper.Name.JpCcDescriptor, jobRequestProperties.getProperty(JobSpecificationProperties.key_process_descriptor_CC));
+ addDashD(jcl, FlagsHelper.Name.JpCcOverrides, jobRequestProperties.getProperty(JobSpecificationProperties.key_process_descriptor_CC_overrides));
+ addDashD(jcl, FlagsHelper.Name.JpCmDescriptor, jobRequestProperties.getProperty(JobSpecificationProperties.key_process_descriptor_CM));
+ addDashD(jcl, FlagsHelper.Name.JpCmOverrides, jobRequestProperties.getProperty(JobSpecificationProperties.key_process_descriptor_CM_overrides));
+ // add Jp DD (pieces-parts should be null)
+ addDashD(jcl, FlagsHelper.Name.JpDd, jobRequestProperties.getProperty(JobSpecificationProperties.key_process_DD));
+ // add Jp DD specs
+ String name = "DUCC.Job";
+ String description = "DUCC.Generated";
+ String brokerURL = "DUCC.BrokerURL";
+ String brokerEndpoint = "DUCC.BrokerEndpoint";
+ addDashD(jcl, FlagsHelper.Name.JpDdName, name);
+ addDashD(jcl, FlagsHelper.Name.JpDdDescription, description);
+ addDashD(jcl, FlagsHelper.Name.JpDdThreadCount, jobRequestProperties.getProperty(JobSpecificationProperties.key_process_thread_count));
+ addDashD(jcl, FlagsHelper.Name.JpDdBrokerURL, brokerURL);
+ addDashD(jcl, FlagsHelper.Name.JpDdBrokerEndpoint, brokerEndpoint);
// Name the log config file explicitly - the default of searching the user-provided classpath is dangerous
jcl.addOption("-Dlog4j.configuration=file://" + Utils.findDuccHome() + "/resources/log4j.xml");
// Log directory
@@ -328,6 +350,15 @@ public class JobFactoryV2 implements IJo
return jcl;
}
+ private void addDashD(JavaCommandLine jcl, Name name, String value) {
+ String location = "addDadhD";
+ logger.trace(location, null, name.dname()+"="+value);
+ if(value != null) {
+ String opt = name.dname()+"="+value;
+ jcl.addOption(opt);
+ }
+ }
+
private void createDriver(CommonConfiguration common, JobRequestProperties jobRequestProperties, DuccWorkJob job) {
String methodName = "createDriver";
DuccPropertiesResolver duccPropertiesResolver = DuccPropertiesResolver.getInstance();