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();