[ https://issues.apache.org/jira/browse/OOZIE-2339?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16407429#comment-16407429 ]
Hadoop QA commented on OOZIE-2339: ---------------------------------- Testing JIRA OOZIE-2339 Cleaning local git workspace ---------------------------- {color:green}+1 PATCH_APPLIES{color} {color:green}+1 CLEAN{color} {color:red}-1 RAW_PATCH_ANALYSIS{color} . {color:green}+1{color} the patch does not introduce any @author tags . {color:red}-1{color} the patch contains 12 line(s) with tabs . {color:green}+1{color} the patch does not introduce any trailing spaces . {color:red}-1{color} the patch contains 37 line(s) longer than 132 characters . {color:green}+1{color} the patch adds/modifies 97 testcase(s) {color:red}-1 RAT{color} . {color:red}-1{color} the patch seems to introduce 1 new RAT warning(s) {color:green}+1 JAVADOC{color} . {color:green}+1{color} the patch does not seem to introduce new Javadoc warnings . {color:red}WARNING{color}: the current HEAD has 100 Javadoc warning(s) {color:red}-1 COMPILE{color} . {color:green}+1{color} HEAD compiles . {color:green}+1{color} patch compiles . {color:red}-1{color} the patch seems to introduce 11 new javac warning(s) {color:red}-1{color} There are [120] new bugs found below threshold in total that must be fixed. . {color:green}+1{color} There are no new bugs found in [docs]. . {color:red}-1{color} There are [114] new bugs found below threshold in [jobs/jobs-api] that must be fixed, listing only the first [5] ones. . You can find the FindBugs diff here (look for the red and orange ones): jobs/jobs-api/findbugs-new.html . The top [5] most important FindBugs errors are: . At GraphVisualization.java:[line 102]: java/io/File.<init>(Ljava/lang/String;Ljava/lang/String;)V reads a file whose location might be specified by user input . At GraphVisualization.java:[line 108]: java/io/File.<init>(Ljava/lang/String;Ljava/lang/String;)V reads a file whose location might be specified by user input . At NodeBuilderBaseImpl.java:[line 247]: The use of java.lang.Math.random() is predictable . At SimpleWorkflowFactory.java:[line 54]: Dead store to happyPath in org.apache.oozie.jobs.api.factory.SimpleWorkflowFactory.create() . At SimpleWorkflowFactory.java:[line 60]: Dead store to sadPath in org.apache.oozie.jobs.api.factory.SimpleWorkflowFactory.create() . {color:green}+1{color} There are no new bugs found in [sharelib/pig]. . {color:green}+1{color} There are no new bugs found in [sharelib/oozie]. . {color:green}+1{color} There are no new bugs found in [sharelib/hcatalog]. . {color:green}+1{color} There are no new bugs found in [sharelib/hive2]. . {color:green}+1{color} There are no new bugs found in [sharelib/distcp]. . {color:green}+1{color} There are no new bugs found in [sharelib/hive]. . {color:green}+1{color} There are no new bugs found in [sharelib/spark]. . {color:green}+1{color} There are no new bugs found in [sharelib/streaming]. . {color:green}+1{color} There are no new bugs found in [sharelib/sqoop]. . {color:green}+1{color} There are no new bugs found in [webapp]. . {color:green}+1{color} There are no new bugs found in [examples]. . {color:red}-1{color} There are [5] new bugs found below threshold in [client] that must be fixed. . You can find the FindBugs diff here (look for the red and orange ones): client/findbugs-new.html . The most important FindBugs errors are: . Dereferenced at ApiJarFactory.java:[line 86]: Possible null pointer dereference in org.apache.oozie.cli.ApiJarFactory.addWorkflowJarEntry(File, JarOutputStream) due to return value of called method . java/io/FileOutputStream.<init>(Ljava/lang/String;)V writes to a file whose location might be specified by user input: Known null at ApiJarFactory.java:[line 86] . At ApiJarFactory.java:[line 67]: At ApiJarFactory.java:[line 67] . At ApiJarLoader.java:[line 52]: org.apache.oozie.cli.ApiJarLoader.loadAndGenerate() may fail to close stream . At OozieCLI.java:[line 1396]: Found reliance on default encoding in org.apache.oozie.cli.OozieCLI.checkApiJar(XOozieClient, CommandLine, boolean): String.getBytes() . {color:green}+1{color} There are no new bugs found in [tools]. . {color:green}+1{color} There are no new bugs found in [server]. . {color:red}-1{color} There are [1] new bugs found below threshold in [core] that must be fixed. . You can find the FindBugs diff here (look for the red and orange ones): core/findbugs-new.html . The most important FindBugs errors are: . At V1JobsServlet.java:[line 163]: Found reliance on default encoding in org.apache.oozie.servlet.V1JobsServlet.checkAndWriteApplicationXMLToHDFS(String, Configuration): new java.io.OutputStreamWriter(OutputStream) {color:green}+1 BACKWARDS_COMPATIBILITY{color} . {color:green}+1{color} the patch does not change any JPA Entity/Colum/Basic/Lob/Transient annotations . {color:green}+1{color} the patch does not modify JPA files {color:red}-1 TESTS{color} . Tests run: 2824 . Tests failed: 5 . Tests errors: 9 . The patch failed the following testcases: testSubmit(org.apache.oozie.servlet.TestV1JobsServlet) testSubmitMapReduce2(org.apache.oozie.client.TestOozieCLI) testSubmitMapReduce(org.apache.oozie.client.TestOozieCLI) testSubmitPig(org.apache.oozie.client.TestOozieCLI) testJobDryrun(org.apache.oozie.client.TestOozieCLI) . Tests failing with errors: testSubmitMR(org.apache.oozie.client.TestWorkflowXClient) testSubmitSqoop(org.apache.oozie.client.TestWorkflowXClient) testSubmitPig(org.apache.oozie.client.TestWorkflowXClient) testSubmitHive(org.apache.oozie.client.TestWorkflowXClient) testValidateJar(org.apache.oozie.client.TestOozieCLI) testRunJarWithoutAppPath(org.apache.oozie.client.TestOozieCLI) testSubmitJarWithoutAppPath(org.apache.oozie.client.TestOozieCLI) testSubmitJar(org.apache.oozie.client.TestOozieCLI) testRunJar(org.apache.oozie.client.TestOozieCLI) . {color:orange}Tests failed at first run:{color} TestJavaActionExecutor#testCredentialsSkip TestHiveActionExecutor#testHiveAction . For the complete list of flaky tests, see TEST-SUMMARY-FULL files. {color:green}+1 DISTRO{color} . {color:green}+1{color} distro tarball builds with the patch ---------------------------- {color:red}*-1 Overall result, please check the reported -1(s)*{color} {color:red}. There is at least one warning, please check{color} The full output of the test-patch run is available at . https://builds.apache.org/job/PreCommit-OOZIE-Build/455/ > Provide an API for writing jobs based on the XSD schemas > -------------------------------------------------------- > > Key: OOZIE-2339 > URL: https://issues.apache.org/jira/browse/OOZIE-2339 > Project: Oozie > Issue Type: New Feature > Components: client > Affects Versions: 4.3.0 > Reporter: Robert Kanter > Assignee: Andras Piros > Priority: Major > Fix For: 5.1.0 > > Attachments: OOZIE-2339.001.patch, OOZIE-2339.002.patch, > OOZIE-2339.003.patch, OOZIE-2339.004.patch, OOZIE-2339.005.patch, > OOZIE-2339.006.patch, OOZIE-2339.008.patch, OOZIE-2339.010.patch, > OOZIE-2339.011.patch > > > Users often complain about the XML they have to write for Oozie jobs. It > would be nice if they could write them in something like Java, but we don't > want to have to maintain a separate Java API for this. I was looking around > and saw that JAXB might be the right thing here. From what I can tell, it > lets you create Java classes from XSD schemas. So, we should be able to > auto-generate a Java API for writing Oozie jobs, without having to really > maintain it. > We should investigate if this is feasible and, if so, implement it. > Some useful looking links: > * [JAXB > overview|https://en.wikipedia.org/wiki/Java_Architecture_for_XML_Binding] > * [JAXB description|https://jaxb.java.net/2.2.11/docs/ch03.html] > * [Maven JAXB plugin|https://java.net/projects/maven-jaxb2-plugin/pages/Home] > * [Apache Falcon|https://falcon.apache.org] > Key features: > * must have: > ** inside an {{oozie-jobs-api}} artifact > ** able to create workflow / coordinator / bundle definitions programmatically > ** synchronizing each and every XSD change on rebuild > ** can write {{workflow.xml}}, {{coordinator.xml}}, {{bundle.xml}}, and > {{jobs.properties}} artifacts of every XSD version > ** cloneability of workflow etc. {{Object}} s > ** perform cross checks, e.g. that the workflow graph is a DAG > ** only latest XSD versions should be supported as must have > * nice to have: > ** XSD version(s) can be provided. When not provided, latest ones are > considered as valid > ** implement a [*fluent API*|https://en.wikipedia.org/wiki/Fluent_interface] > ** have a Python / Jython REPL to make it easy to experiment > ** create documentation about usage > ** can read {{workflow.xml}}, {{coordinator.xml}}, {{bundle.xml}}, and > {{jobs.properties}} artifacts of every XSD version > ** can convert between XSD versions > ** support XSD change on the fly (within REPL) > ** support HDFS reads / writes > ** support dry run on an Oozie server to perform checks -- This message was sent by Atlassian JIRA (v7.6.3#76005)