> 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. > > András Piros wrote: > 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?
Introduced Hadoop annotations: ``` @InterfaceAudience.Private @InterfaceStability.Unstable ``` for all classes of packages inside `fluent-job-api`: * `org.apache.oozie.fluentjob.api.action` * `org.apache.oozie.fluentjob.api.factory` * `org.apache.oozie.fluentjob.api.workflow` Moreover, writing another part to `DG_FluentJobAPI.twiki` stating about current plans of supporting backwards compatibility. > 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. > > András Piros wrote: > 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? Extending `DG_FluentJobAPI.twiki` by a new section `How to extend based on schema changes`, and linking from `DG_CustomActionExecutor.twiki`. - András ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/64029/#review200001 ----------------------------------------------------------- On May 14, 2018, 8:36 p.m., András Piros wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/64029/ > ----------------------------------------------------------- > > (Updated May 14, 2018, 8:36 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 > ----- > > client/pom.xml 795a92d4af1a6d96603c99506cd70e8cf8e2c347 > client/src/main/java/org/apache/oozie/cli/OozieCLI.java > 4abc7502c0c9d8b59ded2baaed30c407ad073008 > client/src/main/java/org/apache/oozie/client/ApiJarFactory.java > PRE-CREATION > client/src/main/java/org/apache/oozie/client/ApiJarLoader.java PRE-CREATION > client/src/main/java/org/apache/oozie/client/OozieClient.java > 4c8175628ba5ee346d97ad984532662032b88acc > core/pom.xml 45880a619e70a1643f4eb5ceeb61abb2090551f1 > 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 > 3eb32d50d07687c136fcc0e467a055bdc1e7ec60 > core/src/main/java/org/apache/oozie/servlet/V0JobsServlet.java > 1d800949cbff34a95f2ae111364eb8cbc6a5f5fb > 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 > 6f8925828090cee29a818de30a7c31db0617d816 > core/src/test/java/org/apache/oozie/client/TestOozieCLI.java > 3395cc25d27805444ba0b6463357c4ecff977ac1 > core/src/test/java/org/apache/oozie/servlet/TestV1JobsServlet.java > fb481e367653187a94199069199f1d1b06d1cecf > core/src/test/java/org/apache/oozie/test/MiniOozieTestCase.java > 0a030d660f9c545b520afcce458a27ba2a367658 > docs/src/site/twiki/DG_CommandLineTool.twiki > 9a174596dd78fb15989daf4e88936a9a2b09ef13 > docs/src/site/twiki/DG_FluentJobAPI.twiki PRE-CREATION > examples/pom.xml 2bfc7c8b3fc3de4876c62d70f25bed35b886ece8 > examples/src/main/java/org/apache/oozie/example/fluentjob/Credentials.java > PRE-CREATION > examples/src/main/java/org/apache/oozie/example/fluentjob/Global.java > PRE-CREATION > examples/src/main/java/org/apache/oozie/example/fluentjob/JavaMain.java > PRE-CREATION > examples/src/main/java/org/apache/oozie/example/fluentjob/Parameters.java > PRE-CREATION > examples/src/main/java/org/apache/oozie/example/fluentjob/Shell.java > PRE-CREATION > examples/src/main/java/org/apache/oozie/example/fluentjob/Spark.java > PRE-CREATION > fluent-job/fluent-job-api/pom.xml PRE-CREATION > > fluent-job/fluent-job-api/src/main/java/org/apache/oozie/fluentjob/api/Condition.java > PRE-CREATION > > fluent-job/fluent-job-api/src/main/java/org/apache/oozie/fluentjob/api/GraphVisualization.java > PRE-CREATION > > fluent-job/fluent-job-api/src/main/java/org/apache/oozie/fluentjob/api/ModifyOnce.java > PRE-CREATION > > fluent-job/fluent-job-api/src/main/java/org/apache/oozie/fluentjob/api/action/ActionAttributes.java > PRE-CREATION > > fluent-job/fluent-job-api/src/main/java/org/apache/oozie/fluentjob/api/action/ActionAttributesBuilder.java > PRE-CREATION > > fluent-job/fluent-job-api/src/main/java/org/apache/oozie/fluentjob/api/action/Builder.java > PRE-CREATION > > fluent-job/fluent-job-api/src/main/java/org/apache/oozie/fluentjob/api/action/ChFSBase.java > PRE-CREATION > > fluent-job/fluent-job-api/src/main/java/org/apache/oozie/fluentjob/api/action/ChFSBaseBuilder.java > PRE-CREATION > > fluent-job/fluent-job-api/src/main/java/org/apache/oozie/fluentjob/api/action/Chgrp.java > PRE-CREATION > > fluent-job/fluent-job-api/src/main/java/org/apache/oozie/fluentjob/api/action/ChgrpBuilder.java > PRE-CREATION > > fluent-job/fluent-job-api/src/main/java/org/apache/oozie/fluentjob/api/action/Chmod.java > PRE-CREATION > > fluent-job/fluent-job-api/src/main/java/org/apache/oozie/fluentjob/api/action/ChmodBuilder.java > PRE-CREATION > > fluent-job/fluent-job-api/src/main/java/org/apache/oozie/fluentjob/api/action/Delete.java > PRE-CREATION > > fluent-job/fluent-job-api/src/main/java/org/apache/oozie/fluentjob/api/action/DistcpAction.java > PRE-CREATION > > fluent-job/fluent-job-api/src/main/java/org/apache/oozie/fluentjob/api/action/DistcpActionBuilder.java > PRE-CREATION > > fluent-job/fluent-job-api/src/main/java/org/apache/oozie/fluentjob/api/action/EmailAction.java > PRE-CREATION > > fluent-job/fluent-job-api/src/main/java/org/apache/oozie/fluentjob/api/action/EmailActionBuilder.java > PRE-CREATION > > fluent-job/fluent-job-api/src/main/java/org/apache/oozie/fluentjob/api/action/ErrorHandler.java > PRE-CREATION > > fluent-job/fluent-job-api/src/main/java/org/apache/oozie/fluentjob/api/action/FSAction.java > PRE-CREATION > > fluent-job/fluent-job-api/src/main/java/org/apache/oozie/fluentjob/api/action/FSActionBuilder.java > PRE-CREATION > > fluent-job/fluent-job-api/src/main/java/org/apache/oozie/fluentjob/api/action/HasAttributes.java > PRE-CREATION > > fluent-job/fluent-job-api/src/main/java/org/apache/oozie/fluentjob/api/action/Hive2Action.java > PRE-CREATION > > fluent-job/fluent-job-api/src/main/java/org/apache/oozie/fluentjob/api/action/Hive2ActionBuilder.java > PRE-CREATION > > fluent-job/fluent-job-api/src/main/java/org/apache/oozie/fluentjob/api/action/HiveAction.java > PRE-CREATION > > fluent-job/fluent-job-api/src/main/java/org/apache/oozie/fluentjob/api/action/HiveActionBuilder.java > PRE-CREATION > > fluent-job/fluent-job-api/src/main/java/org/apache/oozie/fluentjob/api/action/JavaAction.java > PRE-CREATION > > fluent-job/fluent-job-api/src/main/java/org/apache/oozie/fluentjob/api/action/JavaActionBuilder.java > PRE-CREATION > > fluent-job/fluent-job-api/src/main/java/org/apache/oozie/fluentjob/api/action/Launcher.java > PRE-CREATION > > fluent-job/fluent-job-api/src/main/java/org/apache/oozie/fluentjob/api/action/LauncherBuilder.java > PRE-CREATION > > fluent-job/fluent-job-api/src/main/java/org/apache/oozie/fluentjob/api/action/MapReduceAction.java > PRE-CREATION > > fluent-job/fluent-job-api/src/main/java/org/apache/oozie/fluentjob/api/action/MapReduceActionBuilder.java > PRE-CREATION > > fluent-job/fluent-job-api/src/main/java/org/apache/oozie/fluentjob/api/action/Mkdir.java > PRE-CREATION > > fluent-job/fluent-job-api/src/main/java/org/apache/oozie/fluentjob/api/action/Move.java > PRE-CREATION > > fluent-job/fluent-job-api/src/main/java/org/apache/oozie/fluentjob/api/action/Node.java > PRE-CREATION > > fluent-job/fluent-job-api/src/main/java/org/apache/oozie/fluentjob/api/action/NodeBuilderBaseImpl.java > PRE-CREATION > > fluent-job/fluent-job-api/src/main/java/org/apache/oozie/fluentjob/api/action/PigAction.java > PRE-CREATION > > fluent-job/fluent-job-api/src/main/java/org/apache/oozie/fluentjob/api/action/PigActionBuilder.java > PRE-CREATION > > fluent-job/fluent-job-api/src/main/java/org/apache/oozie/fluentjob/api/action/Pipes.java > PRE-CREATION > > fluent-job/fluent-job-api/src/main/java/org/apache/oozie/fluentjob/api/action/PipesBuilder.java > PRE-CREATION > > fluent-job/fluent-job-api/src/main/java/org/apache/oozie/fluentjob/api/action/Prepare.java > PRE-CREATION > > fluent-job/fluent-job-api/src/main/java/org/apache/oozie/fluentjob/api/action/PrepareBuilder.java > PRE-CREATION > > fluent-job/fluent-job-api/src/main/java/org/apache/oozie/fluentjob/api/action/ShellAction.java > PRE-CREATION > > fluent-job/fluent-job-api/src/main/java/org/apache/oozie/fluentjob/api/action/ShellActionBuilder.java > PRE-CREATION > > fluent-job/fluent-job-api/src/main/java/org/apache/oozie/fluentjob/api/action/SparkAction.java > PRE-CREATION > > fluent-job/fluent-job-api/src/main/java/org/apache/oozie/fluentjob/api/action/SparkActionBuilder.java > PRE-CREATION > > fluent-job/fluent-job-api/src/main/java/org/apache/oozie/fluentjob/api/action/SqoopAction.java > PRE-CREATION > > fluent-job/fluent-job-api/src/main/java/org/apache/oozie/fluentjob/api/action/SqoopActionBuilder.java > PRE-CREATION > > fluent-job/fluent-job-api/src/main/java/org/apache/oozie/fluentjob/api/action/SshAction.java > PRE-CREATION > > fluent-job/fluent-job-api/src/main/java/org/apache/oozie/fluentjob/api/action/SshActionBuilder.java > PRE-CREATION > > fluent-job/fluent-job-api/src/main/java/org/apache/oozie/fluentjob/api/action/Streaming.java > PRE-CREATION > > fluent-job/fluent-job-api/src/main/java/org/apache/oozie/fluentjob/api/action/StreamingBuilder.java > PRE-CREATION > > fluent-job/fluent-job-api/src/main/java/org/apache/oozie/fluentjob/api/action/SubWorkflowAction.java > PRE-CREATION > > fluent-job/fluent-job-api/src/main/java/org/apache/oozie/fluentjob/api/action/SubWorkflowActionBuilder.java > PRE-CREATION > > fluent-job/fluent-job-api/src/main/java/org/apache/oozie/fluentjob/api/action/Touchz.java > PRE-CREATION > > fluent-job/fluent-job-api/src/main/java/org/apache/oozie/fluentjob/api/dag/DagNodeWithCondition.java > PRE-CREATION > > fluent-job/fluent-job-api/src/main/java/org/apache/oozie/fluentjob/api/dag/Decision.java > PRE-CREATION > > fluent-job/fluent-job-api/src/main/java/org/apache/oozie/fluentjob/api/dag/DecisionJoin.java > PRE-CREATION > > fluent-job/fluent-job-api/src/main/java/org/apache/oozie/fluentjob/api/dag/End.java > PRE-CREATION > > fluent-job/fluent-job-api/src/main/java/org/apache/oozie/fluentjob/api/dag/ExplicitNode.java > PRE-CREATION > > fluent-job/fluent-job-api/src/main/java/org/apache/oozie/fluentjob/api/dag/Fork.java > PRE-CREATION > > fluent-job/fluent-job-api/src/main/java/org/apache/oozie/fluentjob/api/dag/Graph.java > PRE-CREATION > > fluent-job/fluent-job-api/src/main/java/org/apache/oozie/fluentjob/api/dag/Join.java > PRE-CREATION > > fluent-job/fluent-job-api/src/main/java/org/apache/oozie/fluentjob/api/dag/JoiningNodeBase.java > PRE-CREATION > > fluent-job/fluent-job-api/src/main/java/org/apache/oozie/fluentjob/api/dag/NodeBase.java > PRE-CREATION > > fluent-job/fluent-job-api/src/main/java/org/apache/oozie/fluentjob/api/dag/Start.java > PRE-CREATION > > fluent-job/fluent-job-api/src/main/java/org/apache/oozie/fluentjob/api/factory/WorkflowFactory.java > PRE-CREATION > > fluent-job/fluent-job-api/src/main/java/org/apache/oozie/fluentjob/api/mapping/BooleanToFLAGConverter.java > PRE-CREATION > > fluent-job/fluent-job-api/src/main/java/org/apache/oozie/fluentjob/api/mapping/BooleanToShellFLAGConverter.java > PRE-CREATION > > fluent-job/fluent-job-api/src/main/java/org/apache/oozie/fluentjob/api/mapping/BooleanToSshFLAGConverter.java > PRE-CREATION > > fluent-job/fluent-job-api/src/main/java/org/apache/oozie/fluentjob/api/mapping/CredentialsConverter.java > PRE-CREATION > > fluent-job/fluent-job-api/src/main/java/org/apache/oozie/fluentjob/api/mapping/DecisionConverter.java > PRE-CREATION > > fluent-job/fluent-job-api/src/main/java/org/apache/oozie/fluentjob/api/mapping/DistcpConfigurationConverter.java > PRE-CREATION > > fluent-job/fluent-job-api/src/main/java/org/apache/oozie/fluentjob/api/mapping/DistcpPrepareConverter.java > PRE-CREATION > > fluent-job/fluent-job-api/src/main/java/org/apache/oozie/fluentjob/api/mapping/DozerBeanMapperSingleton.java > PRE-CREATION > > fluent-job/fluent-job-api/src/main/java/org/apache/oozie/fluentjob/api/mapping/ExplicitNodeConverter.java > PRE-CREATION > > fluent-job/fluent-job-api/src/main/java/org/apache/oozie/fluentjob/api/mapping/ForkConverter.java > PRE-CREATION > > fluent-job/fluent-job-api/src/main/java/org/apache/oozie/fluentjob/api/mapping/GlobalConverter.java > PRE-CREATION > > fluent-job/fluent-job-api/src/main/java/org/apache/oozie/fluentjob/api/mapping/GraphNodes.java > PRE-CREATION > > fluent-job/fluent-job-api/src/main/java/org/apache/oozie/fluentjob/api/mapping/GraphNodesToWORKFLOWAPPConverter.java > PRE-CREATION > > fluent-job/fluent-job-api/src/main/java/org/apache/oozie/fluentjob/api/mapping/GraphToWORKFLOWAPPConverter.java > PRE-CREATION > > fluent-job/fluent-job-api/src/main/java/org/apache/oozie/fluentjob/api/mapping/Hive2ConfigurationConverter.java > PRE-CREATION > > fluent-job/fluent-job-api/src/main/java/org/apache/oozie/fluentjob/api/mapping/Hive2LauncherConverter.java > PRE-CREATION > > fluent-job/fluent-job-api/src/main/java/org/apache/oozie/fluentjob/api/mapping/Hive2PrepareConverter.java > PRE-CREATION > > fluent-job/fluent-job-api/src/main/java/org/apache/oozie/fluentjob/api/mapping/HiveConfigurationConverter.java > PRE-CREATION > > fluent-job/fluent-job-api/src/main/java/org/apache/oozie/fluentjob/api/mapping/HiveLauncherConverter.java > PRE-CREATION > > fluent-job/fluent-job-api/src/main/java/org/apache/oozie/fluentjob/api/mapping/HivePrepareConverter.java > PRE-CREATION > > fluent-job/fluent-job-api/src/main/java/org/apache/oozie/fluentjob/api/mapping/InlineWorkflowConfigurationConverter.java > PRE-CREATION > > fluent-job/fluent-job-api/src/main/java/org/apache/oozie/fluentjob/api/mapping/InlineWorkflowLauncherConverter.java > PRE-CREATION > > fluent-job/fluent-job-api/src/main/java/org/apache/oozie/fluentjob/api/mapping/InlineWorkflowPrepareConverter.java > PRE-CREATION > > fluent-job/fluent-job-api/src/main/java/org/apache/oozie/fluentjob/api/mapping/JoinConverter.java > PRE-CREATION > > fluent-job/fluent-job-api/src/main/java/org/apache/oozie/fluentjob/api/mapping/MapToConfigurationPropertyConverter.java > PRE-CREATION > > fluent-job/fluent-job-api/src/main/java/org/apache/oozie/fluentjob/api/mapping/ParametersConverter.java > PRE-CREATION > > fluent-job/fluent-job-api/src/main/java/org/apache/oozie/fluentjob/api/mapping/RealChildLocator.java > PRE-CREATION > > fluent-job/fluent-job-api/src/main/java/org/apache/oozie/fluentjob/api/mapping/ShellConfigurationConverter.java > PRE-CREATION > > fluent-job/fluent-job-api/src/main/java/org/apache/oozie/fluentjob/api/mapping/ShellLauncherConverter.java > PRE-CREATION > > fluent-job/fluent-job-api/src/main/java/org/apache/oozie/fluentjob/api/mapping/ShellPrepareConverter.java > PRE-CREATION > > fluent-job/fluent-job-api/src/main/java/org/apache/oozie/fluentjob/api/mapping/SparkConfigurationConverter.java > PRE-CREATION > > fluent-job/fluent-job-api/src/main/java/org/apache/oozie/fluentjob/api/mapping/SparkLauncherConverter.java > PRE-CREATION > > fluent-job/fluent-job-api/src/main/java/org/apache/oozie/fluentjob/api/mapping/SparkPrepareConverter.java > PRE-CREATION > > fluent-job/fluent-job-api/src/main/java/org/apache/oozie/fluentjob/api/mapping/SqoopConfigurationConverter.java > PRE-CREATION > > fluent-job/fluent-job-api/src/main/java/org/apache/oozie/fluentjob/api/mapping/SqoopLauncherConverter.java > PRE-CREATION > > fluent-job/fluent-job-api/src/main/java/org/apache/oozie/fluentjob/api/mapping/SqoopPrepareConverter.java > PRE-CREATION > > fluent-job/fluent-job-api/src/main/java/org/apache/oozie/fluentjob/api/mapping/StartConverter.java > PRE-CREATION > > fluent-job/fluent-job-api/src/main/java/org/apache/oozie/fluentjob/api/serialization/WorkflowMarshaller.java > PRE-CREATION > > fluent-job/fluent-job-api/src/main/java/org/apache/oozie/fluentjob/api/workflow/ConfigurationEntry.java > PRE-CREATION > > fluent-job/fluent-job-api/src/main/java/org/apache/oozie/fluentjob/api/workflow/Credential.java > PRE-CREATION > > fluent-job/fluent-job-api/src/main/java/org/apache/oozie/fluentjob/api/workflow/Credentials.java > PRE-CREATION > > fluent-job/fluent-job-api/src/main/java/org/apache/oozie/fluentjob/api/workflow/CredentialsBuilder.java > PRE-CREATION > > fluent-job/fluent-job-api/src/main/java/org/apache/oozie/fluentjob/api/workflow/Global.java > PRE-CREATION > > fluent-job/fluent-job-api/src/main/java/org/apache/oozie/fluentjob/api/workflow/GlobalBuilder.java > PRE-CREATION > > fluent-job/fluent-job-api/src/main/java/org/apache/oozie/fluentjob/api/workflow/Parameter.java > PRE-CREATION > > fluent-job/fluent-job-api/src/main/java/org/apache/oozie/fluentjob/api/workflow/Parameters.java > PRE-CREATION > > fluent-job/fluent-job-api/src/main/java/org/apache/oozie/fluentjob/api/workflow/ParametersBuilder.java > PRE-CREATION > > fluent-job/fluent-job-api/src/main/java/org/apache/oozie/fluentjob/api/workflow/Workflow.java > PRE-CREATION > > fluent-job/fluent-job-api/src/main/java/org/apache/oozie/fluentjob/api/workflow/WorkflowBuilder.java > PRE-CREATION > fluent-job/fluent-job-api/src/main/resources/action_mappings.xml > PRE-CREATION > fluent-job/fluent-job-api/src/main/resources/checkstyle-header.txt > PRE-CREATION > fluent-job/fluent-job-api/src/main/resources/checkstyle.xml PRE-CREATION > fluent-job/fluent-job-api/src/main/resources/dozer_config.xml PRE-CREATION > fluent-job/fluent-job-api/src/main/resources/mappingGraphToWORKFLOWAPP.xml > PRE-CREATION > fluent-job/fluent-job-api/src/main/xjb/bindings.xml PRE-CREATION > > fluent-job/fluent-job-api/src/test/java/org/apache/oozie/fluentjob/api/NodesToPng.java > PRE-CREATION > > fluent-job/fluent-job-api/src/test/java/org/apache/oozie/fluentjob/api/TestCondition.java > PRE-CREATION > > fluent-job/fluent-job-api/src/test/java/org/apache/oozie/fluentjob/api/TestModifyOnce.java > PRE-CREATION > > fluent-job/fluent-job-api/src/test/java/org/apache/oozie/fluentjob/api/action/TestActionAttributesBuilder.java > PRE-CREATION > > fluent-job/fluent-job-api/src/test/java/org/apache/oozie/fluentjob/api/action/TestChBaseBuilder.java > PRE-CREATION > > fluent-job/fluent-job-api/src/test/java/org/apache/oozie/fluentjob/api/action/TestChgrpBuilder.java > PRE-CREATION > > fluent-job/fluent-job-api/src/test/java/org/apache/oozie/fluentjob/api/action/TestChmodBuilder.java > PRE-CREATION > > fluent-job/fluent-job-api/src/test/java/org/apache/oozie/fluentjob/api/action/TestDelete.java > PRE-CREATION > > fluent-job/fluent-job-api/src/test/java/org/apache/oozie/fluentjob/api/action/TestDistcpActionBuilder.java > PRE-CREATION > > fluent-job/fluent-job-api/src/test/java/org/apache/oozie/fluentjob/api/action/TestEmailActionBuilder.java > PRE-CREATION > > fluent-job/fluent-job-api/src/test/java/org/apache/oozie/fluentjob/api/action/TestErrorHandler.java > PRE-CREATION > > fluent-job/fluent-job-api/src/test/java/org/apache/oozie/fluentjob/api/action/TestFSActionBuilder.java > PRE-CREATION > > fluent-job/fluent-job-api/src/test/java/org/apache/oozie/fluentjob/api/action/TestHive2ActionBuilder.java > PRE-CREATION > > fluent-job/fluent-job-api/src/test/java/org/apache/oozie/fluentjob/api/action/TestHiveActionBuilder.java > PRE-CREATION > > fluent-job/fluent-job-api/src/test/java/org/apache/oozie/fluentjob/api/action/TestJavaActionBuilder.java > PRE-CREATION > > fluent-job/fluent-job-api/src/test/java/org/apache/oozie/fluentjob/api/action/TestLauncherBuilder.java > PRE-CREATION > > fluent-job/fluent-job-api/src/test/java/org/apache/oozie/fluentjob/api/action/TestMapReduceActionBuilder.java > PRE-CREATION > > fluent-job/fluent-job-api/src/test/java/org/apache/oozie/fluentjob/api/action/TestMove.java > PRE-CREATION > > fluent-job/fluent-job-api/src/test/java/org/apache/oozie/fluentjob/api/action/TestNodeBuilderBaseImpl.java > PRE-CREATION > > fluent-job/fluent-job-api/src/test/java/org/apache/oozie/fluentjob/api/action/TestPigActionBuilder.java > PRE-CREATION > > fluent-job/fluent-job-api/src/test/java/org/apache/oozie/fluentjob/api/action/TestPipesBuilder.java > PRE-CREATION > > fluent-job/fluent-job-api/src/test/java/org/apache/oozie/fluentjob/api/action/TestPrepareBuilder.java > PRE-CREATION > > fluent-job/fluent-job-api/src/test/java/org/apache/oozie/fluentjob/api/action/TestShellActionBuilder.java > PRE-CREATION > > fluent-job/fluent-job-api/src/test/java/org/apache/oozie/fluentjob/api/action/TestSparkActionBuilder.java > PRE-CREATION > > fluent-job/fluent-job-api/src/test/java/org/apache/oozie/fluentjob/api/action/TestSqoopActionBuilder.java > PRE-CREATION > > fluent-job/fluent-job-api/src/test/java/org/apache/oozie/fluentjob/api/action/TestSshActionBuilder.java > PRE-CREATION > > fluent-job/fluent-job-api/src/test/java/org/apache/oozie/fluentjob/api/action/TestStreamingBuilder.java > PRE-CREATION > > fluent-job/fluent-job-api/src/test/java/org/apache/oozie/fluentjob/api/action/TestSubWorkflowBuilder.java > PRE-CREATION > > fluent-job/fluent-job-api/src/test/java/org/apache/oozie/fluentjob/api/action/TestTouchz.java > PRE-CREATION > > fluent-job/fluent-job-api/src/test/java/org/apache/oozie/fluentjob/api/dag/TestDecision.java > PRE-CREATION > > fluent-job/fluent-job-api/src/test/java/org/apache/oozie/fluentjob/api/dag/TestDecisionJoin.java > PRE-CREATION > > fluent-job/fluent-job-api/src/test/java/org/apache/oozie/fluentjob/api/dag/TestEnd.java > PRE-CREATION > > fluent-job/fluent-job-api/src/test/java/org/apache/oozie/fluentjob/api/dag/TestExplicitNode.java > PRE-CREATION > > fluent-job/fluent-job-api/src/test/java/org/apache/oozie/fluentjob/api/dag/TestFork.java > PRE-CREATION > > fluent-job/fluent-job-api/src/test/java/org/apache/oozie/fluentjob/api/dag/TestGraph.java > PRE-CREATION > > fluent-job/fluent-job-api/src/test/java/org/apache/oozie/fluentjob/api/dag/TestJoin.java > PRE-CREATION > > fluent-job/fluent-job-api/src/test/java/org/apache/oozie/fluentjob/api/dag/TestJoiningNodeBase.java > PRE-CREATION > > fluent-job/fluent-job-api/src/test/java/org/apache/oozie/fluentjob/api/dag/TestNodeBase.java > PRE-CREATION > > fluent-job/fluent-job-api/src/test/java/org/apache/oozie/fluentjob/api/dag/TestStart.java > PRE-CREATION > > fluent-job/fluent-job-api/src/test/java/org/apache/oozie/fluentjob/api/factory/MultipleShellNodesWorkflowFactory.java > PRE-CREATION > > fluent-job/fluent-job-api/src/test/java/org/apache/oozie/fluentjob/api/factory/SimpleWorkflowFactory.java > PRE-CREATION > > fluent-job/fluent-job-api/src/test/java/org/apache/oozie/fluentjob/api/mapping/TestConfigurationMapping.java > PRE-CREATION > > fluent-job/fluent-job-api/src/test/java/org/apache/oozie/fluentjob/api/mapping/TestControlNodeMappingBase.java > PRE-CREATION > > fluent-job/fluent-job-api/src/test/java/org/apache/oozie/fluentjob/api/mapping/TestCredentialsMapping.java > PRE-CREATION > > fluent-job/fluent-job-api/src/test/java/org/apache/oozie/fluentjob/api/mapping/TestDecisionMapping.java > PRE-CREATION > > fluent-job/fluent-job-api/src/test/java/org/apache/oozie/fluentjob/api/mapping/TestDeleteMapping.java > PRE-CREATION > > fluent-job/fluent-job-api/src/test/java/org/apache/oozie/fluentjob/api/mapping/TestDistcpActionMapping.java > PRE-CREATION > > fluent-job/fluent-job-api/src/test/java/org/apache/oozie/fluentjob/api/mapping/TestEmailActionMapping.java > PRE-CREATION > > fluent-job/fluent-job-api/src/test/java/org/apache/oozie/fluentjob/api/mapping/TestEndMapping.java > PRE-CREATION > > fluent-job/fluent-job-api/src/test/java/org/apache/oozie/fluentjob/api/mapping/TestExplicitNodeMapping.java > PRE-CREATION > > fluent-job/fluent-job-api/src/test/java/org/apache/oozie/fluentjob/api/mapping/TestFSActionMapping.java > PRE-CREATION > > fluent-job/fluent-job-api/src/test/java/org/apache/oozie/fluentjob/api/mapping/TestForkMapping.java > PRE-CREATION > > fluent-job/fluent-job-api/src/test/java/org/apache/oozie/fluentjob/api/mapping/TestGlobalMapping.java > PRE-CREATION > > fluent-job/fluent-job-api/src/test/java/org/apache/oozie/fluentjob/api/mapping/TestGraphMapping.java > PRE-CREATION > > fluent-job/fluent-job-api/src/test/java/org/apache/oozie/fluentjob/api/mapping/TestHive2ActionMapping.java > PRE-CREATION > > fluent-job/fluent-job-api/src/test/java/org/apache/oozie/fluentjob/api/mapping/TestHiveActionMapping.java > PRE-CREATION > > fluent-job/fluent-job-api/src/test/java/org/apache/oozie/fluentjob/api/mapping/TestJavaActionMapping.java > PRE-CREATION > > fluent-job/fluent-job-api/src/test/java/org/apache/oozie/fluentjob/api/mapping/TestJoinMapping.java > PRE-CREATION > > fluent-job/fluent-job-api/src/test/java/org/apache/oozie/fluentjob/api/mapping/TestMapReduceActionMapping.java > PRE-CREATION > > fluent-job/fluent-job-api/src/test/java/org/apache/oozie/fluentjob/api/mapping/TestMappings.java > PRE-CREATION > > fluent-job/fluent-job-api/src/test/java/org/apache/oozie/fluentjob/api/mapping/TestMkdirMapping.java > PRE-CREATION > > fluent-job/fluent-job-api/src/test/java/org/apache/oozie/fluentjob/api/mapping/TestParametersMapping.java > PRE-CREATION > > fluent-job/fluent-job-api/src/test/java/org/apache/oozie/fluentjob/api/mapping/TestPigActionMapping.java > PRE-CREATION > > fluent-job/fluent-job-api/src/test/java/org/apache/oozie/fluentjob/api/mapping/TestPipesMapping.java > PRE-CREATION > > fluent-job/fluent-job-api/src/test/java/org/apache/oozie/fluentjob/api/mapping/TestPrepareMapping.java > PRE-CREATION > > fluent-job/fluent-job-api/src/test/java/org/apache/oozie/fluentjob/api/mapping/TestShellActionMapping.java > PRE-CREATION > > fluent-job/fluent-job-api/src/test/java/org/apache/oozie/fluentjob/api/mapping/TestSparkActionMapping.java > PRE-CREATION > > fluent-job/fluent-job-api/src/test/java/org/apache/oozie/fluentjob/api/mapping/TestSqoopActionMapping.java > PRE-CREATION > > fluent-job/fluent-job-api/src/test/java/org/apache/oozie/fluentjob/api/mapping/TestSshActionMapping.java > PRE-CREATION > > fluent-job/fluent-job-api/src/test/java/org/apache/oozie/fluentjob/api/mapping/TestStartMapping.java > PRE-CREATION > > fluent-job/fluent-job-api/src/test/java/org/apache/oozie/fluentjob/api/mapping/TestStreamingMapping.java > PRE-CREATION > > fluent-job/fluent-job-api/src/test/java/org/apache/oozie/fluentjob/api/mapping/TestSubWorkflowActionMapping.java > PRE-CREATION > > fluent-job/fluent-job-api/src/test/java/org/apache/oozie/fluentjob/api/workflow/TestCredentialsBuilder.java > PRE-CREATION > > fluent-job/fluent-job-api/src/test/java/org/apache/oozie/fluentjob/api/workflow/TestGlobalBuilder.java > PRE-CREATION > > fluent-job/fluent-job-api/src/test/java/org/apache/oozie/fluentjob/api/workflow/TestParametersBuilder.java > PRE-CREATION > > fluent-job/fluent-job-api/src/test/java/org/apache/oozie/fluentjob/api/workflow/TestWorkflowBuilder.java > PRE-CREATION > fluent-job/fluent-job-client/pom.xml PRE-CREATION > > fluent-job/fluent-job-client/src/test/java/org/apache/oozie/jobs/client/jaxb/TestJAXBWorkflow.java > PRE-CREATION > > fluent-job/fluent-job-client/src/test/java/org/apache/oozie/jobs/client/minitest/TestDistcpAction.java > PRE-CREATION > > fluent-job/fluent-job-client/src/test/java/org/apache/oozie/jobs/client/minitest/TestEmailAction.java > PRE-CREATION > > fluent-job/fluent-job-client/src/test/java/org/apache/oozie/jobs/client/minitest/TestFSAction.java > PRE-CREATION > > fluent-job/fluent-job-client/src/test/java/org/apache/oozie/jobs/client/minitest/TestHive2Action.java > PRE-CREATION > > fluent-job/fluent-job-client/src/test/java/org/apache/oozie/jobs/client/minitest/TestHiveAction.java > PRE-CREATION > > fluent-job/fluent-job-client/src/test/java/org/apache/oozie/jobs/client/minitest/TestJavaAction.java > PRE-CREATION > > fluent-job/fluent-job-client/src/test/java/org/apache/oozie/jobs/client/minitest/TestMapReduceAction.java > PRE-CREATION > > fluent-job/fluent-job-client/src/test/java/org/apache/oozie/jobs/client/minitest/TestPigAction.java > PRE-CREATION > > fluent-job/fluent-job-client/src/test/java/org/apache/oozie/jobs/client/minitest/TestShellAction.java > PRE-CREATION > > fluent-job/fluent-job-client/src/test/java/org/apache/oozie/jobs/client/minitest/TestSparkAction.java > PRE-CREATION > > fluent-job/fluent-job-client/src/test/java/org/apache/oozie/jobs/client/minitest/TestSqoopAction.java > PRE-CREATION > > fluent-job/fluent-job-client/src/test/java/org/apache/oozie/jobs/client/minitest/TestSshAction.java > PRE-CREATION > fluent-job/fluent-job-client/src/test/resources/workflow-all-actions.xml > PRE-CREATION > > fluent-job/fluent-job-client/src/test/resources/workflow-mapreduce-action.xml > PRE-CREATION > fluent-job/pom.xml PRE-CREATION > minitest/pom.xml 1847838201bff1f9aa0e349f56b8a9c8ee2f1137 > 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 d9fe1b20f571b1a6afacb3ce53f4d409dd3d60b1 > > > Diff: https://reviews.apache.org/r/64029/diff/7/ > > > 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 > >