> On March 27, 2018, 1:02 a.m., Robert Kanter wrote: > > client/src/main/java/org/apache/oozie/cli/ApiJarFactory.java > > Lines 41 (patched) > > <https://reviews.apache.org/r/64029/diff/5/?file=1983722#file1983722line41> > > > > Looks like this is used only by unit tests. If so, then perhaps this > > should be moved to a test package and made package private? I just want to > > make sure users won't start trying to use this class when they shouldn't be.
Moved to the same package, and set class and constructor package-private. > On March 27, 2018, 1:02 a.m., Robert Kanter wrote: > > client/src/main/java/org/apache/oozie/cli/WorkflowFactoryCompiler.java > > Lines 36 (patched) > > <https://reviews.apache.org/r/64029/diff/5/?file=1983725#file1983725line36> > > > > Again, if this is for unit tests, we should move it to a different test > > and limit its scope if possible. Moved to the same package, and set class and constructor package-private. > On March 27, 2018, 1:02 a.m., Robert Kanter wrote: > > client/src/main/java/org/apache/oozie/cli/WorkflowFactoryCompiler.java > > Lines 65 (patched) > > <https://reviews.apache.org/r/64029/diff/5/?file=1983725#file1983725line65> > > > > Let's not turn this into Hadoop :) > > > > If this isn't working, it looks like the fileManager can be used to do > > something equivalent and you can throw away the ````options````. Take a > > look at the second answer on the StackOverflow. Refactored / rewritten `TestOozieCLI#createWorkflowApiJar()` to use `Class#getProtectionDomain().getCodeSource().getLocation()` instead for both JAR based (Maven) and class file based (IDE) executions. WorkflowFactoryCompiler has been deleted. > On March 27, 2018, 1:02 a.m., Robert Kanter wrote: > > core/src/main/java/org/apache/oozie/BaseLocalOozieClient.java > > Lines 558-559 (original), 559-568 (patched) > > <https://reviews.apache.org/r/64029/diff/5/?file=1983727#file1983727line559> > > > > Doesn't this change the V0 and V1 APIs? No, it's only used from inside `OozieCLI#checkApiJar()`, `OozieCLI#validateCommand()`, and from one test case. > On March 27, 2018, 1:02 a.m., Robert Kanter wrote: > > docs/src/site/twiki/DG_CommandLineTool.twiki > > Lines 1095 (patched) > > <https://reviews.apache.org/r/64029/diff/5/?file=1983738#file1983738line1095> > > > > ````queueName```` is a custom user-defined property, isn't it? Just > > like ````nameNode```` and ````JobTracker````. Does the Jobs API always > > require these three properties? While commonly used (because users often > > copy the examples where these are used), they're not officially standard. Being more clear on that subject. There can be `job.properties` when submitting / running an API JAR workflow, or that can be omitted - in that case, every parameter the user defined has to be supplied at the command line. > On March 27, 2018, 1:02 a.m., Robert Kanter wrote: > > docs/src/site/twiki/DG_JobsAPI.twiki > > Lines 37 (patched) > > <https://reviews.apache.org/r/64029/diff/5/?file=1983739#file1983739line37> > > > > Does the Jobs API not enforce this? Extended with more details on how Fluent Job API handles that case. > On March 27, 2018, 1:02 a.m., Robert Kanter wrote: > > docs/src/site/twiki/DG_JobsAPI.twiki > > Lines 61 (patched) > > <https://reviews.apache.org/r/64029/diff/5/?file=1983739#file1983739line61> > > > > How does this work for backwards compatibility? i.e. If I generate a > > jar using wf schema 1.0 and then upgrade Oozie which includes a 1.1 schema, > > is my jar no longer accepted by Oozie? Do I need to recompile? Is it > > possible that the API has changed and it won't compile anymore? > > > > We should make sure to have a good story around backwards > > compatibility. I think it's reasonable to only _generate_ jars using the > > latest schema, but we should at least accept older jars, ideally without > > recompiling. When new schemas are introduced to Oozie, old Fluent Job API JARs as well as old workflow.xml definitions keep of course working. For the time being I would ship this feature without any more guarantees on backward compatibility - the patch is way too huge to deal with anyways. We can consider something like having guest-facing API packages versioned like `org.apache.oozie.fluentjob.api.v1.workflow` to maintain binary compatibility to older XSDs and be able to innovate effortless later. What do you think? > On March 27, 2018, 1:02 a.m., Robert Kanter wrote: > > docs/src/site/twiki/DG_JobsAPI.twiki > > Lines 162 (patched) > > <https://reviews.apache.org/r/64029/diff/5/?file=1983739#file1983739line162> > > > > I like these examples - I think they're good for showing the new API. > > > > It would be great if we could add some examples to the examples module > > so users could more easily play with it. As you know, many users copy our > > example XML workflows as a starting place, so it would be good to provide > > some Java ones too. This can be done as a followup JIRA: please file one. Created three examples in `org.apache.oozie.example.fluentjob` package. > On March 27, 2018, 1:02 a.m., Robert Kanter wrote: > > jobs/jobs-api/pom.xml > > Lines 111-120 (patched) > > <https://reviews.apache.org/r/64029/diff/5/?file=1983740#file1983740line111> > > > > It's unfortunate that we have to keep this manually :( > > > > I hope we don't forget to update this when adding new schema versions. > > Perhaps there's some way to write a unit test that would fail if a > > developer added a newer schema version and didn't update this? That would > > prevent this issue. Yes, we have to maintain that stuff manually. Writing a piece of documentation about how to extend new schema versions and maintain backwards compatibility. This is achieved by extending this `pom.xml` and `xjb/bindings.xml` for the new schema versions, and for the new Fluent API JAR generated packages. I'm thinking of having `org.apache.oozie.fluentjob.api.v1.generated` as a root package for all 1.0 XSDs listed in `xjb/bindings.xml`, and used elsewhere. What do you think? > On March 27, 2018, 1:02 a.m., Robert Kanter wrote: > > jobs/jobs-api/src/main/java/org/apache/oozie/jobs/api/action/ActionAttributes.java > > Lines 29 (patched) > > <https://reviews.apache.org/r/64029/diff/5/?file=1983744#file1983744line29> > > > > Now that we're on Yarn, we should rename all ````jobTracker```` and > > similar to ````resourceManager```` and similar. The earlier version of the > > schemas the Jobs API is supporting is 1.0 (and friends), which all allow > > for ````<resource-manager>```` so we should use that and just never even > > start with anything Job Tracker. The generated XML should also use > > ````<resource-manager>```` only too. There's both `<job-tracker>` and `<resource-manager>` within `oozie-workflow-1.0.xsd`, and therefore there's both `ActionAttributes#jobTracker` and `ActionAttributes#resourceManager`. I'd leave the API like it is, only removing `jobTracker` calls when they are already gone from XSDs. Marking as `@Deprecated`, though, and substituting `Builder#withJobTracker()` calls w/ `Builder#withResourceManager()` ones both in code, examples, and documentation. > On March 27, 2018, 1:02 a.m., Robert Kanter wrote: > > jobs/jobs-api/src/main/java/org/apache/oozie/jobs/api/action/ErrorHandler.java > > Lines 23-34 (patched) > > <https://reviews.apache.org/r/64029/diff/5/?file=1983758#file1983758line23> > > > > It would be good to add info about this to the twiki docs. It's a > > common pattern to have an email action from an error transition before > > hitting a kill node. Adding an example of that in the twiki docs would be > > great too :) Added into all examples, and update docs with these details of having an `EmailAction` as `ErrorHandler`. > On March 27, 2018, 1:02 a.m., Robert Kanter wrote: > > jobs/jobs-api/src/main/java/org/apache/oozie/jobs/api/factory/SimpleWorkflowFactory.java > > Lines 34 (patched) > > <https://reviews.apache.org/r/64029/diff/5/?file=1983795#file1983795line34> > > > > I think this should either be in the test archive/package and/or in the > > example artifact. Moved `SimpleWorkflowFactory` and `MultipleShellNodesWorkflowFactory` to the `test-jar` artifact of `oozie-fluent-job-api`, and using that in `oozie-core`. Also introduced `SimpleWorkflowFactory` as an example. > On March 27, 2018, 1:02 a.m., Robert Kanter wrote: > > jobs/jobs-api/src/main/java/org/apache/oozie/jobs/api/oozie/dag/Decision.java > > Lines 32 (patched) > > <https://reviews.apache.org/r/64029/diff/5/?file=1983835#file1983835line32> > > > > Should we make this, and other nodes that the user shouldn't need to > > use, private (or at least package-private the constructor)? Because the `? extends DozerConverter` classes are in other packages, we cannot. I think it's enough to have documented how to use the API, and that most of these value object classes are not easily modified apart from `Builder` instances. > On March 27, 2018, 1:02 a.m., Robert Kanter wrote: > > jobs/jobs-client/src/test/java/org/apache/oozie/jobs/client/examples/TestJavaMainExample.java > > Lines 35 (patched) > > <https://reviews.apache.org/r/64029/diff/5/?file=1983940#file1983940line35> > > > > What are the "Test___Example" classes for? They look like they're unit > > tests but don't actually assert anything. While it's nice to have examples > > of all of the actions, I don't think anyone's going to look at these. > > Users won't because they won't know to look here for examples, and Oozie > > devs won't because these won't be failing (unless something is really > > wrong). > > > > Perhaps we should repurpose these for actual examples in the examples > > artifact instead? I suggested in a different comment that it would be good > > to have these because users often start with our XML examples when writing > > workflows. We can make this a followup JIRA if you want. > > > > In their current state, I'm not sure these are helping anyone. Moved to `oozie-examples` artifact as actual examples into package `org.apache.oozie.example.fluentjob`. - András ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/64029/#review200001 ----------------------------------------------------------- On March 20, 2018, 9:58 p.m., András Piros wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/64029/ > ----------------------------------------------------------- > > (Updated March 20, 2018, 9:58 p.m.) > > > Review request for oozie, Attila Sasvari, Peter Cseh, and Robert Kanter. > > > Repository: oozie-git > > > Description > ------- > > OOZIE-2339 Provide an API for writing jobs based on the XSD schemas > > > Diffs > ----- > > .gitignore a4285a0d77ac2e4e8fc4afbfa21bf9fd287b3e4d > client/pom.xml 31cd43fa5311484f92cc8d33b4fc7b4cf13d66c4 > client/src/main/java/org/apache/oozie/cli/ApiJarFactory.java PRE-CREATION > client/src/main/java/org/apache/oozie/cli/ApiJarLoader.java PRE-CREATION > client/src/main/java/org/apache/oozie/cli/OozieCLI.java > 4abc7502c0c9d8b59ded2baaed30c407ad073008 > client/src/main/java/org/apache/oozie/cli/WorkflowFactoryCompiler.java > PRE-CREATION > client/src/main/java/org/apache/oozie/client/OozieClient.java > 4c8175628ba5ee346d97ad984532662032b88acc > core/src/main/java/org/apache/oozie/BaseLocalOozieClient.java > 38fb006980c0acb582b4f91175be1ced8a1afa79 > core/src/main/java/org/apache/oozie/local/LocalOozie.java > 9ab646cd53223d903e387eb92aa103a7b6577d0f > core/src/main/java/org/apache/oozie/servlet/BaseJobServlet.java > e1bd3cf61aabfa4311881b2944fc9f10ffe9145d > core/src/main/java/org/apache/oozie/servlet/BaseJobsServlet.java > d4b08711223356c8d4f58a3391b6b87efa0a2b73 > core/src/main/java/org/apache/oozie/servlet/ServletUtilities.java > 9cdd915c02a3e34ad211cf6cced2e64f3a1196a0 > core/src/main/java/org/apache/oozie/servlet/V0JobsServlet.java > ff50f3d121d8af7d607124424915e1bf30ffb109 > core/src/main/java/org/apache/oozie/servlet/V1JobsServlet.java > c1ca65fd2f8bf0f3e5c618dddcba3bf52eaf5420 > core/src/main/java/org/apache/oozie/servlet/V2ValidateServlet.java > b86fa6ace43aead115302aad3ae15368b15f1923 > core/src/main/resources/oozie-default.xml > 966dd29b20ffb4a627418d62403c0cec166dd147 > core/src/test/java/org/apache/oozie/client/TestOozieCLI.java > 3395cc25d27805444ba0b6463357c4ecff977ac1 > core/src/test/java/org/apache/oozie/test/MiniOozieTestCase.java > 12ede028655f2a30613a9f802e48cd3a27af6ed9 > docs/src/site/twiki/DG_CommandLineTool.twiki > a94201ded8451cc725b40e9f73182ecaa52be88a > docs/src/site/twiki/DG_JobsAPI.twiki PRE-CREATION > jobs/jobs-api/pom.xml PRE-CREATION > jobs/jobs-api/src/main/java/org/apache/oozie/jobs/api/Condition.java > PRE-CREATION > > jobs/jobs-api/src/main/java/org/apache/oozie/jobs/api/GraphVisualization.java > PRE-CREATION > jobs/jobs-api/src/main/java/org/apache/oozie/jobs/api/ModifyOnce.java > PRE-CREATION > > jobs/jobs-api/src/main/java/org/apache/oozie/jobs/api/action/ActionAttributes.java > PRE-CREATION > > jobs/jobs-api/src/main/java/org/apache/oozie/jobs/api/action/ActionAttributesBuilder.java > PRE-CREATION > jobs/jobs-api/src/main/java/org/apache/oozie/jobs/api/action/Builder.java > PRE-CREATION > jobs/jobs-api/src/main/java/org/apache/oozie/jobs/api/action/ChFSBase.java > PRE-CREATION > > jobs/jobs-api/src/main/java/org/apache/oozie/jobs/api/action/ChFSBaseBuilder.java > PRE-CREATION > jobs/jobs-api/src/main/java/org/apache/oozie/jobs/api/action/Chgrp.java > PRE-CREATION > > jobs/jobs-api/src/main/java/org/apache/oozie/jobs/api/action/ChgrpBuilder.java > PRE-CREATION > jobs/jobs-api/src/main/java/org/apache/oozie/jobs/api/action/Chmod.java > PRE-CREATION > > jobs/jobs-api/src/main/java/org/apache/oozie/jobs/api/action/ChmodBuilder.java > PRE-CREATION > jobs/jobs-api/src/main/java/org/apache/oozie/jobs/api/action/Delete.java > PRE-CREATION > > jobs/jobs-api/src/main/java/org/apache/oozie/jobs/api/action/DistcpAction.java > PRE-CREATION > > jobs/jobs-api/src/main/java/org/apache/oozie/jobs/api/action/DistcpActionBuilder.java > PRE-CREATION > > jobs/jobs-api/src/main/java/org/apache/oozie/jobs/api/action/EmailAction.java > PRE-CREATION > > jobs/jobs-api/src/main/java/org/apache/oozie/jobs/api/action/EmailActionBuilder.java > PRE-CREATION > > jobs/jobs-api/src/main/java/org/apache/oozie/jobs/api/action/ErrorHandler.java > PRE-CREATION > jobs/jobs-api/src/main/java/org/apache/oozie/jobs/api/action/FSAction.java > PRE-CREATION > > jobs/jobs-api/src/main/java/org/apache/oozie/jobs/api/action/FSActionBuilder.java > PRE-CREATION > > jobs/jobs-api/src/main/java/org/apache/oozie/jobs/api/action/HasAttributes.java > PRE-CREATION > > jobs/jobs-api/src/main/java/org/apache/oozie/jobs/api/action/Hive2Action.java > PRE-CREATION > > jobs/jobs-api/src/main/java/org/apache/oozie/jobs/api/action/Hive2ActionBuilder.java > PRE-CREATION > > jobs/jobs-api/src/main/java/org/apache/oozie/jobs/api/action/HiveAction.java > PRE-CREATION > > jobs/jobs-api/src/main/java/org/apache/oozie/jobs/api/action/HiveActionBuilder.java > PRE-CREATION > > jobs/jobs-api/src/main/java/org/apache/oozie/jobs/api/action/JavaAction.java > PRE-CREATION > > jobs/jobs-api/src/main/java/org/apache/oozie/jobs/api/action/JavaActionBuilder.java > PRE-CREATION > jobs/jobs-api/src/main/java/org/apache/oozie/jobs/api/action/Launcher.java > PRE-CREATION > > jobs/jobs-api/src/main/java/org/apache/oozie/jobs/api/action/LauncherBuilder.java > PRE-CREATION > > jobs/jobs-api/src/main/java/org/apache/oozie/jobs/api/action/MapReduceAction.java > PRE-CREATION > > jobs/jobs-api/src/main/java/org/apache/oozie/jobs/api/action/MapReduceActionBuilder.java > PRE-CREATION > jobs/jobs-api/src/main/java/org/apache/oozie/jobs/api/action/Mkdir.java > PRE-CREATION > jobs/jobs-api/src/main/java/org/apache/oozie/jobs/api/action/Move.java > PRE-CREATION > jobs/jobs-api/src/main/java/org/apache/oozie/jobs/api/action/Node.java > PRE-CREATION > > jobs/jobs-api/src/main/java/org/apache/oozie/jobs/api/action/NodeBuilderBaseImpl.java > PRE-CREATION > jobs/jobs-api/src/main/java/org/apache/oozie/jobs/api/action/PigAction.java > PRE-CREATION > > jobs/jobs-api/src/main/java/org/apache/oozie/jobs/api/action/PigActionBuilder.java > PRE-CREATION > jobs/jobs-api/src/main/java/org/apache/oozie/jobs/api/action/Pipes.java > PRE-CREATION > > jobs/jobs-api/src/main/java/org/apache/oozie/jobs/api/action/PipesBuilder.java > PRE-CREATION > jobs/jobs-api/src/main/java/org/apache/oozie/jobs/api/action/Prepare.java > PRE-CREATION > > jobs/jobs-api/src/main/java/org/apache/oozie/jobs/api/action/PrepareBuilder.java > PRE-CREATION > > jobs/jobs-api/src/main/java/org/apache/oozie/jobs/api/action/ShellAction.java > PRE-CREATION > > jobs/jobs-api/src/main/java/org/apache/oozie/jobs/api/action/ShellActionBuilder.java > PRE-CREATION > > jobs/jobs-api/src/main/java/org/apache/oozie/jobs/api/action/SparkAction.java > PRE-CREATION > > jobs/jobs-api/src/main/java/org/apache/oozie/jobs/api/action/SparkActionBuilder.java > PRE-CREATION > > jobs/jobs-api/src/main/java/org/apache/oozie/jobs/api/action/SqoopAction.java > PRE-CREATION > > jobs/jobs-api/src/main/java/org/apache/oozie/jobs/api/action/SqoopActionBuilder.java > PRE-CREATION > jobs/jobs-api/src/main/java/org/apache/oozie/jobs/api/action/SshAction.java > PRE-CREATION > > jobs/jobs-api/src/main/java/org/apache/oozie/jobs/api/action/SshActionBuilder.java > PRE-CREATION > jobs/jobs-api/src/main/java/org/apache/oozie/jobs/api/action/Streaming.java > PRE-CREATION > > jobs/jobs-api/src/main/java/org/apache/oozie/jobs/api/action/StreamingBuilder.java > PRE-CREATION > > jobs/jobs-api/src/main/java/org/apache/oozie/jobs/api/action/SubWorkflowAction.java > PRE-CREATION > > jobs/jobs-api/src/main/java/org/apache/oozie/jobs/api/action/SubWorkflowActionBuilder.java > PRE-CREATION > jobs/jobs-api/src/main/java/org/apache/oozie/jobs/api/action/Touchz.java > PRE-CREATION > > jobs/jobs-api/src/main/java/org/apache/oozie/jobs/api/factory/SimpleWorkflowFactory.java > PRE-CREATION > > jobs/jobs-api/src/main/java/org/apache/oozie/jobs/api/factory/WorkflowFactory.java > PRE-CREATION > > jobs/jobs-api/src/main/java/org/apache/oozie/jobs/api/mapping/BooleanToFLAGConverter.java > PRE-CREATION > > jobs/jobs-api/src/main/java/org/apache/oozie/jobs/api/mapping/BooleanToShellFLAGConverter.java > PRE-CREATION > > jobs/jobs-api/src/main/java/org/apache/oozie/jobs/api/mapping/BooleanToSshFLAGConverter.java > PRE-CREATION > > jobs/jobs-api/src/main/java/org/apache/oozie/jobs/api/mapping/CredentialsConverter.java > PRE-CREATION > > jobs/jobs-api/src/main/java/org/apache/oozie/jobs/api/mapping/DecisionConverter.java > PRE-CREATION > > jobs/jobs-api/src/main/java/org/apache/oozie/jobs/api/mapping/DistcpConfigurationConverter.java > PRE-CREATION > > jobs/jobs-api/src/main/java/org/apache/oozie/jobs/api/mapping/DistcpPrepareConverter.java > PRE-CREATION > > jobs/jobs-api/src/main/java/org/apache/oozie/jobs/api/mapping/DozerBeanMapperSingleton.java > PRE-CREATION > > jobs/jobs-api/src/main/java/org/apache/oozie/jobs/api/mapping/ExplicitNodeConverter.java > PRE-CREATION > > jobs/jobs-api/src/main/java/org/apache/oozie/jobs/api/mapping/ForkConverter.java > PRE-CREATION > > jobs/jobs-api/src/main/java/org/apache/oozie/jobs/api/mapping/GlobalConverter.java > PRE-CREATION > > jobs/jobs-api/src/main/java/org/apache/oozie/jobs/api/mapping/GraphNodes.java > PRE-CREATION > > jobs/jobs-api/src/main/java/org/apache/oozie/jobs/api/mapping/GraphNodesToWORKFLOWAPPConverter.java > PRE-CREATION > > jobs/jobs-api/src/main/java/org/apache/oozie/jobs/api/mapping/GraphToWORKFLOWAPPConverter.java > PRE-CREATION > > jobs/jobs-api/src/main/java/org/apache/oozie/jobs/api/mapping/Hive2ConfigurationConverter.java > PRE-CREATION > > jobs/jobs-api/src/main/java/org/apache/oozie/jobs/api/mapping/Hive2LauncherConverter.java > PRE-CREATION > > jobs/jobs-api/src/main/java/org/apache/oozie/jobs/api/mapping/Hive2PrepareConverter.java > PRE-CREATION > > jobs/jobs-api/src/main/java/org/apache/oozie/jobs/api/mapping/HiveConfigurationConverter.java > PRE-CREATION > > jobs/jobs-api/src/main/java/org/apache/oozie/jobs/api/mapping/HiveLauncherConverter.java > PRE-CREATION > > jobs/jobs-api/src/main/java/org/apache/oozie/jobs/api/mapping/HivePrepareConverter.java > PRE-CREATION > > jobs/jobs-api/src/main/java/org/apache/oozie/jobs/api/mapping/InlineWorkflowConfigurationConverter.java > PRE-CREATION > > jobs/jobs-api/src/main/java/org/apache/oozie/jobs/api/mapping/InlineWorkflowLauncherConverter.java > PRE-CREATION > > jobs/jobs-api/src/main/java/org/apache/oozie/jobs/api/mapping/InlineWorkflowPrepareConverter.java > PRE-CREATION > > jobs/jobs-api/src/main/java/org/apache/oozie/jobs/api/mapping/JoinConverter.java > PRE-CREATION > > jobs/jobs-api/src/main/java/org/apache/oozie/jobs/api/mapping/MapToConfigurationPropertyConverter.java > PRE-CREATION > > jobs/jobs-api/src/main/java/org/apache/oozie/jobs/api/mapping/ParametersConverter.java > PRE-CREATION > > jobs/jobs-api/src/main/java/org/apache/oozie/jobs/api/mapping/RealChildLocator.java > PRE-CREATION > > jobs/jobs-api/src/main/java/org/apache/oozie/jobs/api/mapping/ShellConfigurationConverter.java > PRE-CREATION > > jobs/jobs-api/src/main/java/org/apache/oozie/jobs/api/mapping/ShellLauncherConverter.java > PRE-CREATION > > jobs/jobs-api/src/main/java/org/apache/oozie/jobs/api/mapping/ShellPrepareConverter.java > PRE-CREATION > > jobs/jobs-api/src/main/java/org/apache/oozie/jobs/api/mapping/SparkConfigurationConverter.java > PRE-CREATION > > jobs/jobs-api/src/main/java/org/apache/oozie/jobs/api/mapping/SparkLauncherConverter.java > PRE-CREATION > > jobs/jobs-api/src/main/java/org/apache/oozie/jobs/api/mapping/SparkPrepareConverter.java > PRE-CREATION > > jobs/jobs-api/src/main/java/org/apache/oozie/jobs/api/mapping/SqoopConfigurationConverter.java > PRE-CREATION > > jobs/jobs-api/src/main/java/org/apache/oozie/jobs/api/mapping/SqoopLauncherConverter.java > PRE-CREATION > > jobs/jobs-api/src/main/java/org/apache/oozie/jobs/api/mapping/SqoopPrepareConverter.java > PRE-CREATION > > jobs/jobs-api/src/main/java/org/apache/oozie/jobs/api/mapping/StartConverter.java > PRE-CREATION > > jobs/jobs-api/src/main/java/org/apache/oozie/jobs/api/oozie/dag/DagNodeWithCondition.java > PRE-CREATION > > jobs/jobs-api/src/main/java/org/apache/oozie/jobs/api/oozie/dag/Decision.java > PRE-CREATION > > jobs/jobs-api/src/main/java/org/apache/oozie/jobs/api/oozie/dag/DecisionJoin.java > PRE-CREATION > jobs/jobs-api/src/main/java/org/apache/oozie/jobs/api/oozie/dag/End.java > PRE-CREATION > > jobs/jobs-api/src/main/java/org/apache/oozie/jobs/api/oozie/dag/ExplicitNode.java > PRE-CREATION > jobs/jobs-api/src/main/java/org/apache/oozie/jobs/api/oozie/dag/Fork.java > PRE-CREATION > jobs/jobs-api/src/main/java/org/apache/oozie/jobs/api/oozie/dag/Graph.java > PRE-CREATION > jobs/jobs-api/src/main/java/org/apache/oozie/jobs/api/oozie/dag/Join.java > PRE-CREATION > > jobs/jobs-api/src/main/java/org/apache/oozie/jobs/api/oozie/dag/JoiningNodeBase.java > PRE-CREATION > > jobs/jobs-api/src/main/java/org/apache/oozie/jobs/api/oozie/dag/NodeBase.java > PRE-CREATION > jobs/jobs-api/src/main/java/org/apache/oozie/jobs/api/oozie/dag/Start.java > PRE-CREATION > > jobs/jobs-api/src/main/java/org/apache/oozie/jobs/api/serialization/WorkflowMarshaller.java > PRE-CREATION > > jobs/jobs-api/src/main/java/org/apache/oozie/jobs/api/workflow/ConfigurationEntry.java > PRE-CREATION > > jobs/jobs-api/src/main/java/org/apache/oozie/jobs/api/workflow/Credential.java > PRE-CREATION > > jobs/jobs-api/src/main/java/org/apache/oozie/jobs/api/workflow/Credentials.java > PRE-CREATION > > jobs/jobs-api/src/main/java/org/apache/oozie/jobs/api/workflow/CredentialsBuilder.java > PRE-CREATION > jobs/jobs-api/src/main/java/org/apache/oozie/jobs/api/workflow/Global.java > PRE-CREATION > > jobs/jobs-api/src/main/java/org/apache/oozie/jobs/api/workflow/GlobalBuilder.java > PRE-CREATION > > jobs/jobs-api/src/main/java/org/apache/oozie/jobs/api/workflow/Parameter.java > PRE-CREATION > > jobs/jobs-api/src/main/java/org/apache/oozie/jobs/api/workflow/Parameters.java > PRE-CREATION > > jobs/jobs-api/src/main/java/org/apache/oozie/jobs/api/workflow/ParametersBuilder.java > PRE-CREATION > > jobs/jobs-api/src/main/java/org/apache/oozie/jobs/api/workflow/Workflow.java > PRE-CREATION > > jobs/jobs-api/src/main/java/org/apache/oozie/jobs/api/workflow/WorkflowBuilder.java > PRE-CREATION > jobs/jobs-api/src/main/resources/action_mappings.xml PRE-CREATION > jobs/jobs-api/src/main/resources/checkstyle-header.txt PRE-CREATION > jobs/jobs-api/src/main/resources/checkstyle.xml PRE-CREATION > jobs/jobs-api/src/main/resources/dozer_config.xml PRE-CREATION > jobs/jobs-api/src/main/resources/mappingGraphToWORKFLOWAPP.xml PRE-CREATION > jobs/jobs-api/src/main/xjb/bindings.xml PRE-CREATION > jobs/jobs-api/src/test/java/org/apache/oozie/jobs/api/NodesToPng.java > PRE-CREATION > jobs/jobs-api/src/test/java/org/apache/oozie/jobs/api/TestCondition.java > PRE-CREATION > jobs/jobs-api/src/test/java/org/apache/oozie/jobs/api/TestModifyOnce.java > PRE-CREATION > > jobs/jobs-api/src/test/java/org/apache/oozie/jobs/api/action/TestActionAttributesBuilder.java > PRE-CREATION > > jobs/jobs-api/src/test/java/org/apache/oozie/jobs/api/action/TestChBaseBuilder.java > PRE-CREATION > > jobs/jobs-api/src/test/java/org/apache/oozie/jobs/api/action/TestChgrpBuilder.java > PRE-CREATION > > jobs/jobs-api/src/test/java/org/apache/oozie/jobs/api/action/TestChmodBuilder.java > PRE-CREATION > > jobs/jobs-api/src/test/java/org/apache/oozie/jobs/api/action/TestDelete.java > PRE-CREATION > > jobs/jobs-api/src/test/java/org/apache/oozie/jobs/api/action/TestDistcpActionBuilder.java > PRE-CREATION > > jobs/jobs-api/src/test/java/org/apache/oozie/jobs/api/action/TestEmailActionBuilder.java > PRE-CREATION > > jobs/jobs-api/src/test/java/org/apache/oozie/jobs/api/action/TestErrorHandler.java > PRE-CREATION > > jobs/jobs-api/src/test/java/org/apache/oozie/jobs/api/action/TestFSActionBuilder.java > PRE-CREATION > > jobs/jobs-api/src/test/java/org/apache/oozie/jobs/api/action/TestHive2ActionBuilder.java > PRE-CREATION > > jobs/jobs-api/src/test/java/org/apache/oozie/jobs/api/action/TestHiveActionBuilder.java > PRE-CREATION > > jobs/jobs-api/src/test/java/org/apache/oozie/jobs/api/action/TestJavaActionBuilder.java > PRE-CREATION > > jobs/jobs-api/src/test/java/org/apache/oozie/jobs/api/action/TestLauncherBuilder.java > PRE-CREATION > > jobs/jobs-api/src/test/java/org/apache/oozie/jobs/api/action/TestMapReduceActionBuilder.java > PRE-CREATION > jobs/jobs-api/src/test/java/org/apache/oozie/jobs/api/action/TestMove.java > PRE-CREATION > > jobs/jobs-api/src/test/java/org/apache/oozie/jobs/api/action/TestNodeBuilderBaseImpl.java > PRE-CREATION > > jobs/jobs-api/src/test/java/org/apache/oozie/jobs/api/action/TestPigActionBuilder.java > PRE-CREATION > > jobs/jobs-api/src/test/java/org/apache/oozie/jobs/api/action/TestPipesBuilder.java > PRE-CREATION > > jobs/jobs-api/src/test/java/org/apache/oozie/jobs/api/action/TestPrepareBuilder.java > PRE-CREATION > > jobs/jobs-api/src/test/java/org/apache/oozie/jobs/api/action/TestShellActionBuilder.java > PRE-CREATION > > jobs/jobs-api/src/test/java/org/apache/oozie/jobs/api/action/TestSparkActionBuilder.java > PRE-CREATION > > jobs/jobs-api/src/test/java/org/apache/oozie/jobs/api/action/TestSqoopActionBuilder.java > PRE-CREATION > > jobs/jobs-api/src/test/java/org/apache/oozie/jobs/api/action/TestSshActionBuilder.java > PRE-CREATION > > jobs/jobs-api/src/test/java/org/apache/oozie/jobs/api/action/TestStreamingBuilder.java > PRE-CREATION > > jobs/jobs-api/src/test/java/org/apache/oozie/jobs/api/action/TestSubWorkflowBuilder.java > PRE-CREATION > > jobs/jobs-api/src/test/java/org/apache/oozie/jobs/api/action/TestTouchz.java > PRE-CREATION > > jobs/jobs-api/src/test/java/org/apache/oozie/jobs/api/mapping/TestConfigurationMapping.java > PRE-CREATION > > jobs/jobs-api/src/test/java/org/apache/oozie/jobs/api/mapping/TestControlNodeMappingBase.java > PRE-CREATION > > jobs/jobs-api/src/test/java/org/apache/oozie/jobs/api/mapping/TestCredentialsMapping.java > PRE-CREATION > > jobs/jobs-api/src/test/java/org/apache/oozie/jobs/api/mapping/TestDecisionMapping.java > PRE-CREATION > > jobs/jobs-api/src/test/java/org/apache/oozie/jobs/api/mapping/TestDeleteMapping.java > PRE-CREATION > > jobs/jobs-api/src/test/java/org/apache/oozie/jobs/api/mapping/TestDistcpActionMapping.java > PRE-CREATION > > jobs/jobs-api/src/test/java/org/apache/oozie/jobs/api/mapping/TestEmailActionMapping.java > PRE-CREATION > > jobs/jobs-api/src/test/java/org/apache/oozie/jobs/api/mapping/TestEndMapping.java > PRE-CREATION > > jobs/jobs-api/src/test/java/org/apache/oozie/jobs/api/mapping/TestExplicitNodeMapping.java > PRE-CREATION > > jobs/jobs-api/src/test/java/org/apache/oozie/jobs/api/mapping/TestFSActionMapping.java > PRE-CREATION > > jobs/jobs-api/src/test/java/org/apache/oozie/jobs/api/mapping/TestForkMapping.java > PRE-CREATION > > jobs/jobs-api/src/test/java/org/apache/oozie/jobs/api/mapping/TestGlobalMapping.java > PRE-CREATION > > jobs/jobs-api/src/test/java/org/apache/oozie/jobs/api/mapping/TestGraphMapping.java > PRE-CREATION > > jobs/jobs-api/src/test/java/org/apache/oozie/jobs/api/mapping/TestHive2ActionMapping.java > PRE-CREATION > > jobs/jobs-api/src/test/java/org/apache/oozie/jobs/api/mapping/TestHiveActionMapping.java > PRE-CREATION > > jobs/jobs-api/src/test/java/org/apache/oozie/jobs/api/mapping/TestJavaActionMapping.java > PRE-CREATION > > jobs/jobs-api/src/test/java/org/apache/oozie/jobs/api/mapping/TestJoinMapping.java > PRE-CREATION > > jobs/jobs-api/src/test/java/org/apache/oozie/jobs/api/mapping/TestMapReduceActionMapping.java > PRE-CREATION > > jobs/jobs-api/src/test/java/org/apache/oozie/jobs/api/mapping/TestMappings.java > PRE-CREATION > > jobs/jobs-api/src/test/java/org/apache/oozie/jobs/api/mapping/TestMkdirMapping.java > PRE-CREATION > > jobs/jobs-api/src/test/java/org/apache/oozie/jobs/api/mapping/TestParametersMapping.java > PRE-CREATION > > jobs/jobs-api/src/test/java/org/apache/oozie/jobs/api/mapping/TestPigActionMapping.java > PRE-CREATION > > jobs/jobs-api/src/test/java/org/apache/oozie/jobs/api/mapping/TestPipesMapping.java > PRE-CREATION > > jobs/jobs-api/src/test/java/org/apache/oozie/jobs/api/mapping/TestPrepareMapping.java > PRE-CREATION > > jobs/jobs-api/src/test/java/org/apache/oozie/jobs/api/mapping/TestShellActionMapping.java > PRE-CREATION > > jobs/jobs-api/src/test/java/org/apache/oozie/jobs/api/mapping/TestSparkActionMapping.java > PRE-CREATION > > jobs/jobs-api/src/test/java/org/apache/oozie/jobs/api/mapping/TestSqoopActionMapping.java > PRE-CREATION > > jobs/jobs-api/src/test/java/org/apache/oozie/jobs/api/mapping/TestSshActionMapping.java > PRE-CREATION > > jobs/jobs-api/src/test/java/org/apache/oozie/jobs/api/mapping/TestStartMapping.java > PRE-CREATION > > jobs/jobs-api/src/test/java/org/apache/oozie/jobs/api/mapping/TestStreamingMapping.java > PRE-CREATION > > jobs/jobs-api/src/test/java/org/apache/oozie/jobs/api/mapping/TestSubWorkflowActionMapping.java > PRE-CREATION > > jobs/jobs-api/src/test/java/org/apache/oozie/jobs/api/oozie/dag/TestDecision.java > PRE-CREATION > > jobs/jobs-api/src/test/java/org/apache/oozie/jobs/api/oozie/dag/TestDecisionJoin.java > PRE-CREATION > > jobs/jobs-api/src/test/java/org/apache/oozie/jobs/api/oozie/dag/TestEnd.java > PRE-CREATION > > jobs/jobs-api/src/test/java/org/apache/oozie/jobs/api/oozie/dag/TestExplicitNode.java > PRE-CREATION > > jobs/jobs-api/src/test/java/org/apache/oozie/jobs/api/oozie/dag/TestFork.java > PRE-CREATION > > jobs/jobs-api/src/test/java/org/apache/oozie/jobs/api/oozie/dag/TestGraph.java > PRE-CREATION > > jobs/jobs-api/src/test/java/org/apache/oozie/jobs/api/oozie/dag/TestJoin.java > PRE-CREATION > > jobs/jobs-api/src/test/java/org/apache/oozie/jobs/api/oozie/dag/TestJoiningNodeBase.java > PRE-CREATION > > jobs/jobs-api/src/test/java/org/apache/oozie/jobs/api/oozie/dag/TestNodeBase.java > PRE-CREATION > > jobs/jobs-api/src/test/java/org/apache/oozie/jobs/api/oozie/dag/TestStart.java > PRE-CREATION > > jobs/jobs-api/src/test/java/org/apache/oozie/jobs/api/workflow/TestCredentialsBuilder.java > PRE-CREATION > > jobs/jobs-api/src/test/java/org/apache/oozie/jobs/api/workflow/TestGlobalBuilder.java > PRE-CREATION > > jobs/jobs-api/src/test/java/org/apache/oozie/jobs/api/workflow/TestParametersBuilder.java > PRE-CREATION > > jobs/jobs-api/src/test/java/org/apache/oozie/jobs/api/workflow/TestWorkflowBuilder.java > PRE-CREATION > jobs/jobs-client/pom.xml PRE-CREATION > > jobs/jobs-client/src/test/java/org/apache/oozie/jobs/client/examples/TestCredentialsExample.java > PRE-CREATION > > jobs/jobs-client/src/test/java/org/apache/oozie/jobs/client/examples/TestGlobalExample.java > PRE-CREATION > > jobs/jobs-client/src/test/java/org/apache/oozie/jobs/client/examples/TestJavaMainExample.java > PRE-CREATION > > jobs/jobs-client/src/test/java/org/apache/oozie/jobs/client/examples/TestParametersExample.java > PRE-CREATION > > jobs/jobs-client/src/test/java/org/apache/oozie/jobs/client/examples/TestShellExample.java > PRE-CREATION > > jobs/jobs-client/src/test/java/org/apache/oozie/jobs/client/examples/TestSparkExample.java > PRE-CREATION > > jobs/jobs-client/src/test/java/org/apache/oozie/jobs/client/jaxb/TestJAXBWorkflow.java > PRE-CREATION > > jobs/jobs-client/src/test/java/org/apache/oozie/jobs/client/minitest/TestDistcpAction.java > PRE-CREATION > > jobs/jobs-client/src/test/java/org/apache/oozie/jobs/client/minitest/TestEmailAction.java > PRE-CREATION > > jobs/jobs-client/src/test/java/org/apache/oozie/jobs/client/minitest/TestFSAction.java > PRE-CREATION > > jobs/jobs-client/src/test/java/org/apache/oozie/jobs/client/minitest/TestHive2Action.java > PRE-CREATION > > jobs/jobs-client/src/test/java/org/apache/oozie/jobs/client/minitest/TestHiveAction.java > PRE-CREATION > > jobs/jobs-client/src/test/java/org/apache/oozie/jobs/client/minitest/TestJavaAction.java > PRE-CREATION > > jobs/jobs-client/src/test/java/org/apache/oozie/jobs/client/minitest/TestMapReduceAction.java > PRE-CREATION > > jobs/jobs-client/src/test/java/org/apache/oozie/jobs/client/minitest/TestPigAction.java > PRE-CREATION > > jobs/jobs-client/src/test/java/org/apache/oozie/jobs/client/minitest/TestShellAction.java > PRE-CREATION > > jobs/jobs-client/src/test/java/org/apache/oozie/jobs/client/minitest/TestSparkAction.java > PRE-CREATION > > jobs/jobs-client/src/test/java/org/apache/oozie/jobs/client/minitest/TestSqoopAction.java > PRE-CREATION > > jobs/jobs-client/src/test/java/org/apache/oozie/jobs/client/minitest/TestSshAction.java > PRE-CREATION > jobs/jobs-client/src/test/resources/workflow-all-actions.xml PRE-CREATION > jobs/jobs-client/src/test/resources/workflow-mapreduce-action.xml > PRE-CREATION > jobs/pom.xml PRE-CREATION > minitest/pom.xml 220cdfd3ef4ecfd2038485d3da6330c58c3435e8 > minitest/src/test/java/org/apache/oozie/test/TestWorkflow.java > 4257b60b132d40a9bbaf24ec75ae1a125ecb6855 > minitest/src/test/java/org/apache/oozie/test/WorkflowTestCase.java > PRE-CREATION > pom.xml 274a04715935437f74601e44a8522649dcd1c433 > > > Diff: https://reviews.apache.org/r/64029/diff/5/ > > > Testing > ------- > > More hundred JUnit test cases under `jobs-api` module. Some of these leverage > `TestWorkflow` from `minitest` that uses `OozieClient`, `MiniDFSCluster`, > `MiniMRCluster` for integration testing. > > > Thanks, > > András Piros > >
