OOZIE-2814 OYA: Update example workflows to newest schemas (asasvari via gezapeti)
Project: http://git-wip-us.apache.org/repos/asf/oozie/repo Commit: http://git-wip-us.apache.org/repos/asf/oozie/commit/da8e5b51 Tree: http://git-wip-us.apache.org/repos/asf/oozie/tree/da8e5b51 Diff: http://git-wip-us.apache.org/repos/asf/oozie/diff/da8e5b51 Branch: refs/heads/master Commit: da8e5b5184a0afba033ae5358b7ca6a03a38b618 Parents: 09df58f Author: Gezapeti Cseh <gezap...@apache.org> Authored: Wed Mar 14 13:17:01 2018 +0100 Committer: Gezapeti Cseh <gezap...@apache.org> Committed: Wed Mar 14 13:17:09 2018 +0100 ---------------------------------------------------------------------- client/src/main/resources/distcp-action-1.0.xsd | 39 +++ .../oozie/action/hadoop/JavaActionExecutor.java | 14 +- .../workflow/lite/LiteWorkflowAppParser.java | 66 +++- core/src/main/resources/oozie-default.xml | 13 +- .../action/hadoop/TestJavaActionExecutor.java | 83 ++++- .../lite/TestLiteWorkflowAppParser.java | 321 ++++++++----------- .../apps/aggregator/coordinator-with-offset.xml | 4 +- .../src/main/apps/aggregator/coordinator.xml | 4 +- .../apps/aggregator/job-with-offset.properties | 2 +- .../src/main/apps/aggregator/job.properties | 2 +- examples/src/main/apps/aggregator/workflow.xml | 4 +- examples/src/main/apps/bundle/job.properties | 2 +- .../main/apps/coord-input-logic/job.properties | 2 +- .../main/apps/coord-input-logic/workflow.xml | 4 +- .../src/main/apps/cron-schedule/coordinator.xml | 4 +- .../src/main/apps/cron-schedule/job.properties | 2 +- .../src/main/apps/cron-schedule/workflow.xml | 2 +- examples/src/main/apps/cron/coordinator.xml | 4 +- examples/src/main/apps/cron/job.properties | 2 +- examples/src/main/apps/cron/workflow.xml | 2 +- .../src/main/apps/custom-main/job.properties | 2 +- examples/src/main/apps/custom-main/workflow.xml | 6 +- .../main/apps/datelist-java-main/job.properties | 2 +- .../main/apps/datelist-java-main/workflow.xml | 4 +- examples/src/main/apps/demo/job.properties | 2 +- .../src/main/apps/demo/job.windows.properties | 2 +- examples/src/main/apps/demo/workflow.xml | 8 +- examples/src/main/apps/distcp/job.properties | 2 +- examples/src/main/apps/distcp/workflow.xml | 6 +- examples/src/main/apps/hadoop-el/job.properties | 2 +- examples/src/main/apps/hadoop-el/workflow.xml | 4 +- examples/src/main/apps/hcatalog/job.properties | 2 +- .../main/apps/hcatalog/job.properties.security | 2 +- examples/src/main/apps/hcatalog/workflow.xml | 4 +- .../main/apps/hcatalog/workflow.xml.security | 4 +- examples/src/main/apps/hive/job.properties | 2 +- examples/src/main/apps/hive/workflow.xml | 6 +- .../src/main/apps/hive/workflow.xml.security | 6 +- examples/src/main/apps/hive2/job.properties | 2 +- .../src/main/apps/hive2/job.properties.security | 2 +- examples/src/main/apps/hive2/workflow.xml | 6 +- .../src/main/apps/hive2/workflow.xml.security | 6 +- examples/src/main/apps/java-main/job.properties | 2 +- examples/src/main/apps/java-main/workflow.xml | 4 +- .../map-reduce/job-with-config-class.properties | 2 +- .../src/main/apps/map-reduce/job.properties | 2 +- .../map-reduce/workflow-with-config-class.xml | 4 +- examples/src/main/apps/map-reduce/workflow.xml | 4 +- examples/src/main/apps/no-op/job.properties | 2 +- examples/src/main/apps/no-op/workflow.xml | 2 +- examples/src/main/apps/pig/job.properties | 2 +- examples/src/main/apps/pig/workflow.xml | 4 +- examples/src/main/apps/pyspark/job.properties | 2 +- examples/src/main/apps/pyspark/workflow.xml | 4 +- examples/src/main/apps/shell/job.properties | 2 +- examples/src/main/apps/shell/workflow.xml | 6 +- examples/src/main/apps/sla/coordinator.xml | 4 +- examples/src/main/apps/sla/job.properties | 2 +- examples/src/main/apps/sla/workflow.xml | 2 +- examples/src/main/apps/spark/job.properties | 4 +- examples/src/main/apps/spark/workflow.xml | 6 +- .../src/main/apps/sqoop-freeform/job.properties | 2 +- .../src/main/apps/sqoop-freeform/workflow.xml | 6 +- examples/src/main/apps/sqoop/job.properties | 2 +- examples/src/main/apps/sqoop/workflow.xml | 6 +- examples/src/main/apps/ssh/job.properties | 2 +- examples/src/main/apps/ssh/workflow.xml | 2 +- examples/src/main/apps/streaming/job.properties | 2 +- .../main/apps/streaming/job.windows.properties | 2 +- examples/src/main/apps/streaming/workflow.xml | 4 +- examples/src/main/apps/subwf/job.properties | 2 +- examples/src/main/apps/subwf/workflow.xml | 6 +- .../src/test/resources/localoozieexample-wf.xml | 2 +- release-log.txt | 1 + 74 files changed, 422 insertions(+), 335 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/oozie/blob/da8e5b51/client/src/main/resources/distcp-action-1.0.xsd ---------------------------------------------------------------------- diff --git a/client/src/main/resources/distcp-action-1.0.xsd b/client/src/main/resources/distcp-action-1.0.xsd new file mode 100644 index 0000000..9592f9e --- /dev/null +++ b/client/src/main/resources/distcp-action-1.0.xsd @@ -0,0 +1,39 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" + xmlns:distcp="uri:oozie:distcp-action:1.0" elementFormDefault="qualified" + targetNamespace="uri:oozie:distcp-action:1.0"> + <xs:include schemaLocation="oozie-common-1.0.xsd"/> + <xs:element name="distcp" type="distcp:ACTION"/> + + <xs:complexType name="ACTION"> + <xs:sequence> + <xs:choice> + <xs:element name="job-tracker" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="resource-manager" type="xs:string" minOccurs="0" maxOccurs="1"/> + </xs:choice> + <xs:element name="name-node" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="prepare" type="distcp:PREPARE" minOccurs="0" maxOccurs="1"/> + <xs:element name="launcher" type="distcp:LAUNCHER" minOccurs="0" maxOccurs="1"/> + <xs:element name="configuration" type="distcp:CONFIGURATION" minOccurs="0" maxOccurs="1"/> + <xs:element name="java-opts" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="arg" type="xs:string" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> +</xs:schema> http://git-wip-us.apache.org/repos/asf/oozie/blob/da8e5b51/core/src/main/java/org/apache/oozie/action/hadoop/JavaActionExecutor.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/oozie/action/hadoop/JavaActionExecutor.java b/core/src/main/java/org/apache/oozie/action/hadoop/JavaActionExecutor.java index bc0f405..122dfd0 100644 --- a/core/src/main/java/org/apache/oozie/action/hadoop/JavaActionExecutor.java +++ b/core/src/main/java/org/apache/oozie/action/hadoop/JavaActionExecutor.java @@ -261,18 +261,26 @@ public class JavaActionExecutor extends ActionExecutor { protected Configuration createBaseHadoopConf(Context context, Element actionXml, boolean loadResources) { Namespace ns = actionXml.getNamespace(); - String jobTracker = actionXml.getChild("job-tracker", ns).getTextTrim(); + String resourceManager; + final Element resourceManagerTag = actionXml.getChild("resource-manager", ns); + if (resourceManagerTag != null) { + resourceManager = resourceManagerTag.getTextTrim(); + } + else { + resourceManager = actionXml.getChild("job-tracker", ns).getTextTrim(); + } + String nameNode = actionXml.getChild("name-node", ns).getTextTrim(); Configuration conf = null; if (loadResources) { - conf = Services.get().get(HadoopAccessorService.class).createConfiguration(jobTracker); + conf = Services.get().get(HadoopAccessorService.class).createConfiguration(resourceManager); } else { conf = new Configuration(false); } conf.set(HADOOP_USER, context.getProtoActionConf().get(WorkflowAppService.HADOOP_USER)); - conf.set(HADOOP_YARN_RM, jobTracker); + conf.set(HADOOP_YARN_RM, resourceManager); conf.set(HADOOP_NAME_NODE, nameNode); conf.set("mapreduce.fileoutputcommitter.marksuccessfuljobs", "true"); http://git-wip-us.apache.org/repos/asf/oozie/blob/da8e5b51/core/src/main/java/org/apache/oozie/workflow/lite/LiteWorkflowAppParser.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/oozie/workflow/lite/LiteWorkflowAppParser.java b/core/src/main/java/org/apache/oozie/workflow/lite/LiteWorkflowAppParser.java index c236daf..78b0652 100644 --- a/core/src/main/java/org/apache/oozie/workflow/lite/LiteWorkflowAppParser.java +++ b/core/src/main/java/org/apache/oozie/workflow/lite/LiteWorkflowAppParser.java @@ -107,9 +107,12 @@ public class LiteWorkflowAppParser { public static final String DEFAULT_NAME_NODE = "oozie.actions.default.name-node"; public static final String DEFAULT_JOB_TRACKER = "oozie.actions.default.job-tracker"; + public static final String DEFAULT_RESOURCE_MANAGER = "oozie.actions.default.resource-manager"; public static final String OOZIE_GLOBAL = "oozie.wf.globalconf"; private static final String JOB_TRACKER = "job-tracker"; + private static final String RESOURCE_MANAGER = "resource-manager"; + private static final String NAME_NODE = "name-node"; private static final String JOB_XML = "job-xml"; private static final String CONFIGURATION = "configuration"; @@ -120,7 +123,9 @@ public class LiteWorkflowAppParser { private Class<? extends ActionNodeHandler> actionHandlerClass; private String defaultNameNode; + private String defaultResourceManager; private String defaultJobTracker; + private boolean isResourceManagerTagUsed; public LiteWorkflowAppParser(Schema schema, Class<? extends ControlNodeHandler> controlNodeHandler, @@ -131,20 +136,21 @@ public class LiteWorkflowAppParser { this.decisionHandlerClass = decisionHandlerClass; this.actionHandlerClass = actionHandlerClass; - defaultNameNode = ConfigurationService.get(DEFAULT_NAME_NODE); - if (defaultNameNode != null) { - defaultNameNode = defaultNameNode.trim(); - if (defaultNameNode.isEmpty()) { - defaultNameNode = null; - } - } - defaultJobTracker = ConfigurationService.get(DEFAULT_JOB_TRACKER); - if (defaultJobTracker != null) { - defaultJobTracker = defaultJobTracker.trim(); - if (defaultJobTracker.isEmpty()) { - defaultJobTracker = null; + defaultNameNode = getPropertyFromConfig(DEFAULT_NAME_NODE); + defaultResourceManager = getPropertyFromConfig(DEFAULT_RESOURCE_MANAGER); + defaultJobTracker = getPropertyFromConfig(DEFAULT_JOB_TRACKER); + } + + private String getPropertyFromConfig(final String configPropertyKey) { + String property = ConfigurationService.get(configPropertyKey); + if (property != null) { + property = property.trim(); + if (property.isEmpty()) { + property = null; } } + + return property; } public LiteWorkflowApp validateAndParse(Reader reader, Configuration jobConf) throws WorkflowException { @@ -421,11 +427,14 @@ public class LiteWorkflowAppParser { GlobalSectionData gData = null; if (global != null) { String globalJobTracker = null; - Element globalJobTrackerElement = global.getChild(JOB_TRACKER, ns); + Element globalJobTrackerElement = getResourceManager(ns, global); + isResourceManagerTagUsed = globalJobTrackerElement != null + && globalJobTrackerElement.getName().equals(RESOURCE_MANAGER); if (globalJobTrackerElement != null) { globalJobTracker = globalJobTrackerElement.getValue(); } + String globalNameNode = null; Element globalNameNodeElement = global.getChild(NAME_NODE, ns); if (globalNameNodeElement != null) { @@ -462,6 +471,14 @@ public class LiteWorkflowAppParser { return gData; } + private Element getResourceManager(final Namespace ns, final Element element) { + final Element resourceManager = element.getChild(RESOURCE_MANAGER, ns); + if (resourceManager != null) { + return resourceManager; + } + return element.getChild(JOB_TRACKER, ns); + } + private void handleDefaultsAndGlobal(GlobalSectionData gData, Configuration configDefault, Element actionElement, Namespace ns) throws WorkflowException { @@ -491,15 +508,17 @@ public class LiteWorkflowAppParser { throw new WorkflowException(ErrorCode.E0701, "No " + NAME_NODE + " defined"); } } - if (actionElement.getChild(JOB_TRACKER, actionNs) == null && + if (getResourceManager(actionNs, actionElement) == null && !FsActionExecutor.ACTION_TYPE.equals(actionElement.getName())) { if (gData != null && gData.jobTracker != null) { - addChildElement(actionElement, actionNs, JOB_TRACKER, gData.jobTracker); + addResourceManagerOrJobTracker(actionElement, actionNs, gData.jobTracker, isResourceManagerTagUsed); + } else if (defaultResourceManager != null) { + addResourceManagerOrJobTracker(actionElement, actionNs, defaultResourceManager, true); } else if (defaultJobTracker != null) { - addChildElement(actionElement, actionNs, JOB_TRACKER, defaultJobTracker); + addResourceManagerOrJobTracker(actionElement, actionNs, defaultJobTracker, false); } else if (!(SubWorkflowActionExecutor.ACTION_TYPE.equals(actionElement.getName()) || GLOBAL.equals(actionElement.getName()))) { - throw new WorkflowException(ErrorCode.E0701, "No " + JOB_TRACKER + " defined"); + throw new WorkflowException(ErrorCode.E0701, "No " + JOB_TRACKER + " or " + RESOURCE_MANAGER + " defined"); } } } @@ -568,4 +587,17 @@ public class LiteWorkflowAppParser { } } } + + private void addResourceManagerOrJobTracker(final Element actionElement, final Namespace actionNs, final String jobTracker, + boolean isResourceManagerUsed) { + if (isResourceManagerUsed) { + addChildElement(actionElement, actionNs, RESOURCE_MANAGER, jobTracker); + } else { + addChildElement(actionElement, actionNs, JOB_TRACKER, jobTracker); + } + } + + private void addResourceManager(final Element actionElement, final Namespace actionNs, final String jobTracker) { + addChildElement(actionElement, actionNs, RESOURCE_MANAGER, jobTracker); + } } \ No newline at end of file http://git-wip-us.apache.org/repos/asf/oozie/blob/da8e5b51/core/src/main/resources/oozie-default.xml ---------------------------------------------------------------------- diff --git a/core/src/main/resources/oozie-default.xml b/core/src/main/resources/oozie-default.xml index e53b17b..966dd29 100644 --- a/core/src/main/resources/oozie-default.xml +++ b/core/src/main/resources/oozie-default.xml @@ -1624,7 +1624,7 @@ will be the requeue interval for the actions which are waiting for a long time w hive-action-0.2.xsd,hive-action-0.3.xsd,hive-action-0.4.xsd,hive-action-0.5.xsd,hive-action-0.6.xsd,hive-action-1.0.xsd, sqoop-action-0.2.xsd,sqoop-action-0.3.xsd,sqoop-action-0.4.xsd,sqoop-action-1.0.xsd, ssh-action-0.1.xsd,ssh-action-0.2.xsd, - distcp-action-0.1.xsd,distcp-action-0.2.xsd, + distcp-action-0.1.xsd,distcp-action-0.2.xsd,distcp-action-1.0.xsd, oozie-sla-0.1.xsd,oozie-sla-0.2.xsd, hive2-action-0.1.xsd,hive2-action-0.2.xsd,hive2-action-1.0.xsd, spark-action-0.1.xsd,spark-action-0.2.xsd,spark-action-1.0.xsd @@ -3042,6 +3042,17 @@ will be the requeue interval for the actions which are waiting for a long time w </property> <property> + <name>oozie.actions.default.resource-manager</name> + <value> </value> + <description> + The default value to use for the <resource-manager> element in applicable action types. This value will be used + when neither the action itself nor the global section specifies a <resource-managerr>. As expected, it should + be of the form "HOST:PORT". If both oozie.actions.default.job-tracker and oozie.actions.default.resource-manager are + specified, oozie.actions.default.resource-manager takes precedence. + </description> + </property> + + <property> <name>oozie.service.SchemaCheckerService.check.interval</name> <value>168</value> <description> http://git-wip-us.apache.org/repos/asf/oozie/blob/da8e5b51/core/src/test/java/org/apache/oozie/action/hadoop/TestJavaActionExecutor.java ---------------------------------------------------------------------- diff --git a/core/src/test/java/org/apache/oozie/action/hadoop/TestJavaActionExecutor.java b/core/src/test/java/org/apache/oozie/action/hadoop/TestJavaActionExecutor.java index 1cc569d..b55a3cd 100644 --- a/core/src/test/java/org/apache/oozie/action/hadoop/TestJavaActionExecutor.java +++ b/core/src/test/java/org/apache/oozie/action/hadoop/TestJavaActionExecutor.java @@ -386,6 +386,25 @@ public class TestJavaActionExecutor extends ActionExecutorTestCase { assertEquals(WorkflowAction.Status.OK, context.getAction().getStatus()); } + + public void testSimplestSubmitWithResourceManagerOK() throws Exception { + final String actionXml = "<java>" + + "<resource-manager>" + getJobTrackerUri() + "</resource-manager>" + + "<name-node>" + getNameNodeUri() + "</name-node>" + + "<main-class>" + LauncherMainTester.class.getName() + "</main-class>" + + "</java>"; + final Context context = createContext(actionXml, null); + submitAction(context); + waitUntilYarnAppDoneAndAssertSuccess(context.getAction().getExternalId()); + final ActionExecutor ae = new JavaActionExecutor(); + ae.check(context, context.getAction()); + assertEquals("SUCCEEDED", context.getAction().getExternalStatus()); + assertNull(context.getAction().getData()); + + ae.end(context, context.getAction()); + assertEquals(WorkflowAction.Status.OK, context.getAction().getStatus()); + } + public void testOutputSubmitOK() throws Exception { String actionXml = "<java>" + "<job-tracker>" + getJobTrackerUri() + "</job-tracker>" + @@ -2246,27 +2265,21 @@ public class TestJavaActionExecutor extends ActionExecutorTestCase { String config = addConfig ? "<configuration>" + "<property><name>action.foo</name><value>AA</value></property>" + "</configuration>" : ""; - return "<java>" + "<job-tracker>" + getJobTrackerUri() + "</job-tracker>" + + return "<java>" + + "<job-tracker>" + getJobTrackerUri() + "</job-tracker>" + "<name-node>" + getNameNodeUri() + "</name-node>" + config + "<main-class>MAIN-CLASS</main-class>" + "</java>"; } - private String createTestWorkflowXml() throws IOException { + private String createTestWorkflowXml(final String globalXml, final String actionXml) throws IOException { String workflowUri = getTestCaseFileUri("workflow.xml"); - String appXml = "<workflow-app xmlns=\"uri:oozie:workflow:0.4\" name=\"workflow\">" + - "<global>" + - " <configuration>" + - " <property>" + - " <name>action.foo</name>" + - " <value>foo2</value>" + - " </property>" + - " </configuration>" + - "</global>" + + String appXml = "<workflow-app xmlns=\"uri:oozie:workflow:1.0\" name=\"workflow\">" + + globalXml + "<start to=\"java\"/>" + "<action name=\"java\">" + - getJavaActionXml(false)+ + actionXml + " <ok to=\"end\"/>" + " <error to=\"fail\"/>" + "</action>" + @@ -2284,7 +2297,7 @@ public class TestJavaActionExecutor extends ActionExecutorTestCase { public void testGlobalConfigurationWithActionDefaults() throws Exception { try { - String workflowUri = createTestWorkflowXml(); + String workflowUri = createTestWorkflowXml(getWorkflowGlobalXml(), getJavaActionXml(false)); LocalOozie.start(); final OozieClient wfClient = LocalOozie.getClient(); Properties conf = wfClient.createConfiguration(); @@ -2313,6 +2326,39 @@ public class TestJavaActionExecutor extends ActionExecutorTestCase { } } + public void testResourceManagerInGlobalConfigurationCanBeOverridenWithJobTrackerInAction() throws Exception { + try { + final String global = "<global>" + + "<resource-manager>RM</resource-manager>"+ + "</global>"; + + final String workflowUri = createTestWorkflowXml(global, getJavaActionXml(false)); + LocalOozie.start(); + final OozieClient wfClient = LocalOozie.getClient(); + final Properties conf = wfClient.createConfiguration(); + conf.setProperty(OozieClient.APP_PATH, workflowUri); + conf.setProperty(OozieClient.USER_NAME, getTestUser()); + conf.setProperty("appName", "var-app-name"); + final String jobId = wfClient.submit(conf); + wfClient.start(jobId); + WorkflowJob workflow = wfClient.getJobInfo(jobId); + waitFor(20 * 1000, new Predicate() { + @Override + public boolean evaluate() throws Exception { + WorkflowAction javaAction = getJavaAction(wfClient.getJobInfo(jobId)); + return javaAction != null && !javaAction.getStatus().equals("PREP"); + } + }); + final WorkflowAction workflowAction = getJavaAction(workflow); + final String actualConfig = workflowAction.getConf(); + final String actualJobTrackerURI = XmlUtils.parseXml(actualConfig).getChildTextNormalize("job-tracker", null); + assertEquals(getJobTrackerUri(), actualJobTrackerURI); + + } finally { + LocalOozie.stop(); + } + } + private WorkflowAction getJavaAction(WorkflowJob workflowJob){ List<WorkflowAction> actions = workflowJob.getActions(); for(WorkflowAction wa : actions){ @@ -2676,4 +2722,15 @@ public class TestJavaActionExecutor extends ActionExecutorTestCase { assertEquals(FinalApplicationStatus.KILLED, yarnClient.getApplicationReport(ConverterUtils.toApplicationId(runningJob)).getFinalApplicationStatus()); } + + public String getWorkflowGlobalXml() { + return "<global>" + + " <configuration>" + + " <property>" + + " <name>action.foo</name>" + + " <value>foo2</value>" + + " </property>" + + " </configuration>" + + "</global>"; + } } http://git-wip-us.apache.org/repos/asf/oozie/blob/da8e5b51/core/src/test/java/org/apache/oozie/workflow/lite/TestLiteWorkflowAppParser.java ---------------------------------------------------------------------- diff --git a/core/src/test/java/org/apache/oozie/workflow/lite/TestLiteWorkflowAppParser.java b/core/src/test/java/org/apache/oozie/workflow/lite/TestLiteWorkflowAppParser.java index 2cdbde4..f5baf6b 100644 --- a/core/src/test/java/org/apache/oozie/workflow/lite/TestLiteWorkflowAppParser.java +++ b/core/src/test/java/org/apache/oozie/workflow/lite/TestLiteWorkflowAppParser.java @@ -67,10 +67,7 @@ public class TestLiteWorkflowAppParser extends XTestCase { } public void testParserGlobal() throws Exception { - LiteWorkflowAppParser parser = new LiteWorkflowAppParser(null, - LiteWorkflowStoreService.LiteControlNodeHandler.class, - LiteWorkflowStoreService.LiteDecisionHandler.class, - LiteWorkflowStoreService.LiteActionHandler.class); + LiteWorkflowAppParser parser = newLiteWorkflowAppParser(); LiteWorkflowApp app = parser.validateAndParse(IOUtils.getResourceAsReader("wf-schema-valid-global.xml", -1), new Configuration()); @@ -107,10 +104,7 @@ public class TestLiteWorkflowAppParser extends XTestCase { } public void testParserGlobalJobXML() throws Exception { - LiteWorkflowAppParser parser = new LiteWorkflowAppParser(null, - LiteWorkflowStoreService.LiteControlNodeHandler.class, - LiteWorkflowStoreService.LiteDecisionHandler.class, - LiteWorkflowStoreService.LiteActionHandler.class); + LiteWorkflowAppParser parser = newLiteWorkflowAppParser(); LiteWorkflowApp app = parser.validateAndParse(IOUtils.getResourceAsReader("wf-schema-valid-global-jobXml.xml", -1), new Configuration()); @@ -150,10 +144,7 @@ public class TestLiteWorkflowAppParser extends XTestCase { } public void testParserGlobalLocalAlreadyExists() throws Exception{ - LiteWorkflowAppParser parser = new LiteWorkflowAppParser(null, - LiteWorkflowStoreService.LiteControlNodeHandler.class, - LiteWorkflowStoreService.LiteDecisionHandler.class, - LiteWorkflowStoreService.LiteActionHandler.class); + LiteWorkflowAppParser parser = newLiteWorkflowAppParser(); LiteWorkflowApp app = parser.validateAndParse(IOUtils.getResourceAsReader("wf-schema-valid-global.xml", -1), new Configuration()); @@ -188,10 +179,7 @@ public class TestLiteWorkflowAppParser extends XTestCase { } public void testParserGlobalExtensionActions() throws Exception { - LiteWorkflowAppParser parser = new LiteWorkflowAppParser(null, - LiteWorkflowStoreService.LiteControlNodeHandler.class, - LiteWorkflowStoreService.LiteDecisionHandler.class, - LiteWorkflowStoreService.LiteActionHandler.class); + LiteWorkflowAppParser parser = newLiteWorkflowAppParser(); LiteWorkflowApp app = parser.validateAndParse(IOUtils.getResourceAsReader("wf-schema-valid-global-ext.xml", -1), new Configuration()); @@ -228,10 +216,7 @@ public class TestLiteWorkflowAppParser extends XTestCase { } public void testParserGlobalExtensionActionsLocalAlreadyExists() throws Exception { - LiteWorkflowAppParser parser = new LiteWorkflowAppParser(null, - LiteWorkflowStoreService.LiteControlNodeHandler.class, - LiteWorkflowStoreService.LiteDecisionHandler.class, - LiteWorkflowStoreService.LiteActionHandler.class); + LiteWorkflowAppParser parser = newLiteWorkflowAppParser(); LiteWorkflowApp app = parser.validateAndParse(IOUtils.getResourceAsReader("wf-schema-valid-global-ext.xml", -1), new Configuration()); @@ -263,10 +248,7 @@ public class TestLiteWorkflowAppParser extends XTestCase { } public void testParserGlobalExtensionActionsNotApplicable() throws Exception { - LiteWorkflowAppParser parser = new LiteWorkflowAppParser(null, - LiteWorkflowStoreService.LiteControlNodeHandler.class, - LiteWorkflowStoreService.LiteDecisionHandler.class, - LiteWorkflowStoreService.LiteActionHandler.class); + LiteWorkflowAppParser parser = newLiteWorkflowAppParser(); // Not all actions want a JT, NN, conf, or jobxml (e.g. email action) LiteWorkflowApp app = parser.validateAndParse(IOUtils.getResourceAsReader("wf-schema-valid-global-ext.xml", -1), @@ -284,10 +266,7 @@ public class TestLiteWorkflowAppParser extends XTestCase { } public void testParserGlobalExtensionActionsNoGlobal() throws Exception { - LiteWorkflowAppParser parser = new LiteWorkflowAppParser(null, - LiteWorkflowStoreService.LiteControlNodeHandler.class, - LiteWorkflowStoreService.LiteDecisionHandler.class, - LiteWorkflowStoreService.LiteActionHandler.class); + LiteWorkflowAppParser parser = newLiteWorkflowAppParser(); // If no global section is defined, some extension actions (e.g. hive) must still have name-node and job-tracker elements // or the handleGlobal() method will throw an exception @@ -309,10 +288,7 @@ public class TestLiteWorkflowAppParser extends XTestCase { public void testParserDefaultNameNode() throws Exception { ConfigurationService.set("oozie.actions.default.name-node", "default-nn"); - LiteWorkflowAppParser parser = new LiteWorkflowAppParser(null, - LiteWorkflowStoreService.LiteControlNodeHandler.class, - LiteWorkflowStoreService.LiteDecisionHandler.class, - LiteWorkflowStoreService.LiteActionHandler.class); + LiteWorkflowAppParser parser = newLiteWorkflowAppParser(); LiteWorkflowApp app = parser.validateAndParse(IOUtils.getResourceAsReader("wf-schema-no-namenode.xml", -1), new Configuration()); @@ -341,10 +317,7 @@ public class TestLiteWorkflowAppParser extends XTestCase { public void testParserDefaultNameNodeWithGlobal() throws Exception { ConfigurationService.set("oozie.actions.default.name-node", "default-nn"); - LiteWorkflowAppParser parser = new LiteWorkflowAppParser(null, - LiteWorkflowStoreService.LiteControlNodeHandler.class, - LiteWorkflowStoreService.LiteDecisionHandler.class, - LiteWorkflowStoreService.LiteActionHandler.class); + LiteWorkflowAppParser parser = newLiteWorkflowAppParser(); LiteWorkflowApp app = parser.validateAndParse(IOUtils.getResourceAsReader("wf-schema-no-namenode-global.xml", -1), new Configuration()); @@ -373,10 +346,7 @@ public class TestLiteWorkflowAppParser extends XTestCase { public void testParserDefaultNameNodeNotApplicable() throws Exception { ConfigurationService.set("oozie.actions.default.name-node", "default-nn"); - LiteWorkflowAppParser parser = new LiteWorkflowAppParser(null, - LiteWorkflowStoreService.LiteControlNodeHandler.class, - LiteWorkflowStoreService.LiteDecisionHandler.class, - LiteWorkflowStoreService.LiteActionHandler.class); + LiteWorkflowAppParser parser = newLiteWorkflowAppParser(); // Not all actions want a NN (e.g. email action) LiteWorkflowApp app = parser.validateAndParse(IOUtils.getResourceAsReader("wf-schema-no-namenode.xml", -1), @@ -393,10 +363,7 @@ public class TestLiteWorkflowAppParser extends XTestCase { } public void testParserDefaultNameNodeFail() throws Exception { - LiteWorkflowAppParser parser = new LiteWorkflowAppParser(null, - LiteWorkflowStoreService.LiteControlNodeHandler.class, - LiteWorkflowStoreService.LiteDecisionHandler.class, - LiteWorkflowStoreService.LiteActionHandler.class); + LiteWorkflowAppParser parser = newLiteWorkflowAppParser(); // No default NN is set try { @@ -411,10 +378,7 @@ public class TestLiteWorkflowAppParser extends XTestCase { public void testParserDefaultJobTracker() throws Exception { ConfigurationService.set("oozie.actions.default.job-tracker", "default-jt"); - LiteWorkflowAppParser parser = new LiteWorkflowAppParser(null, - LiteWorkflowStoreService.LiteControlNodeHandler.class, - LiteWorkflowStoreService.LiteDecisionHandler.class, - LiteWorkflowStoreService.LiteActionHandler.class); + LiteWorkflowAppParser parser = newLiteWorkflowAppParser(); LiteWorkflowApp app = parser.validateAndParse(IOUtils.getResourceAsReader("wf-schema-no-jobtracker.xml", -1), new Configuration()); @@ -443,10 +407,7 @@ public class TestLiteWorkflowAppParser extends XTestCase { public void testParserDefaultJobTrackerWithGlobal() throws Exception { ConfigurationService.set("oozie.actions.default.job-tracker", "default-jt"); - LiteWorkflowAppParser parser = new LiteWorkflowAppParser(null, - LiteWorkflowStoreService.LiteControlNodeHandler.class, - LiteWorkflowStoreService.LiteDecisionHandler.class, - LiteWorkflowStoreService.LiteActionHandler.class); + LiteWorkflowAppParser parser = newLiteWorkflowAppParser(); LiteWorkflowApp app = parser.validateAndParse(IOUtils.getResourceAsReader("wf-schema-no-jobtracker-global.xml", -1), new Configuration()); @@ -475,10 +436,7 @@ public class TestLiteWorkflowAppParser extends XTestCase { public void testParserDefaultJobTrackerNotApplicable() throws Exception { ConfigurationService.set("oozie.actions.default.job-tracker", "default-jt"); - LiteWorkflowAppParser parser = new LiteWorkflowAppParser(null, - LiteWorkflowStoreService.LiteControlNodeHandler.class, - LiteWorkflowStoreService.LiteDecisionHandler.class, - LiteWorkflowStoreService.LiteActionHandler.class); + LiteWorkflowAppParser parser = newLiteWorkflowAppParser(); // Not all actions want a NN (e.g. email action) LiteWorkflowApp app = parser.validateAndParse(IOUtils.getResourceAsReader("wf-schema-no-jobtracker.xml", -1), @@ -495,10 +453,7 @@ public class TestLiteWorkflowAppParser extends XTestCase { } public void testParserDefaultJobTrackerFail() throws Exception { - LiteWorkflowAppParser parser = new LiteWorkflowAppParser(null, - LiteWorkflowStoreService.LiteControlNodeHandler.class, - LiteWorkflowStoreService.LiteDecisionHandler.class, - LiteWorkflowStoreService.LiteActionHandler.class); + LiteWorkflowAppParser parser = newLiteWorkflowAppParser(); // No default NN is set try { @@ -507,15 +462,12 @@ public class TestLiteWorkflowAppParser extends XTestCase { fail(); } catch (WorkflowException e) { assertEquals(ErrorCode.E0701, e.getErrorCode()); - assertTrue(e.getMessage().contains("No job-tracker defined")); + assertTrue(e.getMessage().contains("E0701: XML schema error, No job-tracker or resource-manager defined")); } } public void testParserSubWorkflowPropagateNoGlobal() throws Exception { - LiteWorkflowAppParser parser = new LiteWorkflowAppParser(null, - LiteWorkflowStoreService.LiteControlNodeHandler.class, - LiteWorkflowStoreService.LiteDecisionHandler.class, - LiteWorkflowStoreService.LiteActionHandler.class); + LiteWorkflowAppParser parser = newLiteWorkflowAppParser(); LiteWorkflowApp app = parser.validateAndParse( IOUtils.getResourceAsReader("wf-schema-subworkflow-propagate-no-global.xml", -1), @@ -533,10 +485,7 @@ public class TestLiteWorkflowAppParser extends XTestCase { } public void testParserFsGlobalNN() throws Exception { - LiteWorkflowAppParser parser = new LiteWorkflowAppParser(null, - LiteWorkflowStoreService.LiteControlNodeHandler.class, - LiteWorkflowStoreService.LiteDecisionHandler.class, - LiteWorkflowStoreService.LiteActionHandler.class); + LiteWorkflowAppParser parser = newLiteWorkflowAppParser(); LiteWorkflowApp app = parser.validateAndParse(IOUtils.getResourceAsReader("wf-schema-fs-no-namenode-global.xml", -1), new Configuration()); @@ -562,10 +511,7 @@ public class TestLiteWorkflowAppParser extends XTestCase { public void testParserFsDefaultNN() throws Exception { ConfigurationService.set("oozie.actions.default.name-node", "default-nn"); - LiteWorkflowAppParser parser = new LiteWorkflowAppParser(null, - LiteWorkflowStoreService.LiteControlNodeHandler.class, - LiteWorkflowStoreService.LiteDecisionHandler.class, - LiteWorkflowStoreService.LiteActionHandler.class); + LiteWorkflowAppParser parser = newLiteWorkflowAppParser(); LiteWorkflowApp app = parser.validateAndParse(IOUtils.getResourceAsReader("wf-schema-fs-no-namenode.xml", -1), new Configuration()); @@ -590,10 +536,7 @@ public class TestLiteWorkflowAppParser extends XTestCase { } public void testParserFsNoNN() throws Exception { - LiteWorkflowAppParser parser = new LiteWorkflowAppParser(null, - LiteWorkflowStoreService.LiteControlNodeHandler.class, - LiteWorkflowStoreService.LiteDecisionHandler.class, - LiteWorkflowStoreService.LiteActionHandler.class); + LiteWorkflowAppParser parser = newLiteWorkflowAppParser(); LiteWorkflowApp app = parser.validateAndParse(IOUtils.getResourceAsReader("wf-schema-fs-no-namenode.xml", -1), new Configuration()); @@ -618,10 +561,7 @@ public class TestLiteWorkflowAppParser extends XTestCase { } public void testParser() throws Exception { - LiteWorkflowAppParser parser = new LiteWorkflowAppParser(null, - LiteWorkflowStoreService.LiteControlNodeHandler.class, - LiteWorkflowStoreService.LiteDecisionHandler.class, - LiteWorkflowStoreService.LiteActionHandler.class); + LiteWorkflowAppParser parser = newLiteWorkflowAppParser(); parser.validateAndParse(IOUtils.getResourceAsReader("wf-schema-valid.xml", -1), new Configuration()); @@ -661,10 +601,7 @@ public class TestLiteWorkflowAppParser extends XTestCase { } public void testParserGlobalLauncherAM() throws Exception { - LiteWorkflowAppParser parser = new LiteWorkflowAppParser(null, - LiteWorkflowStoreService.LiteControlNodeHandler.class, - LiteWorkflowStoreService.LiteDecisionHandler.class, - LiteWorkflowStoreService.LiteActionHandler.class); + LiteWorkflowAppParser parser = newLiteWorkflowAppParser(); LiteWorkflowApp workflowApp = parser.validateAndParse(IOUtils.getResourceAsReader("wf-schema-global-launcherconf.xml", -1), new Configuration()); @@ -681,10 +618,7 @@ public class TestLiteWorkflowAppParser extends XTestCase { } public void testParserGlobalLauncherAMOverridden() throws Exception { - LiteWorkflowAppParser parser = new LiteWorkflowAppParser(null, - LiteWorkflowStoreService.LiteControlNodeHandler.class, - LiteWorkflowStoreService.LiteDecisionHandler.class, - LiteWorkflowStoreService.LiteActionHandler.class); + LiteWorkflowAppParser parser = newLiteWorkflowAppParser(); LiteWorkflowApp workflowApp = parser.validateAndParse(IOUtils.getResourceAsReader("wf-schema-global-launcherconf-override.xml", -1), new Configuration()); @@ -703,12 +637,9 @@ public class TestLiteWorkflowAppParser extends XTestCase { * 2->ok->end */ public void testWfNoForkJoin() throws WorkflowException { - LiteWorkflowAppParser parser = new LiteWorkflowAppParser(null, - LiteWorkflowStoreService.LiteControlNodeHandler.class, - LiteWorkflowStoreService.LiteDecisionHandler.class, - LiteWorkflowStoreService.LiteActionHandler.class); + LiteWorkflowAppParser parser = newLiteWorkflowAppParser(); - LiteWorkflowApp def = new LiteWorkflowApp("name", "def", + LiteWorkflowApp def = new LiteWorkflowApp("name", "def", new StartNodeDef(LiteWorkflowStoreService.LiteControlNodeHandler.class, "one")) .addNode(new ActionNodeDef("one", dummyConf, TestActionNodeHandler.class, "two", "three")) .addNode(new ActionNodeDef("two", dummyConf, TestActionNodeHandler.class, "end", "end")) @@ -728,10 +659,7 @@ public class TestLiteWorkflowAppParser extends XTestCase { (2,3)->j */ public void testSimpleForkJoin() throws WorkflowException { - LiteWorkflowAppParser parser = new LiteWorkflowAppParser(null, - LiteWorkflowStoreService.LiteControlNodeHandler.class, - LiteWorkflowStoreService.LiteDecisionHandler.class, - LiteWorkflowStoreService.LiteActionHandler.class); + LiteWorkflowAppParser parser = newLiteWorkflowAppParser(); LiteWorkflowApp def = new LiteWorkflowApp("wf", "<worklfow-app/>", new StartNodeDef(LiteWorkflowStoreService.LiteControlNodeHandler.class, "one")) @@ -763,10 +691,7 @@ public class TestLiteWorkflowAppParser extends XTestCase { 7->j */ public void testNestedForkJoin() throws WorkflowException{ - LiteWorkflowAppParser parser = new LiteWorkflowAppParser(null, - LiteWorkflowStoreService.LiteControlNodeHandler.class, - LiteWorkflowStoreService.LiteDecisionHandler.class, - LiteWorkflowStoreService.LiteActionHandler.class); + LiteWorkflowAppParser parser = newLiteWorkflowAppParser(); LiteWorkflowApp def = new LiteWorkflowApp("testWf", "<worklfow-app/>", new StartNodeDef(LiteWorkflowStoreService.LiteControlNodeHandler.class, "one")) @@ -800,10 +725,7 @@ public class TestLiteWorkflowAppParser extends XTestCase { 3->end */ public void testForkJoinFailure() throws WorkflowException{ - LiteWorkflowAppParser parser = new LiteWorkflowAppParser(null, - LiteWorkflowStoreService.LiteControlNodeHandler.class, - LiteWorkflowStoreService.LiteDecisionHandler.class, - LiteWorkflowStoreService.LiteActionHandler.class); + LiteWorkflowAppParser parser = newLiteWorkflowAppParser(); LiteWorkflowApp def = new LiteWorkflowApp("testWf", "<worklfow-app/>", new StartNodeDef(LiteWorkflowStoreService.LiteControlNodeHandler.class, "one")) @@ -839,10 +761,7 @@ public class TestLiteWorkflowAppParser extends XTestCase { j2-end */ public void testNestedForkJoinFailure() throws WorkflowException { - LiteWorkflowAppParser parser = new LiteWorkflowAppParser(null, - LiteWorkflowStoreService.LiteControlNodeHandler.class, - LiteWorkflowStoreService.LiteDecisionHandler.class, - LiteWorkflowStoreService.LiteActionHandler.class); + LiteWorkflowAppParser parser = newLiteWorkflowAppParser(); LiteWorkflowApp def = new LiteWorkflowApp("testWf", "<worklfow-app/>", new StartNodeDef(LiteWorkflowStoreService.LiteControlNodeHandler.class, "one")) @@ -879,10 +798,7 @@ public class TestLiteWorkflowAppParser extends XTestCase { j->k */ public void testTransitionFailure1() throws WorkflowException{ - LiteWorkflowAppParser parser = new LiteWorkflowAppParser(null, - LiteWorkflowStoreService.LiteControlNodeHandler.class, - LiteWorkflowStoreService.LiteDecisionHandler.class, - LiteWorkflowStoreService.LiteActionHandler.class); + LiteWorkflowAppParser parser = newLiteWorkflowAppParser(); LiteWorkflowApp def = new LiteWorkflowApp("name", "def", new StartNodeDef(LiteWorkflowStoreService.LiteControlNodeHandler.class, "one")) @@ -914,10 +830,7 @@ public class TestLiteWorkflowAppParser extends XTestCase { j->end */ public void testTransition2() throws WorkflowException{ - LiteWorkflowAppParser parser = new LiteWorkflowAppParser(null, - LiteWorkflowStoreService.LiteControlNodeHandler.class, - LiteWorkflowStoreService.LiteDecisionHandler.class, - LiteWorkflowStoreService.LiteActionHandler.class); + LiteWorkflowAppParser parser = newLiteWorkflowAppParser(); LiteWorkflowApp def = new LiteWorkflowApp("name", "def", new StartNodeDef(LiteWorkflowStoreService.LiteControlNodeHandler.class, "one")) @@ -950,10 +863,7 @@ public class TestLiteWorkflowAppParser extends XTestCase { j->end */ public void testTransition3() throws WorkflowException{ - LiteWorkflowAppParser parser = new LiteWorkflowAppParser(null, - LiteWorkflowStoreService.LiteControlNodeHandler.class, - LiteWorkflowStoreService.LiteDecisionHandler.class, - LiteWorkflowStoreService.LiteActionHandler.class); + LiteWorkflowAppParser parser = newLiteWorkflowAppParser(); LiteWorkflowApp def = new LiteWorkflowApp("name", "def", new StartNodeDef(LiteWorkflowStoreService.LiteControlNodeHandler.class, "one")) @@ -988,10 +898,7 @@ public class TestLiteWorkflowAppParser extends XTestCase { * 6->k */ public void testErrorTransitionForkJoin() throws WorkflowException { - LiteWorkflowAppParser parser = new LiteWorkflowAppParser(null, - LiteWorkflowStoreService.LiteControlNodeHandler.class, - LiteWorkflowStoreService.LiteDecisionHandler.class, - LiteWorkflowStoreService.LiteActionHandler.class); + LiteWorkflowAppParser parser = newLiteWorkflowAppParser(); LiteWorkflowApp def = new LiteWorkflowApp("wf", "<worklfow-app/>", new StartNodeDef(LiteWorkflowStoreService.LiteControlNodeHandler.class, "one")) @@ -1026,10 +933,7 @@ public class TestLiteWorkflowAppParser extends XTestCase { 3->j */ public void testDecisionForkJoin() throws WorkflowException{ - LiteWorkflowAppParser parser = new LiteWorkflowAppParser(null, - LiteWorkflowStoreService.LiteControlNodeHandler.class, - LiteWorkflowStoreService.LiteDecisionHandler.class, - LiteWorkflowStoreService.LiteActionHandler.class); + LiteWorkflowAppParser parser = newLiteWorkflowAppParser(); LiteWorkflowApp def = new LiteWorkflowApp("name", "def", new StartNodeDef(LiteWorkflowStoreService.LiteControlNodeHandler.class, "one")) .addNode(new ActionNodeDef("one", dummyConf, TestActionNodeHandler.class, "f","end")) @@ -1060,10 +964,7 @@ public class TestLiteWorkflowAppParser extends XTestCase { 5->j */ public void testDecisionsToJoinForkJoin() throws WorkflowException{ - LiteWorkflowAppParser parser = new LiteWorkflowAppParser(null, - LiteWorkflowStoreService.LiteControlNodeHandler.class, - LiteWorkflowStoreService.LiteDecisionHandler.class, - LiteWorkflowStoreService.LiteActionHandler.class); + LiteWorkflowAppParser parser = newLiteWorkflowAppParser(); LiteWorkflowApp def = new LiteWorkflowApp("name", "def", new StartNodeDef(LiteWorkflowStoreService.LiteControlNodeHandler.class, "one")) .addNode(new ActionNodeDef("one", dummyConf, TestActionNodeHandler.class, "f","end")) @@ -1095,10 +996,7 @@ public class TestLiteWorkflowAppParser extends XTestCase { 5->j */ public void testDecisionsToKillForkJoin() throws WorkflowException{ - LiteWorkflowAppParser parser = new LiteWorkflowAppParser(null, - LiteWorkflowStoreService.LiteControlNodeHandler.class, - LiteWorkflowStoreService.LiteDecisionHandler.class, - LiteWorkflowStoreService.LiteActionHandler.class); + LiteWorkflowAppParser parser = newLiteWorkflowAppParser(); LiteWorkflowApp def = new LiteWorkflowApp("name", "def", new StartNodeDef(LiteWorkflowStoreService.LiteControlNodeHandler.class, "one")) .addNode(new ActionNodeDef("one", dummyConf, TestActionNodeHandler.class, "f","end")) @@ -1132,10 +1030,7 @@ public class TestLiteWorkflowAppParser extends XTestCase { *j->end */ public void testDecisionForkJoinFailure() throws WorkflowException{ - LiteWorkflowAppParser parser = new LiteWorkflowAppParser(null, - LiteWorkflowStoreService.LiteControlNodeHandler.class, - LiteWorkflowStoreService.LiteDecisionHandler.class, - LiteWorkflowStoreService.LiteActionHandler.class); + LiteWorkflowAppParser parser = newLiteWorkflowAppParser(); LiteWorkflowApp def = new LiteWorkflowApp("name", "def", new StartNodeDef(LiteWorkflowStoreService.LiteControlNodeHandler.class, "one")) .addNode(new ActionNodeDef("one", dummyConf, TestActionNodeHandler.class, "f","end")) @@ -1169,10 +1064,7 @@ public class TestLiteWorkflowAppParser extends XTestCase { *j->end */ public void testDecisionToEndForkJoinFailure() throws WorkflowException{ - LiteWorkflowAppParser parser = new LiteWorkflowAppParser(null, - LiteWorkflowStoreService.LiteControlNodeHandler.class, - LiteWorkflowStoreService.LiteDecisionHandler.class, - LiteWorkflowStoreService.LiteActionHandler.class); + LiteWorkflowAppParser parser = newLiteWorkflowAppParser(); LiteWorkflowApp def = new LiteWorkflowApp("name", "def", new StartNodeDef(LiteWorkflowStoreService.LiteControlNodeHandler.class, "one")) .addNode(new ActionNodeDef("one", dummyConf, TestActionNodeHandler.class, "f","end")) @@ -1207,10 +1099,7 @@ public class TestLiteWorkflowAppParser extends XTestCase { *j->end */ public void testDecisionTwoPathsForkJoin() throws WorkflowException{ - LiteWorkflowAppParser parser = new LiteWorkflowAppParser(null, - LiteWorkflowStoreService.LiteControlNodeHandler.class, - LiteWorkflowStoreService.LiteDecisionHandler.class, - LiteWorkflowStoreService.LiteActionHandler.class); + LiteWorkflowAppParser parser = newLiteWorkflowAppParser(); LiteWorkflowApp def = new LiteWorkflowApp("name", "def", new StartNodeDef(LiteWorkflowStoreService.LiteControlNodeHandler.class, "one")) .addNode(new ActionNodeDef("one", dummyConf, TestActionNodeHandler.class, "f","end")) @@ -1243,10 +1132,7 @@ public class TestLiteWorkflowAppParser extends XTestCase { *j->end */ public void testMultipleDecisionThreePathsForkJoin() throws WorkflowException{ - LiteWorkflowAppParser parser = new LiteWorkflowAppParser(null, - LiteWorkflowStoreService.LiteControlNodeHandler.class, - LiteWorkflowStoreService.LiteDecisionHandler.class, - LiteWorkflowStoreService.LiteActionHandler.class); + LiteWorkflowAppParser parser = newLiteWorkflowAppParser(); LiteWorkflowApp def = new LiteWorkflowApp("name", "def", new StartNodeDef(LiteWorkflowStoreService.LiteControlNodeHandler.class, "one")) .addNode(new ActionNodeDef("one", dummyConf, TestActionNodeHandler.class, "f","end")) @@ -1281,10 +1167,7 @@ public class TestLiteWorkflowAppParser extends XTestCase { *j->end */ public void testMultipleDecisionThreePathsForkJoinFailure() throws WorkflowException{ - LiteWorkflowAppParser parser = new LiteWorkflowAppParser(null, - LiteWorkflowStoreService.LiteControlNodeHandler.class, - LiteWorkflowStoreService.LiteDecisionHandler.class, - LiteWorkflowStoreService.LiteActionHandler.class); + LiteWorkflowAppParser parser = newLiteWorkflowAppParser(); LiteWorkflowApp def = new LiteWorkflowApp("name", "def", new StartNodeDef(LiteWorkflowStoreService.LiteControlNodeHandler.class, "one")) .addNode(new ActionNodeDef("one", dummyConf, TestActionNodeHandler.class, "f","end")) @@ -1322,10 +1205,7 @@ public class TestLiteWorkflowAppParser extends XTestCase { *j->end */ public void testMultipleDecisionThreePathsForkJoinFailure2() throws WorkflowException{ - LiteWorkflowAppParser parser = new LiteWorkflowAppParser(null, - LiteWorkflowStoreService.LiteControlNodeHandler.class, - LiteWorkflowStoreService.LiteDecisionHandler.class, - LiteWorkflowStoreService.LiteActionHandler.class); + LiteWorkflowAppParser parser = newLiteWorkflowAppParser(); LiteWorkflowApp def = new LiteWorkflowApp("name", "def", new StartNodeDef(LiteWorkflowStoreService.LiteControlNodeHandler.class, "one")) .addNode(new ActionNodeDef("one", dummyConf, TestActionNodeHandler.class, "f","end")) @@ -1363,10 +1243,7 @@ public class TestLiteWorkflowAppParser extends XTestCase { * j2->end */ public void testDecisionMultipleForks() throws WorkflowException{ - LiteWorkflowAppParser parser = new LiteWorkflowAppParser(null, - LiteWorkflowStoreService.LiteControlNodeHandler.class, - LiteWorkflowStoreService.LiteDecisionHandler.class, - LiteWorkflowStoreService.LiteActionHandler.class); + LiteWorkflowAppParser parser = newLiteWorkflowAppParser(); LiteWorkflowApp def = new LiteWorkflowApp("name", "def", new StartNodeDef(LiteWorkflowStoreService.LiteControlNodeHandler.class, "one")) .addNode(new DecisionNodeDef("one", dummyConf, TestDecisionNodeHandler.class, @@ -1403,10 +1280,7 @@ public class TestLiteWorkflowAppParser extends XTestCase { * f2->k,k */ public void testForkJoinMismatch() throws WorkflowException { - LiteWorkflowAppParser parser = new LiteWorkflowAppParser(null, - LiteWorkflowStoreService.LiteControlNodeHandler.class, - LiteWorkflowStoreService.LiteDecisionHandler.class, - LiteWorkflowStoreService.LiteActionHandler.class); + LiteWorkflowAppParser parser = newLiteWorkflowAppParser(); LiteWorkflowApp def = new LiteWorkflowApp("name", "def", new StartNodeDef(LiteWorkflowStoreService.LiteControlNodeHandler.class, "f")) .addNode(new ForkNodeDef("f", LiteWorkflowStoreService.LiteControlNodeHandler.class, @@ -1438,10 +1312,7 @@ public class TestLiteWorkflowAppParser extends XTestCase { * j->end */ public void testForkJoinDuplicateTransitionsFromFork() throws WorkflowException { - LiteWorkflowAppParser parser = new LiteWorkflowAppParser(null, - LiteWorkflowStoreService.LiteControlNodeHandler.class, - LiteWorkflowStoreService.LiteDecisionHandler.class, - LiteWorkflowStoreService.LiteActionHandler.class); + LiteWorkflowAppParser parser = newLiteWorkflowAppParser(); LiteWorkflowApp def = new LiteWorkflowApp("name", "def", new StartNodeDef(LiteWorkflowStoreService.LiteControlNodeHandler.class, "f")) .addNode(new ForkNodeDef("f", LiteWorkflowStoreService.LiteControlNodeHandler.class, @@ -1463,10 +1334,7 @@ public class TestLiteWorkflowAppParser extends XTestCase { @SuppressWarnings("deprecation") public void testForkJoinValidationTime() throws Exception { - final LiteWorkflowAppParser parser = new LiteWorkflowAppParser(null, - LiteWorkflowStoreService.LiteControlNodeHandler.class, - LiteWorkflowStoreService.LiteDecisionHandler.class, - LiteWorkflowStoreService.LiteActionHandler.class); + final LiteWorkflowAppParser parser = newLiteWorkflowAppParser(); final LiteWorkflowApp app = parser.validateAndParse(IOUtils.getResourceAsReader("wf-long.xml", -1), new Configuration()); @@ -1500,9 +1368,7 @@ public class TestLiteWorkflowAppParser extends XTestCase { } public void testMultipleErrorTransitions() throws WorkflowException, IOException { - LiteWorkflowAppParser parser = new LiteWorkflowAppParser(null, - LiteWorkflowStoreService.LiteControlNodeHandler.class, - LiteWorkflowStoreService.LiteDecisionHandler.class, LiteWorkflowStoreService.LiteActionHandler.class); + LiteWorkflowAppParser parser = newLiteWorkflowAppParser(); try { parser.validateAndParse(IOUtils.getResourceAsReader( "wf-multiple-error-parent.xml", -1), new Configuration()); @@ -1513,9 +1379,7 @@ public class TestLiteWorkflowAppParser extends XTestCase { } public void testOkToTransitionToKillTransitions() throws WorkflowException, IOException { - LiteWorkflowAppParser parser = new LiteWorkflowAppParser(null, - LiteWorkflowStoreService.LiteControlNodeHandler.class, - LiteWorkflowStoreService.LiteDecisionHandler.class, LiteWorkflowStoreService.LiteActionHandler.class); + LiteWorkflowAppParser parser = newLiteWorkflowAppParser(); try { parser.validateAndParse(IOUtils.getResourceAsReader( @@ -1588,10 +1452,7 @@ public class TestLiteWorkflowAppParser extends XTestCase { } public void testDisableWFValidateForkJoin() throws Exception { - LiteWorkflowAppParser parser = new LiteWorkflowAppParser(null, - LiteWorkflowStoreService.LiteControlNodeHandler.class, - LiteWorkflowStoreService.LiteDecisionHandler.class, - LiteWorkflowStoreService.LiteActionHandler.class); + LiteWorkflowAppParser parser = newLiteWorkflowAppParser(); // oozie level default, wf level default try { @@ -1660,9 +1521,7 @@ public class TestLiteWorkflowAppParser extends XTestCase { // Test parameterization of retry-max and retry-interval public void testParameterizationRetry() throws Exception { - LiteWorkflowAppParser parser = new LiteWorkflowAppParser(null, - LiteWorkflowStoreService.LiteControlNodeHandler.class, - LiteWorkflowStoreService.LiteDecisionHandler.class, LiteWorkflowStoreService.LiteActionHandler.class); + LiteWorkflowAppParser parser = newLiteWorkflowAppParser(); String wf = "<workflow-app xmlns=\"uri:oozie:workflow:0.5\" name=\"test\" > " + "<global> <job-tracker>localhost</job-tracker><name-node>localhost</name-node></global>" @@ -1677,6 +1536,86 @@ public class TestLiteWorkflowAppParser extends XTestCase { assertEquals(app.getNode("retry").getUserRetryInterval(), "10"); } + public void testWorkflowWithGlobalLevelResourceManager() throws Exception { + final LiteWorkflowAppParser parser = newLiteWorkflowAppParser(); + + final String wf = "<workflow-app xmlns=\"uri:oozie:workflow:1.0\" name=\"test\" > " + + "<global>" + + " <resource-manager>localhost</resource-manager>" + + " <name-node>localhost</name-node>" + + "</global>" + + "<start to=\"test\"/>" + + "<action name=\"test\">" + + " <java>" + + " <main-class>com.retry</main-class>" + + " </java>" + + " <ok to=\"end\"/>" + + " <error to=\"end\"/>" + + "</action>" + + "<end name=\"end\"/>" + + "</workflow-app>"; + + final Configuration conf = new Configuration(); + final LiteWorkflowApp app = parser.validateAndParse(new StringReader(wf), conf); + assertTrue(app.getNode("test").getConf().contains("resource-manager")); + } + + public void testWorkflowWithActionLevelResourceManager() throws Exception { + final LiteWorkflowAppParser parser = newLiteWorkflowAppParser(); + + final String wf = "<workflow-app xmlns=\"uri:oozie:workflow:1.0\" name=\"test\" > " + + "<start to=\"test\"/>" + + "<action name=\"test\">" + + " <java>" + + " <resource-manager>resourceManager</resource-manager>" + + " <name-node>localhost</name-node>" + + " <main-class>com.retry</main-class>" + + " </java>" + + " <ok to=\"end\"/>" + + " <error to=\"end\"/>" + + "</action>" + + "<end name=\"end\"/>" + + "</workflow-app>"; + + final Configuration conf = new Configuration(); + final LiteWorkflowApp app = parser.validateAndParse(new StringReader(wf), conf); + assertTrue(app.getNode("test").getConf().contains("resource-manager")); + } + + public void testWorkflowWithGlobalLevelResourceManagerAndActionLevelJobTracker() throws Exception { + final LiteWorkflowAppParser parser = newLiteWorkflowAppParser(); + + final String wf = "<workflow-app xmlns=\"uri:oozie:workflow:1.0\" name=\"test\" > " + + "<global>" + + " <resource-manager>jobtracker</resource-manager>" + + " <name-node>localhost</name-node>" + + "</global>" + + "<start to=\"test\"/>" + + "<action name=\"test\">" + + " <java>" + + " <job-tracker>localhost</job-tracker>" + + " <name-node>localhost</name-node>" + + " <main-class>com.retry</main-class>" + + " </java>" + + " <ok to=\"end\"/>" + + " <error to=\"end\"/>" + + "</action>" + + "<end name=\"end\"/>" + + "</workflow-app>"; + + final Configuration conf = new Configuration(); + final LiteWorkflowApp app = parser.validateAndParse(new StringReader(wf), conf); + final XConfiguration actualActionConfig = extractConfig(app, "test"); + + assertTrue(app.getNode("test").getConf().contains("job-tracker")); + } + + private LiteWorkflowAppParser newLiteWorkflowAppParser() throws WorkflowException { + return new LiteWorkflowAppParser(null, + LiteWorkflowStoreService.LiteControlNodeHandler.class, + LiteWorkflowStoreService.LiteDecisionHandler.class, LiteWorkflowStoreService.LiteActionHandler.class); + } + private XConfiguration extractConfig(LiteWorkflowApp app, String actionNode) throws Exception { String confXML = app.getNode(actionNode).getConf(); Element confElement = XmlUtils.parseXml(confXML); http://git-wip-us.apache.org/repos/asf/oozie/blob/da8e5b51/examples/src/main/apps/aggregator/coordinator-with-offset.xml ---------------------------------------------------------------------- diff --git a/examples/src/main/apps/aggregator/coordinator-with-offset.xml b/examples/src/main/apps/aggregator/coordinator-with-offset.xml index 4c35167..710d0a9 100644 --- a/examples/src/main/apps/aggregator/coordinator-with-offset.xml +++ b/examples/src/main/apps/aggregator/coordinator-with-offset.xml @@ -51,8 +51,8 @@ <app-path>${nameNode}/user/${coord:user()}/${examplesRoot}/apps/aggregator</app-path> <configuration> <property> - <name>jobTracker</name> - <value>${jobTracker}</value> + <name>resourceManager</name> + <value>${resourceManager}</value> </property> <property> <name>nameNode</name> http://git-wip-us.apache.org/repos/asf/oozie/blob/da8e5b51/examples/src/main/apps/aggregator/coordinator.xml ---------------------------------------------------------------------- diff --git a/examples/src/main/apps/aggregator/coordinator.xml b/examples/src/main/apps/aggregator/coordinator.xml index 948edc1..7d48d91 100644 --- a/examples/src/main/apps/aggregator/coordinator.xml +++ b/examples/src/main/apps/aggregator/coordinator.xml @@ -48,8 +48,8 @@ <app-path>${nameNode}/user/${coord:user()}/${examplesRoot}/apps/aggregator</app-path> <configuration> <property> - <name>jobTracker</name> - <value>${jobTracker}</value> + <name>resourceManager</name> + <value>${resourceManager}</value> </property> <property> <name>nameNode</name> http://git-wip-us.apache.org/repos/asf/oozie/blob/da8e5b51/examples/src/main/apps/aggregator/job-with-offset.properties ---------------------------------------------------------------------- diff --git a/examples/src/main/apps/aggregator/job-with-offset.properties b/examples/src/main/apps/aggregator/job-with-offset.properties index 9a28ae1..ea4857d 100644 --- a/examples/src/main/apps/aggregator/job-with-offset.properties +++ b/examples/src/main/apps/aggregator/job-with-offset.properties @@ -17,7 +17,7 @@ # nameNode=hdfs://localhost:8020 -jobTracker=localhost:8021 +resourceManager=localhost:8021 queueName=default examplesRoot=examples http://git-wip-us.apache.org/repos/asf/oozie/blob/da8e5b51/examples/src/main/apps/aggregator/job.properties ---------------------------------------------------------------------- diff --git a/examples/src/main/apps/aggregator/job.properties b/examples/src/main/apps/aggregator/job.properties index aaf4edf..8589484 100644 --- a/examples/src/main/apps/aggregator/job.properties +++ b/examples/src/main/apps/aggregator/job.properties @@ -17,7 +17,7 @@ # nameNode=hdfs://localhost:8020 -jobTracker=localhost:8021 +resourceManager=localhost:8032 queueName=default examplesRoot=examples http://git-wip-us.apache.org/repos/asf/oozie/blob/da8e5b51/examples/src/main/apps/aggregator/workflow.xml ---------------------------------------------------------------------- diff --git a/examples/src/main/apps/aggregator/workflow.xml b/examples/src/main/apps/aggregator/workflow.xml index 4a80109..5de4a21 100644 --- a/examples/src/main/apps/aggregator/workflow.xml +++ b/examples/src/main/apps/aggregator/workflow.xml @@ -15,11 +15,11 @@ See the License for the specific language governing permissions and limitations under the License. --> -<workflow-app xmlns="uri:oozie:workflow:0.2" name="aggregator-wf"> +<workflow-app xmlns="uri:oozie:workflow:1.0" name="aggregator-wf"> <start to="aggregator"/> <action name="aggregator"> <map-reduce> - <job-tracker>${jobTracker}</job-tracker> + <resource-manager>${resourceManager}</resource-manager> <name-node>${nameNode}</name-node> <prepare> <delete path="${outputData}"/> http://git-wip-us.apache.org/repos/asf/oozie/blob/da8e5b51/examples/src/main/apps/bundle/job.properties ---------------------------------------------------------------------- diff --git a/examples/src/main/apps/bundle/job.properties b/examples/src/main/apps/bundle/job.properties index c06edeb..b5db5a7 100644 --- a/examples/src/main/apps/bundle/job.properties +++ b/examples/src/main/apps/bundle/job.properties @@ -18,7 +18,7 @@ oozie.bundle.application.path=${nameNode}/user/${user.name}/${examplesRoot}/apps/bundle nameNode=hdfs://localhost:8020 -jobTracker=localhost:8021 +resourceManager=localhost:8032 queueName=default outputDir=bundle examplesRoot=examples http://git-wip-us.apache.org/repos/asf/oozie/blob/da8e5b51/examples/src/main/apps/coord-input-logic/job.properties ---------------------------------------------------------------------- diff --git a/examples/src/main/apps/coord-input-logic/job.properties b/examples/src/main/apps/coord-input-logic/job.properties index 2cd137b..d62fbc8 100644 --- a/examples/src/main/apps/coord-input-logic/job.properties +++ b/examples/src/main/apps/coord-input-logic/job.properties @@ -17,7 +17,7 @@ # nameNode=hdfs://localhost:9000 -jobTracker=localhost:9001 +resourceManager=localhost:9001 queueName=default examplesRoot=examples oozie.coord.application.path=${nameNode}/user/${user.name}/${examplesRoot}/apps/coord-input-logic/coordinator.xml http://git-wip-us.apache.org/repos/asf/oozie/blob/da8e5b51/examples/src/main/apps/coord-input-logic/workflow.xml ---------------------------------------------------------------------- diff --git a/examples/src/main/apps/coord-input-logic/workflow.xml b/examples/src/main/apps/coord-input-logic/workflow.xml index 80d3145..b72b1ff 100644 --- a/examples/src/main/apps/coord-input-logic/workflow.xml +++ b/examples/src/main/apps/coord-input-logic/workflow.xml @@ -15,11 +15,11 @@ See the License for the specific language governing permissions and limitations under the License. --> -<workflow-app xmlns="uri:oozie:workflow:0.2" name="coord-input-logic-wf"> +<workflow-app xmlns="uri:oozie:workflow:1.0" name="coord-input-logic-wf"> <start to="aggregator"/> <action name="aggregator"> <map-reduce> - <job-tracker>${jobTracker}</job-tracker> + <resource-manager>${resourceManager}</resource-manager> <name-node>${nameNode}</name-node> <prepare> <delete path="${outputData}"/> http://git-wip-us.apache.org/repos/asf/oozie/blob/da8e5b51/examples/src/main/apps/cron-schedule/coordinator.xml ---------------------------------------------------------------------- diff --git a/examples/src/main/apps/cron-schedule/coordinator.xml b/examples/src/main/apps/cron-schedule/coordinator.xml index 48a7de7..4c4d5b4 100644 --- a/examples/src/main/apps/cron-schedule/coordinator.xml +++ b/examples/src/main/apps/cron-schedule/coordinator.xml @@ -22,8 +22,8 @@ <app-path>${workflowAppUri}</app-path> <configuration> <property> - <name>jobTracker</name> - <value>${jobTracker}</value> + <name>resourceManager</name> + <value>${resourceManager}</value> </property> <property> <name>nameNode</name> http://git-wip-us.apache.org/repos/asf/oozie/blob/da8e5b51/examples/src/main/apps/cron-schedule/job.properties ---------------------------------------------------------------------- diff --git a/examples/src/main/apps/cron-schedule/job.properties b/examples/src/main/apps/cron-schedule/job.properties index 5b5eb43..a2b8d13 100644 --- a/examples/src/main/apps/cron-schedule/job.properties +++ b/examples/src/main/apps/cron-schedule/job.properties @@ -17,7 +17,7 @@ # nameNode=hdfs://localhost:8020 -jobTracker=localhost:8021 +resourceManager=localhost:8032 queueName=default examplesRoot=examples http://git-wip-us.apache.org/repos/asf/oozie/blob/da8e5b51/examples/src/main/apps/cron-schedule/workflow.xml ---------------------------------------------------------------------- diff --git a/examples/src/main/apps/cron-schedule/workflow.xml b/examples/src/main/apps/cron-schedule/workflow.xml index b53922c..f7787d1 100644 --- a/examples/src/main/apps/cron-schedule/workflow.xml +++ b/examples/src/main/apps/cron-schedule/workflow.xml @@ -15,7 +15,7 @@ See the License for the specific language governing permissions and limitations under the License. --> -<workflow-app xmlns="uri:oozie:workflow:0.2" name="no-op-wf"> +<workflow-app xmlns="uri:oozie:workflow:1.0" name="no-op-wf"> <start to="end"/> <end name="end"/> </workflow-app> http://git-wip-us.apache.org/repos/asf/oozie/blob/da8e5b51/examples/src/main/apps/cron/coordinator.xml ---------------------------------------------------------------------- diff --git a/examples/src/main/apps/cron/coordinator.xml b/examples/src/main/apps/cron/coordinator.xml index 744d14e..3e3cdd0 100644 --- a/examples/src/main/apps/cron/coordinator.xml +++ b/examples/src/main/apps/cron/coordinator.xml @@ -22,8 +22,8 @@ <app-path>${workflowAppUri}</app-path> <configuration> <property> - <name>jobTracker</name> - <value>${jobTracker}</value> + <name>resourceManager</name> + <value>${resourceManager}</value> </property> <property> <name>nameNode</name> http://git-wip-us.apache.org/repos/asf/oozie/blob/da8e5b51/examples/src/main/apps/cron/job.properties ---------------------------------------------------------------------- diff --git a/examples/src/main/apps/cron/job.properties b/examples/src/main/apps/cron/job.properties index 42875fd..696818b 100644 --- a/examples/src/main/apps/cron/job.properties +++ b/examples/src/main/apps/cron/job.properties @@ -17,7 +17,7 @@ # nameNode=hdfs://localhost:8020 -jobTracker=localhost:8021 +resourceManager=localhost:8032 queueName=default examplesRoot=examples http://git-wip-us.apache.org/repos/asf/oozie/blob/da8e5b51/examples/src/main/apps/cron/workflow.xml ---------------------------------------------------------------------- diff --git a/examples/src/main/apps/cron/workflow.xml b/examples/src/main/apps/cron/workflow.xml index 63dff97..3730fef 100644 --- a/examples/src/main/apps/cron/workflow.xml +++ b/examples/src/main/apps/cron/workflow.xml @@ -15,7 +15,7 @@ See the License for the specific language governing permissions and limitations under the License. --> -<workflow-app xmlns="uri:oozie:workflow:0.5" name="one-op-wf"> +<workflow-app xmlns="uri:oozie:workflow:1.0" name="one-op-wf"> <start to="action1"/> <action name="action1"> <fs/> http://git-wip-us.apache.org/repos/asf/oozie/blob/da8e5b51/examples/src/main/apps/custom-main/job.properties ---------------------------------------------------------------------- diff --git a/examples/src/main/apps/custom-main/job.properties b/examples/src/main/apps/custom-main/job.properties index b897512..75c647d 100644 --- a/examples/src/main/apps/custom-main/job.properties +++ b/examples/src/main/apps/custom-main/job.properties @@ -17,7 +17,7 @@ # nameNode=hdfs://localhost:8020 -jobTracker=localhost:8021 +resourceManager=localhost:8032 queueName=default examplesRoot=examples http://git-wip-us.apache.org/repos/asf/oozie/blob/da8e5b51/examples/src/main/apps/custom-main/workflow.xml ---------------------------------------------------------------------- diff --git a/examples/src/main/apps/custom-main/workflow.xml b/examples/src/main/apps/custom-main/workflow.xml index 828dfaa..0f67c7c 100644 --- a/examples/src/main/apps/custom-main/workflow.xml +++ b/examples/src/main/apps/custom-main/workflow.xml @@ -15,11 +15,11 @@ See the License for the specific language governing permissions and limitations under the License. --> -<workflow-app xmlns="uri:oozie:workflow:0.2" name="custom-main-wf"> +<workflow-app xmlns="uri:oozie:workflow:1.0" name="custom-main-wf"> <start to="mr-node"/> <action name="mr-node"> <map-reduce> - <job-tracker>${jobTracker}</job-tracker> + <resource-manager>${resourceManager}</resource-manager> <name-node>${nameNode}</name-node> <prepare> <delete path="${nameNode}/user/${wf:user()}/${examplesRoot}/output-data/custom-main/mr-node"/> @@ -72,7 +72,7 @@ <action name="pig-node"> <pig> - <job-tracker>${jobTracker}</job-tracker> + <resource-manager>${resourceManager}</resource-manager> <name-node>${nameNode}</name-node> <prepare> <delete path="${nameNode}/user/${wf:user()}/${examplesRoot}/output-data/custom-main/pig-node"/> http://git-wip-us.apache.org/repos/asf/oozie/blob/da8e5b51/examples/src/main/apps/datelist-java-main/job.properties ---------------------------------------------------------------------- diff --git a/examples/src/main/apps/datelist-java-main/job.properties b/examples/src/main/apps/datelist-java-main/job.properties index e8356e3..2bdf216 100644 --- a/examples/src/main/apps/datelist-java-main/job.properties +++ b/examples/src/main/apps/datelist-java-main/job.properties @@ -16,7 +16,7 @@ # limitations under the License. # -jobTracker=localhost:8021 +resourceManager=localhost:8032 nameNode=hdfs://localhost:8020 queueName=default START=2009-02-01T01:00Z http://git-wip-us.apache.org/repos/asf/oozie/blob/da8e5b51/examples/src/main/apps/datelist-java-main/workflow.xml ---------------------------------------------------------------------- diff --git a/examples/src/main/apps/datelist-java-main/workflow.xml b/examples/src/main/apps/datelist-java-main/workflow.xml index b59a12e..d5eb528 100644 --- a/examples/src/main/apps/datelist-java-main/workflow.xml +++ b/examples/src/main/apps/datelist-java-main/workflow.xml @@ -15,11 +15,11 @@ See the License for the specific language governing permissions and limitations under the License. --> -<workflow-app xmlns='uri:oozie:workflow:0.2' name='datelist-java-main-wf'> +<workflow-app xmlns='uri:oozie:workflow:1.0' name='datelist-java-main-wf'> <start to='java1' /> <action name='java1'> <java> - <job-tracker>${jobTracker}</job-tracker> + <resource-manager>${resourceManager}</resource-manager> <name-node>${nameNode}</name-node> <configuration> <property> http://git-wip-us.apache.org/repos/asf/oozie/blob/da8e5b51/examples/src/main/apps/demo/job.properties ---------------------------------------------------------------------- diff --git a/examples/src/main/apps/demo/job.properties b/examples/src/main/apps/demo/job.properties index d70d320..a590d28 100644 --- a/examples/src/main/apps/demo/job.properties +++ b/examples/src/main/apps/demo/job.properties @@ -17,7 +17,7 @@ # nameNode=hdfs://localhost:8020 -jobTracker=localhost:8021 +resourceManager=localhost:8032 queueName=default examplesRoot=examples streamingMapper=/bin/cat http://git-wip-us.apache.org/repos/asf/oozie/blob/da8e5b51/examples/src/main/apps/demo/job.windows.properties ---------------------------------------------------------------------- diff --git a/examples/src/main/apps/demo/job.windows.properties b/examples/src/main/apps/demo/job.windows.properties index ea948b2..1b96bda 100644 --- a/examples/src/main/apps/demo/job.windows.properties +++ b/examples/src/main/apps/demo/job.windows.properties @@ -17,7 +17,7 @@ # nameNode=hdfs://localhost:8020 -jobTracker=localhost:8021 +resourceManager=localhost:8021 queueName=default examplesRoot=examples streamingMapper=powershell -command "$input | Write-Host" http://git-wip-us.apache.org/repos/asf/oozie/blob/da8e5b51/examples/src/main/apps/demo/workflow.xml ---------------------------------------------------------------------- diff --git a/examples/src/main/apps/demo/workflow.xml b/examples/src/main/apps/demo/workflow.xml index 0ceca50..3fd9d1b 100644 --- a/examples/src/main/apps/demo/workflow.xml +++ b/examples/src/main/apps/demo/workflow.xml @@ -15,7 +15,7 @@ See the License for the specific language governing permissions and limitations under the License. --> -<workflow-app xmlns="uri:oozie:workflow:0.2" name="demo-wf"> +<workflow-app xmlns="uri:oozie:workflow:1.0" name="demo-wf"> <start to="cleanup-node"/> @@ -34,7 +34,7 @@ <action name="pig-node"> <pig> - <job-tracker>${jobTracker}</job-tracker> + <resource-manager>${resourceManager}</resource-manager> <name-node>${nameNode}</name-node> <prepare> <delete path="${nameNode}/user/${wf:user()}/${examplesRoot}/output-data/demo/pig-node"/> @@ -59,7 +59,7 @@ <action name="streaming-node"> <map-reduce> - <job-tracker>${jobTracker}</job-tracker> + <resource-manager>${resourceManager}</resource-manager> <name-node>${nameNode}</name-node> <prepare> <delete path="${nameNode}/user/${wf:user()}/${examplesRoot}/output-data/demo/streaming-node"/> @@ -93,7 +93,7 @@ <action name="mr-node"> <map-reduce> - <job-tracker>${jobTracker}</job-tracker> + <resource-manager>${resourceManager}</resource-manager> <name-node>${nameNode}</name-node> <prepare> <delete path="${nameNode}/user/${wf:user()}/${examplesRoot}/output-data/demo/mr-node"/> http://git-wip-us.apache.org/repos/asf/oozie/blob/da8e5b51/examples/src/main/apps/distcp/job.properties ---------------------------------------------------------------------- diff --git a/examples/src/main/apps/distcp/job.properties b/examples/src/main/apps/distcp/job.properties index ec9422c..0bc6ded 100644 --- a/examples/src/main/apps/distcp/job.properties +++ b/examples/src/main/apps/distcp/job.properties @@ -17,7 +17,7 @@ # nameNode=hdfs://localhost:8020 -jobTracker=localhost:8021 +resourceManager=localhost:8032 queueName=default examplesRoot=examples http://git-wip-us.apache.org/repos/asf/oozie/blob/da8e5b51/examples/src/main/apps/distcp/workflow.xml ---------------------------------------------------------------------- diff --git a/examples/src/main/apps/distcp/workflow.xml b/examples/src/main/apps/distcp/workflow.xml index 6deecb3..d957e3b 100644 --- a/examples/src/main/apps/distcp/workflow.xml +++ b/examples/src/main/apps/distcp/workflow.xml @@ -15,11 +15,11 @@ See the License for the specific language governing permissions and limitations under the License. --> -<workflow-app xmlns="uri:oozie:workflow:0.3" name="distcp-wf"> +<workflow-app xmlns="uri:oozie:workflow:1.0" name="distcp-wf"> <start to="distcp-node"/> <action name="distcp-node"> - <distcp xmlns="uri:oozie:distcp-action:0.1"> - <job-tracker>${jobTracker}</job-tracker> + <distcp xmlns="uri:oozie:distcp-action:1.0"> + <resource-manager>${resourceManager}</resource-manager> <name-node>${nameNode}</name-node> <prepare> <delete path="${nameNode}/user/${wf:user()}/${examplesRoot}/output-data/${outputDir}"/> http://git-wip-us.apache.org/repos/asf/oozie/blob/da8e5b51/examples/src/main/apps/hadoop-el/job.properties ---------------------------------------------------------------------- diff --git a/examples/src/main/apps/hadoop-el/job.properties b/examples/src/main/apps/hadoop-el/job.properties index 1d13c27..961ed6c 100644 --- a/examples/src/main/apps/hadoop-el/job.properties +++ b/examples/src/main/apps/hadoop-el/job.properties @@ -17,7 +17,7 @@ # nameNode=hdfs://localhost:8020 -jobTracker=localhost:8021 +resourceManager=localhost:8032 queueName=default examplesRoot=examples http://git-wip-us.apache.org/repos/asf/oozie/blob/da8e5b51/examples/src/main/apps/hadoop-el/workflow.xml ---------------------------------------------------------------------- diff --git a/examples/src/main/apps/hadoop-el/workflow.xml b/examples/src/main/apps/hadoop-el/workflow.xml index d4094d4..8852bfb 100644 --- a/examples/src/main/apps/hadoop-el/workflow.xml +++ b/examples/src/main/apps/hadoop-el/workflow.xml @@ -15,11 +15,11 @@ See the License for the specific language governing permissions and limitations under the License. --> -<workflow-app xmlns="uri:oozie:workflow:0.2" name="hadoop-el-wf"> +<workflow-app xmlns="uri:oozie:workflow:1.0" name="hadoop-el-wf"> <start to="mr-node"/> <action name="mr-node"> <map-reduce> - <job-tracker>${jobTracker}</job-tracker> + <resource-manager>${resourceManager}</resource-manager> <name-node>${nameNode}</name-node> <prepare> <delete path="${nameNode}/user/${wf:user()}/${examplesRoot}/output-data/hadoop-el"/> http://git-wip-us.apache.org/repos/asf/oozie/blob/da8e5b51/examples/src/main/apps/hcatalog/job.properties ---------------------------------------------------------------------- diff --git a/examples/src/main/apps/hcatalog/job.properties b/examples/src/main/apps/hcatalog/job.properties index e0aa18c..1ded953 100644 --- a/examples/src/main/apps/hcatalog/job.properties +++ b/examples/src/main/apps/hcatalog/job.properties @@ -17,7 +17,7 @@ # nameNode=hdfs://localhost:8020 -jobTracker=localhost:8021 +resourceManager=localhost:8032 queueName=default examplesRoot=examples oozie.use.system.libpath=true http://git-wip-us.apache.org/repos/asf/oozie/blob/da8e5b51/examples/src/main/apps/hcatalog/job.properties.security ---------------------------------------------------------------------- diff --git a/examples/src/main/apps/hcatalog/job.properties.security b/examples/src/main/apps/hcatalog/job.properties.security index 2fbcc6e..d1c59c3 100644 --- a/examples/src/main/apps/hcatalog/job.properties.security +++ b/examples/src/main/apps/hcatalog/job.properties.security @@ -17,7 +17,7 @@ # nameNode=hdfs://localhost:8020 -jobTracker=localhost:8021 +resourceManager=localhost:8021 queueName=default examplesRoot=examples oozie.use.system.libpath=true http://git-wip-us.apache.org/repos/asf/oozie/blob/da8e5b51/examples/src/main/apps/hcatalog/workflow.xml ---------------------------------------------------------------------- diff --git a/examples/src/main/apps/hcatalog/workflow.xml b/examples/src/main/apps/hcatalog/workflow.xml index d6593df..fa832f9 100644 --- a/examples/src/main/apps/hcatalog/workflow.xml +++ b/examples/src/main/apps/hcatalog/workflow.xml @@ -15,11 +15,11 @@ See the License for the specific language governing permissions and limitations under the License. --> -<workflow-app xmlns="uri:oozie:workflow:0.5" name="pig-wf"> +<workflow-app xmlns="uri:oozie:workflow:1.0" name="pig-wf"> <start to="pig-node"/> <action name="pig-node"> <pig> - <job-tracker>${jobTracker}</job-tracker> + <resource-manager>${resourceManager}</resource-manager> <name-node>${nameNode}</name-node> <configuration> <property> http://git-wip-us.apache.org/repos/asf/oozie/blob/da8e5b51/examples/src/main/apps/hcatalog/workflow.xml.security ---------------------------------------------------------------------- diff --git a/examples/src/main/apps/hcatalog/workflow.xml.security b/examples/src/main/apps/hcatalog/workflow.xml.security index aa3522a..d07bf92 100644 --- a/examples/src/main/apps/hcatalog/workflow.xml.security +++ b/examples/src/main/apps/hcatalog/workflow.xml.security @@ -15,7 +15,7 @@ See the License for the specific language governing permissions and limitations under the License. --> -<workflow-app xmlns="uri:oozie:workflow:0.5" name="pig-wf"> +<workflow-app xmlns="uri:oozie:workflow:1.0" name="pig-wf"> <credentials> <credential name='hcatauth' type='hcat'> <property> @@ -31,7 +31,7 @@ <start to="pig-node"/> <action name="pig-node" cred="hcatauth"> <pig> - <job-tracker>${jobTracker}</job-tracker> + <resource-manager>${resourceManager}</resource-manager> <name-node>${nameNode}</name-node> <configuration> <property> http://git-wip-us.apache.org/repos/asf/oozie/blob/da8e5b51/examples/src/main/apps/hive/job.properties ---------------------------------------------------------------------- diff --git a/examples/src/main/apps/hive/job.properties b/examples/src/main/apps/hive/job.properties index dbc7ad2..6b3194a 100644 --- a/examples/src/main/apps/hive/job.properties +++ b/examples/src/main/apps/hive/job.properties @@ -16,7 +16,7 @@ # limitations under the License. # nameNode=hdfs://localhost:8020 -jobTracker=localhost:8021 +resourceManager=localhost:8032 queueName=default examplesRoot=examples