You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@oozie.apache.org by vi...@apache.org on 2012/08/21 19:20:41 UTC

svn commit: r1375671 [2/2] - in /incubator/oozie/trunk: ./ client/src/main/java/org/apache/oozie/client/rest/ core/ core/src/main/java/org/apache/oozie/client/rest/ core/src/main/java/org/apache/oozie/servlet/ core/src/main/java/org/apache/oozie/util/ ...

Added: incubator/oozie/trunk/core/src/test/resources/invalidGraphWF.xml
URL: http://svn.apache.org/viewvc/incubator/oozie/trunk/core/src/test/resources/invalidGraphWF.xml?rev=1375671&view=auto
==============================================================================
--- incubator/oozie/trunk/core/src/test/resources/invalidGraphWF.xml (added)
+++ incubator/oozie/trunk/core/src/test/resources/invalidGraphWF.xml Tue Aug 21 17:20:40 2012
@@ -0,0 +1,490 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<workflow-app xmlns="uri:oozie:workflow:0.2" name="sm3-segment-3908-251483">
+    <start to="or_0_1"/>
+    <kill name="kill">
+        <message>killed message</message>
+    </kill>
+    <action name="or_0_1">
+        <pig>
+            <job-tracker>${jobTracker}</job-tracker>
+            <name-node>${nameNode}</name-node>
+            <prepare>
+                <delete path="${nameNode}/projects/sm3/root/request/251483/output/pig/or_0_1"/>
+            </prepare>
+            <configuration>
+                <property>
+                    <name>mapreduce.reduce.input.limit</name>
+                    <value>-1</value>
+                </property>
+                <property>
+                    <name>mapred.job.queue.name</name>
+                    <value>${queueName}</value>
+                </property>
+                <property>
+                    <name>mapreduce.job.acl-view-job</name>
+                    <value>${SM_H20S_VIEWJOB}</value>
+                </property>
+                <property>
+                    <name>oozie.launcher.mapreduce.job.acl-view-job</name>
+                    <value>${SM_H20S_VIEWJOB}</value>
+                </property>
+                <property>
+                    <name>mapred.map.tasks.speculative.execution</name>
+                    <value>false</value>
+                </property>
+                <property>
+                    <name>mapred.reduce.tasks.speculative.execution</name>
+                    <value>false</value>
+                </property>
+                <property>
+                    <name>oozie.launcher.mapred.child.java.opts</name>
+                    <value>${OOZIE_LAUNCHER_MAPRED_CHILD_JAVA_OPTS}</value>
+                </property>
+                <property>
+                    <name>SM3.DUMMYSID</name>
+                    <value>FALSE</value>
+                </property>
+            </configuration>
+            <script>script/pig/sm3-segment-3908-251483-or_0_1.pig</script>
+            <param>REDUCERS=15</param>
+            <param>OUTPUT=/projects/sm3/root/request/251483/output/pig/or_0_1</param>
+            <param>INPUT1=/projects/sm3/root/segment/235/2/20120308_20120308</param>
+            <param>USERTYPE1=yuid</param>
+            <param>INPUT2=/projects/sm3/root/segment/236/2/20120308_20120308</param>
+            <param>USERTYPE2=yuid</param>
+        </pig>
+        <ok to="or_or_0_1_2"/>
+        <error to="kill"/>
+    </action>
+    <action name="or_or_0_1_2">
+        <pig>
+            <job-tracker>${jobTracker}</job-tracker>
+            <name-node>${nameNode}</name-node>
+            <prepare>
+                <delete path="${nameNode}/projects/sm3/root/request/251483/output/pig/or_or_0_1_2"/>
+            </prepare>
+            <configuration>
+                <property>
+                    <name>mapreduce.reduce.input.limit</name>
+                    <value>-1</value>
+                </property>
+                <property>
+                    <name>mapred.job.queue.name</name>
+                    <value>${queueName}</value>
+                </property>
+                <property>
+                    <name>mapreduce.job.acl-view-job</name>
+                    <value>${SM_H20S_VIEWJOB}</value>
+                </property>
+                <property>
+                    <name>oozie.launcher.mapreduce.job.acl-view-job</name>
+                    <value>${SM_H20S_VIEWJOB}</value>
+                </property>
+                <property>
+                    <name>mapred.map.tasks.speculative.execution</name>
+                    <value>false</value>
+                </property>
+                <property>
+                    <name>mapred.reduce.tasks.speculative.execution</name>
+                    <value>false</value>
+                </property>
+                <property>
+                    <name>oozie.launcher.mapred.child.java.opts</name>
+                    <value>${OOZIE_LAUNCHER_MAPRED_CHILD_JAVA_OPTS}</value>
+                </property>
+                <property>
+                    <name>SM3.DUMMYSID</name>
+                    <value>FALSE</value>
+                </property>
+            </configuration>
+            <script>script/pig/sm3-segment-3908-251483-or_or_0_1_2.pig</script>
+            <param>REDUCERS=15</param>
+            <param>OUTPUT=/projects/sm3/root/request/251483/output/pig/or_or_0_1_2</param>
+            <param>INPUT1=/projects/sm3/root/request/251483/output/pig/or_0_1</param>
+            <param>USERTYPE1=yuid</param>
+            <param>INPUT2=/projects/sm3/root/segment/237/2/20120308_20120308</param>
+            <param>USERTYPE2=yuid</param>
+        </pig>
+        <ok to="or_or_0_1_3"/>
+        <error to="kill"/>
+    </action>
+    <action name="or_or_0_1_3">
+        <pig>
+            <job-tracker>${jobTracker}</job-tracker>
+            <name-node>${nameNode}</name-node>
+            <prepare>
+                <delete path="${nameNode}/projects/sm3/root/request/251483/output/pig/or_or_0_1_3"/>
+            </prepare>
+            <configuration>
+                <property>
+                    <name>mapreduce.reduce.input.limit</name>
+                    <value>-1</value>
+                </property>
+                <property>
+                    <name>mapred.job.queue.name</name>
+                    <value>${queueName}</value>
+                </property>
+                <property>
+                    <name>mapreduce.job.acl-view-job</name>
+                    <value>${SM_H20S_VIEWJOB}</value>
+                </property>
+                <property>
+                    <name>oozie.launcher.mapreduce.job.acl-view-job</name>
+                    <value>${SM_H20S_VIEWJOB}</value>
+                </property>
+                <property>
+                    <name>mapred.map.tasks.speculative.execution</name>
+                    <value>false</value>
+                </property>
+                <property>
+                    <name>mapred.reduce.tasks.speculative.execution</name>
+                    <value>false</value>
+                </property>
+                <property>
+                    <name>oozie.launcher.mapred.child.java.opts</name>
+                    <value>${OOZIE_LAUNCHER_MAPRED_CHILD_JAVA_OPTS}</value>
+                </property>
+                <property>
+                    <name>SM3.DUMMYSID</name>
+                    <value>FALSE</value>
+                </property>
+            </configuration>
+            <script>script/pig/sm3-segment-3908-251483-or_or_0_1_3.pig</script>
+            <param>REDUCERS=15</param>
+            <param>OUTPUT=/projects/sm3/root/request/251483/output/pig/or_or_0_1_3</param>
+            <param>INPUT1=/projects/sm3/root/request/251483/output/pig/or_or_0_1_2</param>
+            <param>USERTYPE1=yuid</param>
+            <param>INPUT2=/projects/sm3/root/segment/238/2/20120308_20120308</param>
+            <param>USERTYPE2=yuid</param>
+        </pig>
+        <ok to="or_or_0_1_4"/>
+        <error to="kill"/>
+    </action>
+    <action name="or_or_0_1_4">
+        <pig>
+            <job-tracker>${jobTracker}</job-tracker>
+            <name-node>${nameNode}</name-node>
+            <prepare>
+                <delete path="${nameNode}/projects/sm3/root/request/251483/output/pig/or_or_0_1_4"/>
+            </prepare>
+            <configuration>
+                <property>
+                    <name>mapreduce.reduce.input.limit</name>
+                    <value>-1</value>
+                </property>
+                <property>
+                    <name>mapred.job.queue.name</name>
+                    <value>${queueName}</value>
+                </property>
+                <property>
+                    <name>mapreduce.job.acl-view-job</name>
+                    <value>${SM_H20S_VIEWJOB}</value>
+                </property>
+                <property>
+                    <name>oozie.launcher.mapreduce.job.acl-view-job</name>
+                    <value>${SM_H20S_VIEWJOB}</value>
+                </property>
+                <property>
+                    <name>mapred.map.tasks.speculative.execution</name>
+                    <value>false</value>
+                </property>
+                <property>
+                    <name>mapred.reduce.tasks.speculative.execution</name>
+                    <value>false</value>
+                </property>
+                <property>
+                    <name>oozie.launcher.mapred.child.java.opts</name>
+                    <value>${OOZIE_LAUNCHER_MAPRED_CHILD_JAVA_OPTS}</value>
+                </property>
+                <property>
+                    <name>SM3.DUMMYSID</name>
+                    <value>FALSE</value>
+                </property>
+            </configuration>
+            <script>script/pig/sm3-segment-3908-251483-or_or_0_1_4.pig</script>
+            <param>REDUCERS=15</param>
+            <param>OUTPUT=/projects/sm3/root/request/251483/output/pig/or_or_0_1_4</param>
+            <param>INPUT1=/projects/sm3/root/request/251483/output/pig/or_or_0_1_3</param>
+            <param>USERTYPE1=yuid</param>
+            <param>INPUT2=/projects/sm3/root/segment/239/2/20120308_20120308</param>
+            <param>USERTYPE2=yuid</param>
+        </pig>
+        <ok to="or_or_0_1_5"/>
+        <error to="kill"/>
+    </action>
+    <action name="or_or_0_1_5">
+        <pig>
+            <job-tracker>${jobTracker}</job-tracker>
+            <name-node>${nameNode}</name-node>
+            <prepare>
+                <delete path="${nameNode}/projects/sm3/root/request/251483/output/pig/or_or_0_1_5"/>
+            </prepare>
+            <configuration>
+                <property>
+                    <name>mapreduce.reduce.input.limit</name>
+                    <value>-1</value>
+                </property>
+                <property>
+                    <name>mapred.job.queue.name</name>
+                    <value>${queueName}</value>
+                </property>
+                <property>
+                    <name>mapreduce.job.acl-view-job</name>
+                    <value>${SM_H20S_VIEWJOB}</value>
+                </property>
+                <property>
+                    <name>oozie.launcher.mapreduce.job.acl-view-job</name>
+                    <value>${SM_H20S_VIEWJOB}</value>
+                </property>
+                <property>
+                    <name>mapred.map.tasks.speculative.execution</name>
+                    <value>false</value>
+                </property>
+                <property>
+                    <name>mapred.reduce.tasks.speculative.execution</name>
+                    <value>false</value>
+                </property>
+                <property>
+                    <name>oozie.launcher.mapred.child.java.opts</name>
+                    <value>${OOZIE_LAUNCHER_MAPRED_CHILD_JAVA_OPTS}</value>
+                </property>
+                <property>
+                    <name>SM3.DUMMYSID</name>
+                    <value>FALSE</value>
+                </property>
+            </configuration>
+            <script>script/pig/sm3-segment-3908-251483-or_or_0_1_5.pig</script>
+            <param>REDUCERS=15</param>
+            <param>OUTPUT=/projects/sm3/root/request/251483/output/pig/or_or_0_1_5</param>
+            <param>INPUT1=/projects/sm3/root/request/251483/output/pig/or_or_0_1_4</param>
+            <param>USERTYPE1=yuid</param>
+            <param>INPUT2=/projects/sm3/root/segment/240/2/20120308_20120308</param>
+            <param>USERTYPE2=yuid</param>
+        </pig>
+        <ok to="or_or_0_1_6_bad"/>
+        <error to="kill"/>
+    </action>
+    <action name="or_or_0_1_6">
+        <pig>
+            <job-tracker>${jobTracker}</job-tracker>
+            <name-node>${nameNode}</name-node>
+            <prepare>
+                <delete path="${nameNode}/projects/sm3/root/request/251483/output/pig/or_or_0_1_6"/>
+            </prepare>
+            <configuration>
+                <property>
+                    <name>mapreduce.reduce.input.limit</name>
+                    <value>-1</value>
+                </property>
+                <property>
+                    <name>mapred.job.queue.name</name>
+                    <value>${queueName}</value>
+                </property>
+                <property>
+                    <name>mapreduce.job.acl-view-job</name>
+                    <value>${SM_H20S_VIEWJOB}</value>
+                </property>
+                <property>
+                    <name>oozie.launcher.mapreduce.job.acl-view-job</name>
+                    <value>${SM_H20S_VIEWJOB}</value>
+                </property>
+                <property>
+                    <name>mapred.map.tasks.speculative.execution</name>
+                    <value>false</value>
+                </property>
+                <property>
+                    <name>mapred.reduce.tasks.speculative.execution</name>
+                    <value>false</value>
+                </property>
+                <property>
+                    <name>oozie.launcher.mapred.child.java.opts</name>
+                    <value>${OOZIE_LAUNCHER_MAPRED_CHILD_JAVA_OPTS}</value>
+                </property>
+                <property>
+                    <name>SM3.DUMMYSID</name>
+                    <value>FALSE</value>
+                </property>
+            </configuration>
+            <script>script/pig/sm3-segment-3908-251483-or_or_0_1_6.pig</script>
+            <param>REDUCERS=15</param>
+            <param>OUTPUT=/projects/sm3/root/request/251483/output/pig/or_or_0_1_6</param>
+            <param>INPUT1=/projects/sm3/root/request/251483/output/pig/or_or_0_1_5</param>
+            <param>USERTYPE1=yuid</param>
+            <param>INPUT2=/projects/sm3/root/segment/241/2/20120308_20120308</param>
+            <param>USERTYPE2=yuid</param>
+        </pig>
+        <ok to="or_or_0_1_7"/>
+        <error to="kill"/>
+    </action>
+    <action name="or_or_0_1_7">
+        <pig>
+            <job-tracker>${jobTracker}</job-tracker>
+            <name-node>${nameNode}</name-node>
+            <prepare>
+                <delete path="${nameNode}/projects/sm3/root/request/251483/output/pig/or_or_0_1_7"/>
+            </prepare>
+            <configuration>
+                <property>
+                    <name>mapreduce.reduce.input.limit</name>
+                    <value>-1</value>
+                </property>
+                <property>
+                    <name>mapred.job.queue.name</name>
+                    <value>${queueName}</value>
+                </property>
+                <property>
+                    <name>mapreduce.job.acl-view-job</name>
+                    <value>${SM_H20S_VIEWJOB}</value>
+                </property>
+                <property>
+                    <name>oozie.launcher.mapreduce.job.acl-view-job</name>
+                    <value>${SM_H20S_VIEWJOB}</value>
+                </property>
+                <property>
+                    <name>mapred.map.tasks.speculative.execution</name>
+                    <value>false</value>
+                </property>
+                <property>
+                    <name>mapred.reduce.tasks.speculative.execution</name>
+                    <value>false</value>
+                </property>
+                <property>
+                    <name>oozie.launcher.mapred.child.java.opts</name>
+                    <value>${OOZIE_LAUNCHER_MAPRED_CHILD_JAVA_OPTS}</value>
+                </property>
+                <property>
+                    <name>SM3.DUMMYSID</name>
+                    <value>FALSE</value>
+                </property>
+            </configuration>
+            <script>script/pig/sm3-segment-3908-251483-or_or_0_1_7.pig</script>
+            <param>REDUCERS=15</param>
+            <param>OUTPUT=/projects/sm3/root/request/251483/output/pig/or_or_0_1_7</param>
+            <param>INPUT1=/projects/sm3/root/request/251483/output/pig/or_or_0_1_6</param>
+            <param>USERTYPE1=yuid</param>
+            <param>INPUT2=/projects/sm3/root/segment/242/2/20120308_20120308</param>
+            <param>USERTYPE2=yuid</param>
+        </pig>
+        <ok to="or_or_0_1_8"/>
+        <error to="kill"/>
+    </action>
+    <action name="or_or_0_1_8">
+        <pig>
+            <job-tracker>${jobTracker}</job-tracker>
+            <name-node>${nameNode}</name-node>
+            <prepare>
+                <delete path="${nameNode}/projects/sm3/root/request/251483/output/pig/or_or_0_1_8"/>
+            </prepare>
+            <configuration>
+                <property>
+                    <name>mapreduce.reduce.input.limit</name>
+                    <value>-1</value>
+                </property>
+                <property>
+                    <name>mapred.job.queue.name</name>
+                    <value>${queueName}</value>
+                </property>
+                <property>
+                    <name>mapreduce.job.acl-view-job</name>
+                    <value>${SM_H20S_VIEWJOB}</value>
+                </property>
+                <property>
+                    <name>oozie.launcher.mapreduce.job.acl-view-job</name>
+                    <value>${SM_H20S_VIEWJOB}</value>
+                </property>
+                <property>
+                    <name>mapred.map.tasks.speculative.execution</name>
+                    <value>false</value>
+                </property>
+                <property>
+                    <name>mapred.reduce.tasks.speculative.execution</name>
+                    <value>false</value>
+                </property>
+                <property>
+                    <name>oozie.launcher.mapred.child.java.opts</name>
+                    <value>${OOZIE_LAUNCHER_MAPRED_CHILD_JAVA_OPTS}</value>
+                </property>
+                <property>
+                    <name>SM3.DUMMYSID</name>
+                    <value>FALSE</value>
+                </property>
+            </configuration>
+            <script>script/pig/sm3-segment-3908-251483-or_or_0_1_8.pig</script>
+            <param>REDUCERS=15</param>
+            <param>OUTPUT=/projects/sm3/root/request/251483/output/pig/or_or_0_1_8</param>
+            <param>INPUT1=/projects/sm3/root/request/251483/output/pig/or_or_0_1_7</param>
+            <param>USERTYPE1=yuid</param>
+            <param>INPUT2=/projects/sm3/root/segment/243/2/20120308_20120308</param>
+            <param>USERTYPE2=yuid</param>
+        </pig>
+        <ok to="or_or_0_1_9"/>
+        <error to="kill"/>
+    </action>
+    <action name="or_or_0_1_9">
+        <pig>
+            <job-tracker>${jobTracker}</job-tracker>
+            <name-node>${nameNode}</name-node>
+            <prepare>
+                <delete path="${nameNode}/projects/sm3/root/segment/3908/8/20120308_20120308"/>
+            </prepare>
+            <configuration>
+                <property>
+                    <name>mapreduce.reduce.input.limit</name>
+                    <value>-1</value>
+                </property>
+                <property>
+                    <name>mapred.job.queue.name</name>
+                    <value>${queueName}</value>
+                </property>
+                <property>
+                    <name>mapreduce.job.acl-view-job</name>
+                    <value>${SM_H20S_VIEWJOB}</value>
+                </property>
+                <property>
+                    <name>oozie.launcher.mapreduce.job.acl-view-job</name>
+                    <value>${SM_H20S_VIEWJOB}</value>
+                </property>
+                <property>
+                    <name>mapred.map.tasks.speculative.execution</name>
+                    <value>false</value>
+                </property>
+                <property>
+                    <name>mapred.reduce.tasks.speculative.execution</name>
+                    <value>false</value>
+                </property>
+                <property>
+                    <name>oozie.launcher.mapred.child.java.opts</name>
+                    <value>${OOZIE_LAUNCHER_MAPRED_CHILD_JAVA_OPTS}</value>
+                </property>
+                <property>
+                    <name>SM3.DUMMYSID</name>
+                    <value>FALSE</value>
+                </property>
+            </configuration>
+            <script>script/pig/sm3-segment-3908-251483-or_or_0_1_9.pig</script>
+            <param>REDUCERS=15</param>
+            <param>OUTPUT=/projects/sm3/root/segment/3908/8/20120308_20120308</param>
+            <param>INPUT1=/projects/sm3/root/request/251483/output/pig/or_or_0_1_8</param>
+            <param>USERTYPE1=yuid</param>
+            <param>INPUT2=/projects/sm3/root/segment/244/2/20120308_20120308</param>
+            <param>USERTYPE2=yuid</param>
+        </pig>
+        <ok to="cleanup"/>
+        <error to="kill"/>
+    </action>
+    <action name="cleanup">
+        <fs>
+            <delete path="${nameNode}/projects/sm3/root/request/251483/output/pig/or_0_1"/>
+            <delete path="${nameNode}/projects/sm3/root/request/251483/output/pig/or_or_0_1_2"/>
+            <delete path="${nameNode}/projects/sm3/root/request/251483/output/pig/or_or_0_1_3"/>
+            <delete path="${nameNode}/projects/sm3/root/request/251483/output/pig/or_or_0_1_4"/>
+            <delete path="${nameNode}/projects/sm3/root/request/251483/output/pig/or_or_0_1_5"/>
+            <delete path="${nameNode}/projects/sm3/root/request/251483/output/pig/or_or_0_1_6"/>
+            <delete path="${nameNode}/projects/sm3/root/request/251483/output/pig/or_or_0_1_7"/>
+            <delete path="${nameNode}/projects/sm3/root/request/251483/output/pig/or_or_0_1_8"/>
+        </fs>
+        <ok to="end"/>
+        <error to="kill"/>
+    </action>
+    <end name="end"/>
+</workflow-app>
\ No newline at end of file

Modified: incubator/oozie/trunk/docs/src/site/twiki/WebServicesAPI.twiki
URL: http://svn.apache.org/viewvc/incubator/oozie/trunk/docs/src/site/twiki/WebServicesAPI.twiki?rev=1375671&r1=1375670&r2=1375671&view=diff
==============================================================================
--- incubator/oozie/trunk/docs/src/site/twiki/WebServicesAPI.twiki (original)
+++ incubator/oozie/trunk/docs/src/site/twiki/WebServicesAPI.twiki Tue Aug 21 17:20:40 2012
@@ -649,7 +649,7 @@ Content-Type: application/xml;charset=UT
 
 ---++++ Job Log
 
-A HTTP GET request retrieves the job log.
+An HTTP GET request retrieves the job log.
 
 *Request:*
 
@@ -669,6 +669,37 @@ Content-Type: text/plain;charset=UTF-8
 ...
 </verbatim>
 
+---++++ Job graph
+
+An =HTTP GET= request returns the image of the workflow DAG (rendered as a PNG image).
+   * The nodes that are being executed are painted yellow
+   * The nodes that have successfully executed are painted green
+   * The nodes that have failed execution are painted red
+   * The nodes that are yet to be executed are pained gray
+   * An arc painted green marks the successful path taken so far
+   * An arc painted red marks the failure of the node and highlights the _error_ action
+   * An arc painted gray marks a path not taken yet
+
+*Request:*
+<verbatim>
+GET /oozie/v1/job/job-3?show=graph[&show-kill=true]
+</verbatim>
+
+*Response:*
+<verbatim>
+HTTP/1.1 200 OK
+Content-Type: image/png
+Content-Length: {image_size_in_bytes}
+
+{image_bits}
+</verbatim>
+
+The optional =show-kill= parameter shows =kill= node in the graph. Valid values for this parameter are =1=, =yes=, and =true=. This parameter has no effect when workflow fails and the failure node leads to the =kill= node; in  that case =kill= node is shown always.
+
+The node labels are the node names provided in the workflow XML.
+
+This API returns =HTTP 400= when run on a resource other than a workflow, viz. bundle and coordinator.
+
 ---++++ Jobs Information
 
 A HTTP GET request retrieves workflow and coordinator jobs information.

Modified: incubator/oozie/trunk/release-log.txt
URL: http://svn.apache.org/viewvc/incubator/oozie/trunk/release-log.txt?rev=1375671&r1=1375670&r2=1375671&view=diff
==============================================================================
--- incubator/oozie/trunk/release-log.txt (original)
+++ incubator/oozie/trunk/release-log.txt Tue Aug 21 17:20:40 2012
@@ -1,5 +1,6 @@
 -- Oozie 3.3.0 release (trunk - unreleased)
 
+OOZIE-906 Show runtime job DAG visually in Oozie console/dashboard (vaidya via virag)
 OOZIE-958 typo in error message of E0736 (egashira via virag)
 OOZIE-923 Improve error message when a user tries to start a coordinator job (sms via virag)
 OOZIE-947 Forward porting OOZIE-733 to 3.2 and trunk (mona via virag)