falcon-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From samar...@apache.org
Subject [02/27] adding falcon-regression
Date Mon, 04 Aug 2014 10:04:01 GMT
http://git-wip-us.apache.org/repos/asf/incubator-falcon/blob/bdcf001f/falcon-regression/merlin/src/test/resources/hcat/hivescript/script_non_hcat_output.hql
----------------------------------------------------------------------
diff --git a/falcon-regression/merlin/src/test/resources/hcat/hivescript/script_non_hcat_output.hql b/falcon-regression/merlin/src/test/resources/hcat/hivescript/script_non_hcat_output.hql
new file mode 100644
index 0000000..27207cc
--- /dev/null
+++ b/falcon-regression/merlin/src/test/resources/hcat/hivescript/script_non_hcat_output.hql
@@ -0,0 +1,20 @@
+--
+-- Licensed to the Apache Software Foundation (ASF) under one
+-- or more contributor license agreements.  See the NOTICE file
+-- distributed with this work for additional information
+-- regarding copyright ownership.  The ASF licenses this file
+-- to you under the Apache License, Version 2.0 (the
+-- "License"); you may not use this file except in compliance
+-- with the License.  You may obtain a copy of the License at
+--
+--     http://www.apache.org/licenses/LICENSE-2.0
+--
+-- Unless required by applicable law or agreed to in writing, software
+-- distributed under the License is distributed on an "AS IS" BASIS,
+-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+-- See the License for the specific language governing permissions and
+-- limitations under the License.
+--
+
+INSERT OVERWRITE DIRECTORY '${outputData}'
+ SELECT id, value FROM ${falcon_inputData_table} WHERE ${falcon_inputData_filter};
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-falcon/blob/bdcf001f/falcon-regression/merlin/src/test/resources/hcat/hivescript/script_one_hcat_input_two_hcat_output.hql
----------------------------------------------------------------------
diff --git a/falcon-regression/merlin/src/test/resources/hcat/hivescript/script_one_hcat_input_two_hcat_output.hql b/falcon-regression/merlin/src/test/resources/hcat/hivescript/script_one_hcat_input_two_hcat_output.hql
new file mode 100644
index 0000000..eb037f2
--- /dev/null
+++ b/falcon-regression/merlin/src/test/resources/hcat/hivescript/script_one_hcat_input_two_hcat_output.hql
@@ -0,0 +1,22 @@
+--
+-- Licensed to the Apache Software Foundation (ASF) under one
+-- or more contributor license agreements.  See the NOTICE file
+-- distributed with this work for additional information
+-- regarding copyright ownership.  The ASF licenses this file
+-- to you under the Apache License, Version 2.0 (the
+-- "License"); you may not use this file except in compliance
+-- with the License.  You may obtain a copy of the License at
+--
+--     http://www.apache.org/licenses/LICENSE-2.0
+--
+-- Unless required by applicable law or agreed to in writing, software
+-- distributed under the License is distributed on an "AS IS" BASIS,
+-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+-- See the License for the specific language governing permissions and
+-- limitations under the License.
+--
+
+INSERT OVERWRITE TABLE ${falcon_outputData_database}.${falcon_outputData_table} PARTITION ${falcon_inputData_filter}
+ SELECT id, value FROM ${falcon_inputData_database}.${falcon_inputData_table} WHERE ${falcon_inputData_filter};
+INSERT OVERWRITE TABLE ${falcon_outputData2_database}.${falcon_outputData2_table} PARTITION ${falcon_inputData_filter}
+ SELECT id, value FROM ${falcon_inputData_database}.${falcon_inputData_table} WHERE ${falcon_inputData_filter};

http://git-wip-us.apache.org/repos/asf/incubator-falcon/blob/bdcf001f/falcon-regression/merlin/src/test/resources/hcat/hivescript/script_two_hcat_input_one_hcat_output.hql
----------------------------------------------------------------------
diff --git a/falcon-regression/merlin/src/test/resources/hcat/hivescript/script_two_hcat_input_one_hcat_output.hql b/falcon-regression/merlin/src/test/resources/hcat/hivescript/script_two_hcat_input_one_hcat_output.hql
new file mode 100644
index 0000000..e496fbd
--- /dev/null
+++ b/falcon-regression/merlin/src/test/resources/hcat/hivescript/script_two_hcat_input_one_hcat_output.hql
@@ -0,0 +1,21 @@
+--
+-- Licensed to the Apache Software Foundation (ASF) under one
+-- or more contributor license agreements.  See the NOTICE file
+-- distributed with this work for additional information
+-- regarding copyright ownership.  The ASF licenses this file
+-- to you under the Apache License, Version 2.0 (the
+-- "License"); you may not use this file except in compliance
+-- with the License.  You may obtain a copy of the License at
+--
+--     http://www.apache.org/licenses/LICENSE-2.0
+--
+-- Unless required by applicable law or agreed to in writing, software
+-- distributed under the License is distributed on an "AS IS" BASIS,
+-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+-- See the License for the specific language governing permissions and
+-- limitations under the License.
+--
+
+INSERT OVERWRITE TABLE ${falcon_outputData_database}.${falcon_outputData_table} PARTITION ${falcon_inputData_filter}
+ SELECT id, value FROM ${falcon_inputData_database}.${falcon_inputData_table} WHERE ${falcon_inputData_filter} UNION ALL
+ SELECT id, value FROM ${falcon_inputData2_database}.${falcon_inputData2_table} WHERE ${falcon_inputData2_filter};

http://git-wip-us.apache.org/repos/asf/incubator-falcon/blob/bdcf001f/falcon-regression/merlin/src/test/resources/hcat/hivescript/script_two_hcat_input_two_hcat_output.hql
----------------------------------------------------------------------
diff --git a/falcon-regression/merlin/src/test/resources/hcat/hivescript/script_two_hcat_input_two_hcat_output.hql b/falcon-regression/merlin/src/test/resources/hcat/hivescript/script_two_hcat_input_two_hcat_output.hql
new file mode 100644
index 0000000..b14fa67
--- /dev/null
+++ b/falcon-regression/merlin/src/test/resources/hcat/hivescript/script_two_hcat_input_two_hcat_output.hql
@@ -0,0 +1,24 @@
+--
+-- Licensed to the Apache Software Foundation (ASF) under one
+-- or more contributor license agreements.  See the NOTICE file
+-- distributed with this work for additional information
+-- regarding copyright ownership.  The ASF licenses this file
+-- to you under the Apache License, Version 2.0 (the
+-- "License"); you may not use this file except in compliance
+-- with the License.  You may obtain a copy of the License at
+--
+--     http://www.apache.org/licenses/LICENSE-2.0
+--
+-- Unless required by applicable law or agreed to in writing, software
+-- distributed under the License is distributed on an "AS IS" BASIS,
+-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+-- See the License for the specific language governing permissions and
+-- limitations under the License.
+--
+
+INSERT OVERWRITE TABLE ${falcon_outputData_database}.${falcon_outputData_table} PARTITION ${falcon_inputData_filter}
+ SELECT id, value FROM ${falcon_inputData_database}.${falcon_inputData_table} WHERE ${falcon_inputData_filter} UNION ALL
+ SELECT id, value FROM ${falcon_inputData2_database}.${falcon_inputData2_table} WHERE ${falcon_inputData2_filter};
+INSERT OVERWRITE TABLE ${falcon_outputData2_database}.${falcon_outputData2_table} PARTITION ${falcon_inputData_filter}
+ SELECT id, value FROM ${falcon_inputData_database}.${falcon_inputData_table} WHERE ${falcon_inputData_filter} UNION ALL
+ SELECT id, value FROM ${falcon_inputData2_database}.${falcon_inputData2_table} WHERE ${falcon_inputData2_filter};

http://git-wip-us.apache.org/repos/asf/incubator-falcon/blob/bdcf001f/falcon-regression/merlin/src/test/resources/hcat_2/cluster-0.1.xml
----------------------------------------------------------------------
diff --git a/falcon-regression/merlin/src/test/resources/hcat_2/cluster-0.1.xml b/falcon-regression/merlin/src/test/resources/hcat_2/cluster-0.1.xml
new file mode 100644
index 0000000..9be1b2c
--- /dev/null
+++ b/falcon-regression/merlin/src/test/resources/hcat_2/cluster-0.1.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+  -->
+
+<cluster colo="ua1" description="" name="corp" xmlns="uri:falcon:cluster:0.1"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+	<interfaces>
+		<interface type="readonly" endpoint="http://gs1001.grid.corp.inmobi.com:50070"
+			version="0.20.2" />
+		<interface type="write" endpoint="hdfs://gs1001.grid.corp.inmobi.com:8041"
+			version="0.20.2" />
+		<interface type="execute" endpoint="hdfs://gs1001.grid.corp.inmobi.com:8032"
+			version="0.20.2" />
+		<interface type="workflow"
+			endpoint="http://gs1001.grid.corp.inmobi.com:11000/oozie/" version="3.1" />
+		<interface type="messaging"
+			endpoint="tcp://gs1001.grid.corp.inmobi.com:61616?daemon=true"
+			version="5.1.6" />
+		<interface type="registry" endpoint="thrift://10.14.118.32:14003"
+			version="0.11.0" />
+
+	</interfaces>
+	<locations>
+		<location name="staging" path="/projects/ivory/staging" />
+		<location name="temp" path="/tmp" />
+		<location name="working" path="/projectsTest/ivory/working" />
+	</locations>
+	<properties>
+        <property name="hive.metastore.client.socket.timeout" value="120"/>
+		<property name="field1" value="value1" />
+		<property name="field2" value="value2" />
+	</properties>
+</cluster>

http://git-wip-us.apache.org/repos/asf/incubator-falcon/blob/bdcf001f/falcon-regression/merlin/src/test/resources/hcat_2/feed-template1.xml
----------------------------------------------------------------------
diff --git a/falcon-regression/merlin/src/test/resources/hcat_2/feed-template1.xml b/falcon-regression/merlin/src/test/resources/hcat_2/feed-template1.xml
new file mode 100644
index 0000000..2710ea7
--- /dev/null
+++ b/falcon-regression/merlin/src/test/resources/hcat_2/feed-template1.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+  -->
+<feed description="clicks log" name="raaw-logs16" xmlns="uri:falcon:feed:0.1"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+	
+
+	<frequency>minutes(20)</frequency>
+	<timezone>UTC</timezone>
+	<late-arrival cut-off="hours(6)" />
+
+	<clusters>
+		<cluster name="corp" type="source">
+			<validity start="2009-02-01T00:00Z" end="2099-05-01T00:00Z" />
+			<retention limit="months(9000)" action="delete" /> <!-- Limit can be in Time or Instances 100, Action ENUM DELETE,ARCHIVE -->
+		</cluster>
+	</clusters>
+
+	<table
+		uri="catalog:default:mytablepart3#year=${YEAR};month=${MONTH};day=${DAY};hour=${HOUR}" />
+
+	<ACL owner="testuser" group="group" permission="0x755" />
+	<schema location="hcat" provider="hcat" />
+
+	<properties>
+		<property name="field1" value="value1" />
+		<property name="field2" value="value2" />
+	</properties>
+</feed>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-falcon/blob/bdcf001f/falcon-regression/merlin/src/test/resources/hcat_2/feed-template2.xml
----------------------------------------------------------------------
diff --git a/falcon-regression/merlin/src/test/resources/hcat_2/feed-template2.xml b/falcon-regression/merlin/src/test/resources/hcat_2/feed-template2.xml
new file mode 100644
index 0000000..e189bc4
--- /dev/null
+++ b/falcon-regression/merlin/src/test/resources/hcat_2/feed-template2.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+  -->
+<feed description="clicks log" name="agregated-logs16" xmlns="uri:falcon:feed:0.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+<!--   <partitions>
+        <partition name="fraud" />
+        <partition name="good" />
+    </partitions>
+
+    <groups>online,bi</groups>-->
+
+    <frequency>hours(1)</frequency>
+<timezone>UTC</timezone>
+    <late-arrival cut-off="hours(6)" />
+
+    <clusters>
+        <cluster name="corp" type="source">
+            <validity start="2009-02-01T01:00Z" end="2099-05-01T00:00Z"
+           />
+            <retention limit="hours(6)" action="delete" /> <!-- Limit can be in Time or Instances 100, Action ENUM DELETE,ARCHIVE -->
+        </cluster>
+    </clusters>
+
+   <table uri="catalog:default:output_table#year=${YEAR};month=${MONTH};day=${DAY};hour=${HOUR}" />
+    
+    <ACL owner="testuser" group="group" permission="0x755" />
+    <schema location="hcat" provider="hcat" />
+
+    <properties>
+        <property name="field1" value="value1" />
+        <property name="field2" value="value2" />
+    </properties>
+</feed>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-falcon/blob/bdcf001f/falcon-regression/merlin/src/test/resources/hcat_2/process-agg.xml
----------------------------------------------------------------------
diff --git a/falcon-regression/merlin/src/test/resources/hcat_2/process-agg.xml b/falcon-regression/merlin/src/test/resources/hcat_2/process-agg.xml
new file mode 100644
index 0000000..edfc1af
--- /dev/null
+++ b/falcon-regression/merlin/src/test/resources/hcat_2/process-agg.xml
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+  -->
+
+<process name="agregator-coord16" xmlns="uri:falcon:process:0.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+
+       <clusters>
+        <cluster name="corp">
+           <validity end="2011-01-03T03:00Z" start="2010-01-02T01:00Z" />  
+        </cluster>
+      </clusters>
+	<parallel>1</parallel>
+	<order>FIFO</order>
+       <frequency>minutes(5)</frequency>
+	<timezone>UTC</timezone>
+	
+	<inputs>
+		<input end="now(0,0)" start="now(0,-20)"
+			feed="raaw-logs16" name="inputData"/>
+	</inputs>
+	<outputs>
+		<output instance="now(0,0)" feed="agregated-logs16"
+			name="outputData" />
+	</outputs>
+	<properties>
+		<property name="queueName" value="default"/>
+		
+       <property name="fileTime" value="${formatTime(dateOffset(instanceTime(), 1, 'DAY'), 'yyyy-MMM-dd')}"/>
+       <property name="user" value="${user()}"/>
+       <property name="baseTime" value="${today(0,0)}"/>
+   
+	</properties>
+	<workflow path="/examples/apps/aggregator" />
+	<retry policy="periodic" delay="minutes(3)" attempts="3" />
+
+</process>
+

http://git-wip-us.apache.org/repos/asf/incubator-falcon/blob/bdcf001f/falcon-regression/merlin/src/test/resources/impressionRC/cluster-0.1.xml
----------------------------------------------------------------------
diff --git a/falcon-regression/merlin/src/test/resources/impressionRC/cluster-0.1.xml b/falcon-regression/merlin/src/test/resources/impressionRC/cluster-0.1.xml
new file mode 100755
index 0000000..144c3b4
--- /dev/null
+++ b/falcon-regression/merlin/src/test/resources/impressionRC/cluster-0.1.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+  -->
+
+<cluster colo="gs" description="" name="ua2-staging" xmlns="uri:falcon:cluster:0.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+	<interfaces>
+		<interface type="readonly" endpoint="hftp://gs1001.grid.corp.inmobi.com:50070"
+			version="0.20.2" />
+		<interface type="write" endpoint="hdfs://gs1001.grid.corp.inmobi.com:54310"
+			version="0.20.2" />
+		<interface type="execute" endpoint="hdfs://gs1001.grid.corp.inmobi.com:54311" version="0.20.2" />
+		<interface type="workflow" endpoint="http://gs1001.grid.corp.inmobi.com:11000/oozie/"
+			version="3.1" />
+		<interface type="messaging" endpoint="tcp://gs1001.grid.corp.inmobi.com:61616?daemon=true"
+			version="5.1.6" />
+		
+	</interfaces>
+	<locations>
+		<location name="staging" path="/projects/ivory/staging" />
+		<location name="temp" path="/tmp" />
+		<location name="working" path="/projects/ivory/working" />
+	</locations>
+	<properties>
+		 <property name="colo.name" value="ua2"/>
+        <property name="hbase.zookeeper.quorum" value="10.14.117.33"/>
+        <property name="hbase.zookeeper.property.clientPort" value="2181"/>
+	</properties>
+</cluster>

http://git-wip-us.apache.org/repos/asf/incubator-falcon/blob/bdcf001f/falcon-regression/merlin/src/test/resources/impressionRC/feed-FETL-ImpressionRC.xml
----------------------------------------------------------------------
diff --git a/falcon-regression/merlin/src/test/resources/impressionRC/feed-FETL-ImpressionRC.xml b/falcon-regression/merlin/src/test/resources/impressionRC/feed-FETL-ImpressionRC.xml
new file mode 100644
index 0000000..8b459ff
--- /dev/null
+++ b/falcon-regression/merlin/src/test/resources/impressionRC/feed-FETL-ImpressionRC.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+  -->
+
+<feed name="FETL-ImpressionRC" description="RC Impression file and hbase store values generated by iolib" xmlns="uri:falcon:feed:0.1">
+    <partitions>
+        <partition name="EventTime"/>
+        <partition name="PricingModel"/>
+    </partitions>
+    <groups>minutelyrcdata</groups>
+    <availabilityFlag>_SUCCESS</availabilityFlag>
+    <frequency>minutes(1)</frequency>
+    <clusters>
+        <cluster name="ua2-staging" >
+		<validity start="2010-12-27T06:00Z" end="2032-11-19T23:00Z"/>
+		<retention limit="days(5)" action="delete" />
+	</cluster>
+    </clusters>
+    <locations>
+        <location type="data" path="/data/fetl/impression/${YEAR}/${MONTH}/${DAY}/${HOUR}/${MINUTE}"/>
+        <location type="stats" path="/data/fetl/stats/impression/${YEAR}/${MONTH}/${DAY}/${HOUR}/${MINUTE}"/>
+        <location type="tmp" path="/data/fetl/staging/impression/${YEAR}/${MONTH}/${DAY}/${HOUR}/${MINUTE}"/>
+    </locations>
+    <ACL owner="fetl" group="users" permission="0x755"/>
+    <schema location="/data/iolib/impressions/schema/" provider="protobuf"/>
+    <properties>
+	<property name="queueName" value="default" />
+	<property name="jobPriority" value="NORMAL" />
+    </properties>
+</feed>

http://git-wip-us.apache.org/repos/asf/incubator-falcon/blob/bdcf001f/falcon-regression/merlin/src/test/resources/impressionRC/feed-FETL-RequestRC.xml
----------------------------------------------------------------------
diff --git a/falcon-regression/merlin/src/test/resources/impressionRC/feed-FETL-RequestRC.xml b/falcon-regression/merlin/src/test/resources/impressionRC/feed-FETL-RequestRC.xml
new file mode 100644
index 0000000..e9b47c6
--- /dev/null
+++ b/falcon-regression/merlin/src/test/resources/impressionRC/feed-FETL-RequestRC.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+  -->
+
+<feed name="FETL-RequestRC" description="RC Request file generated by iolib" xmlns="uri:falcon:feed:0.1">
+    <partitions>	
+        <partition name="EventTime"/>
+        <partition name="Fill-Nofill"/>
+    </partitions>
+    <groups>minutelyrcdata</groups>
+    <availabilityFlag>_SUCCESS</availabilityFlag>
+    <frequency>minutes(1)</frequency>
+    <clusters>
+        <cluster name="ua2-staging" >
+		<validity start="2010-12-27T06:30Z" end="2099-12-27T07:00Z"/>
+	<retention limit="days(5)" action="delete" />
+	</cluster>
+    </clusters>
+    <locations>
+        <location type="data" path="/data/fetl/request/${YEAR}/${MONTH}/${DAY}/${HOUR}/${MINUTE}"/>
+	<location type="stats" path="/data/fetl/stats/request/${YEAR}/${MONTH}/${DAY}/${HOUR}/${MINUTE}"/>
+        <location type="tmp" path="/data/fetl/staging/request/${YEAR}/${MONTH}/${DAY}/${HOUR}/${MINUTE}"/>
+    </locations>
+    <ACL owner="fetl" group="users" permission="0x755"/>
+    <schema location="/data/iolib/impressions/schema/" provider="protobuf"/>
+    <properties>
+	<property name="queueName" value="default" />
+	<property name="jobPriority" value="NORMAL" />
+    </properties>
+</feed>
+

http://git-wip-us.apache.org/repos/asf/incubator-falcon/blob/bdcf001f/falcon-regression/merlin/src/test/resources/impressionRC/feed-FETL2-RRLog.xml
----------------------------------------------------------------------
diff --git a/falcon-regression/merlin/src/test/resources/impressionRC/feed-FETL2-RRLog.xml b/falcon-regression/merlin/src/test/resources/impressionRC/feed-FETL2-RRLog.xml
new file mode 100644
index 0000000..2f986d8
--- /dev/null
+++ b/falcon-regression/merlin/src/test/resources/impressionRC/feed-FETL2-RRLog.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+  -->
+
+<feed name="FETL2-RRLog" description="rr log generated by databus" xmlns="uri:falcon:feed:0.1">
+    <frequency>minutes(1)</frequency>
+    <clusters>
+		<cluster name="ua2-staging">
+			<validity start="2010-12-27T06:00Z" end="2032-10-01T12:00Z" />
+			<retention limit="days(5)" action="delete" />
+		</cluster>
+	</clusters>
+    <locations>
+        <location type="data" path="/databus/streams_local/rr/${YEAR}/${MONTH}/${DAY}/${HOUR}/${MINUTE}"/>
+    </locations>
+    <ACL owner="databus" group="users" permission="0x755"/>
+    <schema location="/databus/streams_local/rr/schema/" provider="protobuf"/>
+</feed>

http://git-wip-us.apache.org/repos/asf/incubator-falcon/blob/bdcf001f/falcon-regression/merlin/src/test/resources/impressionRC/process-FETL-ImpressionRC-Conversion.xml
----------------------------------------------------------------------
diff --git a/falcon-regression/merlin/src/test/resources/impressionRC/process-FETL-ImpressionRC-Conversion.xml b/falcon-regression/merlin/src/test/resources/impressionRC/process-FETL-ImpressionRC-Conversion.xml
new file mode 100644
index 0000000..aff2f78
--- /dev/null
+++ b/falcon-regression/merlin/src/test/resources/impressionRC/process-FETL-ImpressionRC-Conversion.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+  -->
+
+<process name="FETL-ImpressionRC-Conversion" xmlns="uri:falcon:process:0.1">
+    <clusters>
+        <cluster name="ua2-staging">
+            <validity start="2013-02-07T12:00Z" end="2019-02-07T12:10Z"/>
+        </cluster>
+    </clusters>
+    <parallel>1</parallel>
+    <order>FIFO</order>
+    <frequency>minutes(1)</frequency>
+    <inputs>
+        <input name="Input" feed="FETL2-RRLog" start="now(0,0)" end="now(0,0)"/>
+        <input name="Gate" feed="FETL2-RRLog" start="now(0,1)" end="now(0,1)"/>
+    </inputs>
+    <outputs>
+        <output name="Output" feed="FETL-RequestRC" instance="now(0,0)"/>
+	<output name="ImpressionPath" feed="FETL-ImpressionRC" instance="now(0,0)"/>
+    </outputs>
+    <properties>
+        <property name="logType" value="request"/>
+        <property name="jobPriority" value="VERY_HIGH" />
+	<property name="queueName" value="default" />
+    </properties>
+    <workflow path="/projects/localdc/lda/impressionrc-conversion"/>
+    <retry policy="exp-backoff" delay="minutes(1)" attempts="3"/>
+</process>
+

http://git-wip-us.apache.org/repos/asf/incubator-falcon/blob/bdcf001f/falcon-regression/merlin/src/test/resources/ivory-oozie-lib-0.1.jar
----------------------------------------------------------------------
diff --git a/falcon-regression/merlin/src/test/resources/ivory-oozie-lib-0.1.jar b/falcon-regression/merlin/src/test/resources/ivory-oozie-lib-0.1.jar
new file mode 100755
index 0000000..992feab
Binary files /dev/null and b/falcon-regression/merlin/src/test/resources/ivory-oozie-lib-0.1.jar differ

http://git-wip-us.apache.org/repos/asf/incubator-falcon/blob/bdcf001f/falcon-regression/merlin/src/test/resources/log4j.properties
----------------------------------------------------------------------
diff --git a/falcon-regression/merlin/src/test/resources/log4j.properties b/falcon-regression/merlin/src/test/resources/log4j.properties
new file mode 100644
index 0000000..9bb4679
--- /dev/null
+++ b/falcon-regression/merlin/src/test/resources/log4j.properties
@@ -0,0 +1,9 @@
+#root logger
+log4j.rootLogger=INFO, stderr
+
+# configure stderr
+log4j.appender.stderr = org.apache.log4j.ConsoleAppender
+log4j.appender.stderr.Threshold = DEBUG
+log4j.appender.stderr.Target   = System.err
+log4j.appender.stderr.layout = org.apache.log4j.PatternLayout
+log4j.appender.stderr.layout.ConversionPattern = %d %-5p - [%t:%x] ~ %m (%c{1}:%L)%n

http://git-wip-us.apache.org/repos/asf/incubator-falcon/blob/bdcf001f/falcon-regression/merlin/src/test/resources/log_01.txt
----------------------------------------------------------------------
diff --git a/falcon-regression/merlin/src/test/resources/log_01.txt b/falcon-regression/merlin/src/test/resources/log_01.txt
new file mode 100644
index 0000000..307ef52
--- /dev/null
+++ b/falcon-regression/merlin/src/test/resources/log_01.txt
@@ -0,0 +1 @@
+[01] LOG!!!!!!
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-falcon/blob/bdcf001f/falcon-regression/merlin/src/test/resources/oozie/lib/oozie-examples-3.1.5.jar
----------------------------------------------------------------------
diff --git a/falcon-regression/merlin/src/test/resources/oozie/lib/oozie-examples-3.1.5.jar b/falcon-regression/merlin/src/test/resources/oozie/lib/oozie-examples-3.1.5.jar
new file mode 100755
index 0000000..380c6f3
Binary files /dev/null and b/falcon-regression/merlin/src/test/resources/oozie/lib/oozie-examples-3.1.5.jar differ

http://git-wip-us.apache.org/repos/asf/incubator-falcon/blob/bdcf001f/falcon-regression/merlin/src/test/resources/oozie/workflow.xml
----------------------------------------------------------------------
diff --git a/falcon-regression/merlin/src/test/resources/oozie/workflow.xml b/falcon-regression/merlin/src/test/resources/oozie/workflow.xml
new file mode 100644
index 0000000..4a80109
--- /dev/null
+++ b/falcon-regression/merlin/src/test/resources/oozie/workflow.xml
@@ -0,0 +1,61 @@
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+       http://www.apache.org/licenses/LICENSE-2.0
+  
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<workflow-app xmlns="uri:oozie:workflow:0.2" name="aggregator-wf">
+    <start to="aggregator"/>
+    <action name="aggregator">
+        <map-reduce>
+            <job-tracker>${jobTracker}</job-tracker>
+            <name-node>${nameNode}</name-node>
+            <prepare>
+                <delete path="${outputData}"/>
+            </prepare>
+            <configuration>
+                <property>
+                    <name>mapred.job.queue.name</name>
+                    <value>${queueName}</value>
+                </property>
+                <property>
+                    <name>mapred.mapper.class</name>
+                    <value>org.apache.oozie.example.SampleMapper</value>
+                </property>
+                <property>
+                    <name>mapred.reducer.class</name>
+                    <value>org.apache.oozie.example.SampleReducer</value>
+                </property>
+                <property>
+                    <name>mapred.map.tasks</name>
+                    <value>1</value>
+                </property>
+                <property>
+                    <name>mapred.input.dir</name>
+                    <value>${inputData}</value>
+                </property>
+                <property>
+                    <name>mapred.output.dir</name>
+                    <value>${outputData}</value>
+                </property>
+            </configuration>
+        </map-reduce>
+        <ok to="end"/>
+        <error to="fail"/>
+    </action>
+    <kill name="fail">
+        <message>Map/Reduce failed, error message[${wf:errorMessage(wf:lastErrorNode())}]</message>
+    </kill>
+    <end name="end"/>
+</workflow-app>

http://git-wip-us.apache.org/repos/asf/incubator-falcon/blob/bdcf001f/falcon-regression/merlin/src/test/resources/pig/id.pig
----------------------------------------------------------------------
diff --git a/falcon-regression/merlin/src/test/resources/pig/id.pig b/falcon-regression/merlin/src/test/resources/pig/id.pig
new file mode 100644
index 0000000..11f227e
--- /dev/null
+++ b/falcon-regression/merlin/src/test/resources/pig/id.pig
@@ -0,0 +1,20 @@
+--
+-- Licensed to the Apache Software Foundation (ASF) under one
+-- or more contributor license agreements.  See the NOTICE file
+-- distributed with this work for additional information
+-- regarding copyright ownership.  The ASF licenses this file
+-- to you under the Apache License, Version 2.0 (the
+-- "License"); you may not use this file except in compliance
+-- with the License.  You may obtain a copy of the License at
+--
+--     http://www.apache.org/licenses/LICENSE-2.0
+--
+-- Unless required by applicable law or agreed to in writing, software
+-- distributed under the License is distributed on an "AS IS" BASIS,
+-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+-- See the License for the specific language governing permissions and
+-- limitations under the License.
+--
+A = load '$INPUT' using PigStorage(':');
+B = foreach A generate $0 as id;
+store B into '$OUTPUT' USING PigStorage();

http://git-wip-us.apache.org/repos/asf/incubator-falcon/blob/bdcf001f/falcon-regression/merlin/src/test/resources/process-0.1.xsd
----------------------------------------------------------------------
diff --git a/falcon-regression/merlin/src/test/resources/process-0.1.xsd b/falcon-regression/merlin/src/test/resources/process-0.1.xsd
new file mode 100644
index 0000000..0d0f0e9
--- /dev/null
+++ b/falcon-regression/merlin/src/test/resources/process-0.1.xsd
@@ -0,0 +1,355 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+  -->
+<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema"
+           targetNamespace="uri:falcon:process:0.1" xmlns="uri:falcon:process:0.1"
+           xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" jaxb:version="2.1">
+    <xs:annotation>
+        <xs:documentation>
+            Licensed to the Apache Software Foundation (ASF) under one or more
+            contributor license agreements. See the NOTICE file distributed with
+            this work for additional information regarding copyright ownership.
+            The ASF licenses this file to You under the Apache License, Version
+            2.0 (the "License"); you may not use this file except in compliance with
+            the License. You may obtain a copy of the License at
+
+            http://www.apache.org/licenses/LICENSE-2.0
+
+            Unless required by applicable law or agreed to in writing, software
+            distributed under the License is distributed on an "AS IS" BASIS,
+            WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+            See the License for the specific language governing permissions and
+            limitations under the License.
+        </xs:documentation>
+        <xs:appinfo>
+            <jaxb:schemaBindings>
+                <jaxb:package name="org.apache.falcon.entity.v0.process"/>
+            </jaxb:schemaBindings>
+        </xs:appinfo>
+    </xs:annotation>
+
+    <xs:element name="process" type="process">
+        <xs:annotation>
+            <xs:documentation>
+                A process defines configuration for the workflow job like
+                frequency of the workflow, inputs and outputs for the workflow, how to
+                handle workflow failures, how to handle data that comes late and so on.
+            </xs:documentation>
+        </xs:annotation>
+    </xs:element>
+    <xs:complexType name="process">
+        <xs:sequence>
+            <xs:element type="KEY_VALUE_PAIR" name="tags" minOccurs="0">
+                <xs:annotation>
+                    <xs:documentation>
+                        tags: a process specifies an optional list of comma separated tags,
+                        Key Value Pairs, separated by comma,
+                        which is used for classification of processes.
+                        Example: consumer=consumer@xyz.com, owner=producer@xyz.com, department=forecasting
+                    </xs:documentation>
+                </xs:annotation>
+            </xs:element>
+            <xs:element type="clusters" name="clusters">
+                <xs:annotation>
+                    <xs:documentation>Defines the clusters where the workflow should run
+                    </xs:documentation>
+                </xs:annotation>
+            </xs:element>
+            <xs:element name="parallel">
+                <xs:annotation>
+                    <xs:documentation>Defines how many workflow instances can run concurrently
+                    </xs:documentation>
+                </xs:annotation>
+                <xs:simpleType>
+                    <xs:restriction base="xs:unsignedShort">
+                        <xs:minInclusive value="1"/>
+                        <xs:maxInclusive value="12"/>
+                    </xs:restriction>
+                </xs:simpleType>
+            </xs:element>
+            <xs:element type="execution-type" name="order">
+                <xs:annotation>
+                    <xs:documentation>Defines the order in which ready workflow instances should run
+                    </xs:documentation>
+                </xs:annotation>
+            </xs:element>
+            <xs:element type="frequency-type" name="timeout" minOccurs="0">
+                <xs:annotation>
+                    <xs:documentation>Defines time after which instances will no longer be executed
+                    </xs:documentation>
+                </xs:annotation>
+            </xs:element>
+            <xs:element type="frequency-type" name="frequency">
+                <xs:annotation>
+                    <xs:documentation>Defines workflow frequency
+                    </xs:documentation>
+                </xs:annotation>
+            </xs:element>
+            <xs:element name="timezone" minOccurs="0" default="UTC">
+                <xs:simpleType>
+                    <xs:annotation>
+                        <xs:appinfo>
+                            <jaxb:javaType name="java.util.TimeZone" parseMethod="java.util.TimeZone.getTimeZone"
+                                           printMethod="org.apache.falcon.entity.v0.SchemaHelper.getTimeZoneId"/>
+                        </xs:appinfo>
+                    </xs:annotation>
+                    <xs:restriction base="xs:string"/>
+                </xs:simpleType>
+            </xs:element>
+            <xs:element type="inputs" name="inputs" minOccurs="0">
+                <xs:annotation>
+                    <xs:documentation>Defines inputs for the workflow. The workflow will run only when the scheduled
+                        time is up and all the inputs are available
+                    </xs:documentation>
+                </xs:annotation>
+            </xs:element>
+            <xs:element type="outputs" name="outputs" minOccurs="0">
+                <xs:annotation>
+                    <xs:documentation>Defines outputs of the workflow
+                    </xs:documentation>
+                </xs:annotation>
+            </xs:element>
+            <xs:element type="properties" name="properties" minOccurs="0">
+            </xs:element>
+            <xs:element type="workflow" name="workflow">
+                <xs:annotation>
+                    <xs:documentation>Defines the workflow that should run. The workflow should be defined with respect
+                        to the workflow specification of the workflow engine.
+                        Only
+                        oozie workflow engine is supported as of now. The workflow path is the path on hdfs which
+                        contains the workflow xml
+                    </xs:documentation>
+                </xs:annotation>
+            </xs:element>
+            <xs:element type="retry" name="retry" minOccurs="0">
+                <xs:annotation>
+                    <xs:documentation>Retry defines how to handle workflow failures. Policy type - backoff, exponention
+                        backoff along with the delay define how frequenctly
+                        the
+                        workflow should be re-tried. Number of attempts define how many times to re-try the failures.
+                    </xs:documentation>
+                </xs:annotation>
+            </xs:element>
+            <xs:element type="late-process" name="late-process" minOccurs="0">
+                <xs:annotation>
+                    <xs:documentation>Late process defines how the late data should be handled. Late policy - backoff,
+                        exponential backoff, final along with delay
+                        define how
+                        frequently Falcon should check for late data. The late data handling can be customized for each
+                        input separatly.
+                    </xs:documentation>
+                </xs:annotation>
+            </xs:element>
+        </xs:sequence>
+        <xs:attribute type="IDENTIFIER" name="name" use="required"/>
+    </xs:complexType>
+
+    <xs:simpleType name="IDENTIFIER">
+        <xs:restriction base="xs:string">
+            <xs:pattern value="(([a-zA-Z]([\-a-zA-Z0-9])*){1,39})"/>
+        </xs:restriction>
+    </xs:simpleType>
+
+    <xs:complexType name="clusters">
+        <xs:annotation>
+            <xs:documentation>
+                A list of clusters.
+            </xs:documentation>
+        </xs:annotation>
+        <xs:sequence>
+            <xs:element type="cluster" name="cluster" maxOccurs="unbounded" minOccurs="1">
+            </xs:element>
+        </xs:sequence>
+    </xs:complexType>
+
+    <xs:complexType name="cluster">
+        <xs:annotation>
+            <xs:documentation>
+                Defines the cluster where the workflow should run. In addition, it also defines the validity of the
+                workflow on this cluster
+            </xs:documentation>
+        </xs:annotation>
+        <xs:sequence>
+            <xs:element type="validity" name="validity"/>
+        </xs:sequence>
+        <xs:attribute type="IDENTIFIER" name="name" use="required"/>
+    </xs:complexType>
+
+    <xs:complexType name="validity">
+        <xs:annotation>
+            <xs:documentation>
+                Defines the vailidity of the workflow as start and end time
+            </xs:documentation>
+        </xs:annotation>
+        <xs:attribute type="date-time-type" name="start" use="required"/>
+        <xs:attribute type="date-time-type" name="end" use="required"/>
+    </xs:complexType>
+
+    <xs:simpleType name="date-time-type">
+        <xs:annotation>
+            <xs:appinfo>
+                <jaxb:javaType name="java.util.Date" parseMethod="org.apache.falcon.entity.v0.SchemaHelper.parseDateUTC"
+                               printMethod="org.apache.falcon.entity.v0.SchemaHelper.formatDateUTC"/>
+            </xs:appinfo>
+        </xs:annotation>
+        <xs:restriction base="xs:string">
+            <xs:pattern
+                    value="((1|2)\d\d\d[- /.](0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])T([0-1][0-9]|2[0-3]):([0-5][0-9]))Z"/>
+        </xs:restriction>
+    </xs:simpleType>
+
+    <xs:simpleType name="execution-type">
+        <xs:restriction base="xs:string">
+            <xs:enumeration value="FIFO"/>
+            <xs:enumeration value="LIFO"/>
+            <xs:enumeration value="LAST_ONLY"/>
+        </xs:restriction>
+    </xs:simpleType>
+
+    <xs:simpleType name="frequency-type">
+        <xs:annotation>
+            <xs:appinfo>
+                <jaxb:javaType name="org.apache.falcon.entity.v0.Frequency"
+                               parseMethod="org.apache.falcon.entity.v0.Frequency.fromString"
+                               printMethod="org.apache.falcon.entity.v0.Frequency.toString"/>
+            </xs:appinfo>
+        </xs:annotation>
+        <xs:restriction base="xs:string">
+            <xs:pattern value="(minutes|hours|days|months)\([1-9]\d*\)"/>
+        </xs:restriction>
+    </xs:simpleType>
+
+    <xs:complexType name="inputs">
+        <xs:sequence>
+            <xs:element type="input" name="input" maxOccurs="unbounded" minOccurs="1">
+                <xs:annotation>
+                    <xs:documentation>Defines input for the workflow. Each input maps to a feed. Input path and
+                        frequency are picked from feed definition.
+                        The input specifies the
+                        start and end instance for the workflow. Falcon creates a property with input name which
+                        contains paths of all input
+                        instances between start and end. This
+                        property will be available for the workflow to read inputs.
+                        Input can also optionally specify the specific partition of feed that the workflow needs.
+                    </xs:documentation>
+                </xs:annotation>
+            </xs:element>
+        </xs:sequence>
+    </xs:complexType>
+
+    <xs:complexType name="input">
+        <xs:attribute type="IDENTIFIER" name="name" use="required"/>
+        <xs:attribute type="IDENTIFIER" name="feed" use="required"/>
+        <xs:attribute type="xs:string" name="start" use="required"/>
+        <xs:attribute type="xs:string" name="end" use="required"/>
+        <xs:attribute type="xs:string" name="partition" use="optional"/>
+        <xs:attribute type="xs:boolean" name="optional" use="optional" default="false"/>
+    </xs:complexType>
+
+    <xs:complexType name="outputs">
+        <xs:sequence>
+            <xs:element type="output" name="output" maxOccurs="unbounded" minOccurs="1">
+                <xs:annotation>
+                    <xs:documentation>Each output maps to a feed. The Output path and frequency are picked from the
+                        corresponding feed definition.
+                        The output also specifies the
+                        instance that is created in terms of EL expression.
+                        For each output, Falcon creates a property with the output name which can be used in workflows
+                    </xs:documentation>
+                </xs:annotation>
+            </xs:element>
+        </xs:sequence>
+    </xs:complexType>
+
+    <xs:complexType name="output">
+        <xs:attribute type="IDENTIFIER" name="name" use="required"/>
+        <xs:attribute type="IDENTIFIER" name="feed" use="required"/>
+        <xs:attribute type="xs:string" name="instance" use="required"/>
+    </xs:complexType>
+
+    <xs:complexType name="workflow">
+        <xs:attribute type="xs:string" name="name" use="optional"/>
+        <xs:attribute type="xs:string" name="version" use="optional" default="1.0"/>
+        <xs:attribute type="engine-type" name="engine" use="optional" default="oozie"/>
+        <xs:attribute type="xs:string" name="path" use="required"/>
+        <xs:attribute type="xs:string" name="lib" use="optional"/>
+    </xs:complexType>
+
+    <xs:simpleType name="engine-type">
+        <xs:restriction base="xs:string">
+            <xs:enumeration value="oozie"/>
+            <xs:enumeration value="pig"/>
+            <xs:enumeration value="hive"/>
+        </xs:restriction>
+    </xs:simpleType>
+
+    <xs:complexType name="retry">
+        <xs:attribute type="policy-type" name="policy" use="required"/>
+        <xs:attribute type="frequency-type" name="delay" use="required"/>
+        <xs:attribute name="attempts" use="required">
+            <xs:simpleType>
+                <xs:restriction base="xs:unsignedShort">
+                    <xs:minInclusive value="1"/>
+                </xs:restriction>
+            </xs:simpleType>
+        </xs:attribute>
+    </xs:complexType>
+
+    <xs:simpleType name="policy-type">
+        <xs:restriction base="xs:string">
+            <xs:enumeration value="periodic"/>
+            <xs:enumeration value="exp-backoff"/>
+            <xs:enumeration value="final"/>
+        </xs:restriction>
+    </xs:simpleType>
+
+    <xs:complexType name="late-process">
+        <xs:sequence>
+            <xs:element type="late-input" name="late-input" maxOccurs="unbounded" minOccurs="1">
+                <xs:annotation>
+                    <xs:documentation>
+                        For each input, defines the workflow that should be run when late data is detected
+                    </xs:documentation>
+                </xs:annotation>
+            </xs:element>
+        </xs:sequence>
+        <xs:attribute type="policy-type" name="policy" use="required"/>
+        <xs:attribute type="frequency-type" name="delay" use="required"/>
+    </xs:complexType>
+
+    <xs:complexType name="late-input">
+        <xs:attribute type="IDENTIFIER" name="input" use="required"/>
+        <xs:attribute type="xs:string" name="workflow-path" use="required"/>
+    </xs:complexType>
+
+    <xs:complexType name="properties">
+        <xs:sequence>
+            <xs:element type="property" name="property" maxOccurs="unbounded" minOccurs="0"/>
+        </xs:sequence>
+    </xs:complexType>
+    <xs:complexType name="property">
+        <xs:attribute type="xs:string" name="name" use="required"/>
+        <xs:attribute type="xs:string" name="value" use="required"/>
+    </xs:complexType>
+
+    <xs:simpleType name="KEY_VALUE_PAIR">
+        <xs:restriction base="xs:string">
+            <xs:pattern value="(\w+=[^,]+)?([,]?[ ]*[\w]+=[^,]+)*"/>
+        </xs:restriction>
+    </xs:simpleType>
+</xs:schema>

http://git-wip-us.apache.org/repos/asf/incubator-falcon/blob/bdcf001f/falcon-regression/merlin/src/test/resources/thriftRRMar0602.gz
----------------------------------------------------------------------
diff --git a/falcon-regression/merlin/src/test/resources/thriftRRMar0602.gz b/falcon-regression/merlin/src/test/resources/thriftRRMar0602.gz
new file mode 100644
index 0000000..6aae2ac
Binary files /dev/null and b/falcon-regression/merlin/src/test/resources/thriftRRMar0602.gz differ

http://git-wip-us.apache.org/repos/asf/incubator-falcon/blob/bdcf001f/falcon-regression/merlin/src/test/resources/updateBundle/cluster-0.1.xml
----------------------------------------------------------------------
diff --git a/falcon-regression/merlin/src/test/resources/updateBundle/cluster-0.1.xml b/falcon-regression/merlin/src/test/resources/updateBundle/cluster-0.1.xml
new file mode 100644
index 0000000..cdb14ae
--- /dev/null
+++ b/falcon-regression/merlin/src/test/resources/updateBundle/cluster-0.1.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+  -->
+
+<cluster colo="ua1" description="" name="corp" xmlns="uri:falcon:cluster:0.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+	<interfaces>
+		<interface type="readonly" endpoint="http://gs1001.grid.corp.inmobi.com:50070"
+			version="0.20.2" />
+		<interface type="write" endpoint="hdfs://gs1001.grid.corp.inmobi.com:54310"
+			version="0.20.2" />
+		<interface type="execute" endpoint="hdfs://gs1001.grid.corp.inmobi.com:54311" version="0.20.2" />
+		<interface type="workflow" endpoint="http://gs1001.grid.corp.inmobi.com:11000/oozie/"
+			version="3.1" />
+		<interface type="messaging" endpoint="tcp://gs1001.grid.corp.inmobi.com:61616?daemon=true"
+			version="5.1.6" />
+	</interfaces>
+	<locations>
+		<location name="staging" path="/projects/ivory/staging" />
+		<location name="temp" path="/tmp" />
+		<location name="working" path="/projectsTest/ivory/working" />
+	</locations>
+	<properties>
+		<property name="field1" value="value1" />
+		<property name="field2" value="value2" />
+	</properties>
+</cluster>

http://git-wip-us.apache.org/repos/asf/incubator-falcon/blob/bdcf001f/falcon-regression/merlin/src/test/resources/updateBundle/feed-template1.xml
----------------------------------------------------------------------
diff --git a/falcon-regression/merlin/src/test/resources/updateBundle/feed-template1.xml b/falcon-regression/merlin/src/test/resources/updateBundle/feed-template1.xml
new file mode 100644
index 0000000..4558cac
--- /dev/null
+++ b/falcon-regression/merlin/src/test/resources/updateBundle/feed-template1.xml
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+  -->
+<feed description="clicks log" name="raaw-logs16" xmlns="uri:falcon:feed:0.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+   <partitions>
+        <partition name="country" />
+        <partition name="colo" />
+    </partitions>
+<!--
+    <groups>online,bi</groups>-->
+
+    <frequency>minutes(1)</frequency>
+    <timezone>UTC</timezone>
+    <late-arrival cut-off="hours(6)" />
+
+    <clusters>
+        <cluster name="corp" type="source">
+            <validity start="2009-02-01T00:00Z" end="2099-05-01T00:00Z"
+     />
+            <retention limit="months(9000)" action="delete" /> <!-- Limit can be in Time or Instances 100, Action ENUM DELETE,ARCHIVE -->
+        </cluster>
+    </clusters>
+
+    <locations>
+        <location type="data" path="/samarth/input-data/rawLogs/${YEAR}/${MONTH}/${DAY}/${HOUR}/${MINUTE}" />
+        <location type="stats" path="/projects/ivory/clicksStats" />
+        <location type="meta" path="/projects/ivory/clicksMetaData" />
+    </locations>
+    
+    <ACL owner="testuser" group="group" permission="0x755" />
+    <schema location="/schema/clicks" provider="protobuf" />
+
+    <properties>
+        <property name="field1" value="value1" />
+        <property name="field2" value="value2" />
+    </properties>
+</feed>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-falcon/blob/bdcf001f/falcon-regression/merlin/src/test/resources/updateBundle/feed-template2.xml
----------------------------------------------------------------------
diff --git a/falcon-regression/merlin/src/test/resources/updateBundle/feed-template2.xml b/falcon-regression/merlin/src/test/resources/updateBundle/feed-template2.xml
new file mode 100644
index 0000000..b6c175e
--- /dev/null
+++ b/falcon-regression/merlin/src/test/resources/updateBundle/feed-template2.xml
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+  -->
+<feed description="clicks log" name="agregated-logs16" xmlns="uri:falcon:feed:0.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+<!--   <partitions>
+        <partition name="fraud" />
+        <partition name="good" />
+    </partitions>
+
+    <groups>online,bi</groups>-->
+
+    <frequency>minutes(1)</frequency>
+<timezone>UTC</timezone>
+    <late-arrival cut-off="hours(6)" />
+
+    <clusters>
+        <cluster name="corp" type="source">
+            <validity start="2009-02-01T01:00Z" end="2099-05-01T00:00Z"
+           />
+            <retention limit="hours(6)" action="delete" /> <!-- Limit can be in Time or Instances 100, Action ENUM DELETE,ARCHIVE -->
+        </cluster>
+    </clusters>
+
+    <locations>
+        <location type="data" path="/examples/output-data/aggregator/aggregatedLogs/${YEAR}/${MONTH}/${DAY}/${HOUR}/${MINUTE}" />
+        <location type="stats" path="/projects/ivory/clicksStats" />
+        <location type="meta" path="/projects/ivory/clicksMetaData" />
+    </locations>
+    
+    <ACL owner="testuser" group="group" permission="0x755" />
+    <schema location="/schema/clicks" provider="protobuf" />
+
+    <properties>
+        <property name="field1" value="value1" />
+        <property name="field2" value="value2" />
+    </properties>
+</feed>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-falcon/blob/bdcf001f/falcon-regression/merlin/src/test/resources/updateBundle/process-agg.xml
----------------------------------------------------------------------
diff --git a/falcon-regression/merlin/src/test/resources/updateBundle/process-agg.xml b/falcon-regression/merlin/src/test/resources/updateBundle/process-agg.xml
new file mode 100644
index 0000000..681193a
--- /dev/null
+++ b/falcon-regression/merlin/src/test/resources/updateBundle/process-agg.xml
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+  -->
+
+<process name="agregator-coord16" xmlns="uri:falcon:process:0.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+
+       <clusters>
+        <cluster name="corp">
+           <validity end="2011-01-03T03:00Z" start="2010-01-02T01:00Z" />  
+        </cluster>
+      </clusters>
+	<parallel>1</parallel>
+	<order>FIFO</order>
+       <frequency>minutes(1)</frequency>
+	<timezone>UTC</timezone>
+	
+	<inputs>
+		<input end="now(0,0)" start="now(0,-1)"
+			feed="raaw-logs16" name="inputData"/>
+	</inputs>
+	<outputs>
+		<output instance="now(0,0)" feed="agregated-logs16"
+			name="outputData" />
+	</outputs>
+	<properties>
+		<property name="queueName" value="default"/>
+		
+       <property name="fileTime" value="${formatTime(dateOffset(instanceTime(), 1, 'DAY'), 'yyyy-MMM-dd')}"/>
+       <property name="user" value="${user()}"/>
+       <!--<property name="baseTime" value="${today(0,0)}"/>-->
+   
+	</properties>
+	<workflow path="/examples/apps/aggregator" />
+	<retry policy="periodic" delay="minutes(3)" attempts="3" />
+
+</process>
+

http://git-wip-us.apache.org/repos/asf/incubator-falcon/blob/bdcf001f/falcon-regression/merlin/src/test/resources/workflows/aggregatorNoOutput/lib/oozie-examples-3.1.5.jar
----------------------------------------------------------------------
diff --git a/falcon-regression/merlin/src/test/resources/workflows/aggregatorNoOutput/lib/oozie-examples-3.1.5.jar b/falcon-regression/merlin/src/test/resources/workflows/aggregatorNoOutput/lib/oozie-examples-3.1.5.jar
new file mode 100644
index 0000000..380c6f3
Binary files /dev/null and b/falcon-regression/merlin/src/test/resources/workflows/aggregatorNoOutput/lib/oozie-examples-3.1.5.jar differ

http://git-wip-us.apache.org/repos/asf/incubator-falcon/blob/bdcf001f/falcon-regression/merlin/src/test/resources/workflows/aggregatorNoOutput/workflow.xml
----------------------------------------------------------------------
diff --git a/falcon-regression/merlin/src/test/resources/workflows/aggregatorNoOutput/workflow.xml b/falcon-regression/merlin/src/test/resources/workflows/aggregatorNoOutput/workflow.xml
new file mode 100644
index 0000000..f67d029
--- /dev/null
+++ b/falcon-regression/merlin/src/test/resources/workflows/aggregatorNoOutput/workflow.xml
@@ -0,0 +1,29 @@
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+       http://www.apache.org/licenses/LICENSE-2.0
+  
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<workflow-app xmlns="uri:oozie:workflow:0.2" name="aggregator-wf">
+<start to="hdfscommands"/>
+<action name="hdfscommands">
+         <fs>
+            <delete path='/noinput/nooutput/test'/>
+            <mkdir path='/noinput/nooutput/test'/>       
+	 </fs>
+	<ok to="end"/> 
+       <error to="end"/>
+    </action>
+<end name="end"/>
+</workflow-app>

http://git-wip-us.apache.org/repos/asf/incubator-falcon/blob/bdcf001f/falcon-regression/merlin/src/test/resources/workflows/impression_rc_workflow.xml
----------------------------------------------------------------------
diff --git a/falcon-regression/merlin/src/test/resources/workflows/impression_rc_workflow.xml b/falcon-regression/merlin/src/test/resources/workflows/impression_rc_workflow.xml
new file mode 100644
index 0000000..f62fc8b
--- /dev/null
+++ b/falcon-regression/merlin/src/test/resources/workflows/impression_rc_workflow.xml
@@ -0,0 +1,69 @@
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<workflow-app xmlns='uri:oozie:workflow:0.3' name='impressionrc-conversion'>
+        <start to='impressionrc-conversion-store' />
+        <action name='impressionrc-conversion-store'>
+                <java>
+                        <job-tracker>${jobTracker}</job-tracker>
+                        <name-node>${nameNode}</name-node>
+                        <prepare>
+                               <delete path="${Output}"/>
+                               <delete path="${wf:conf('Output.stats')}"/>
+                               <delete path="${wf:conf('Output.tmp')}"/>
+                               <delete path="${ImpressionPath}"/>
+                       </prepare> 
+                        <configuration>
+                                <property>
+                                        <name>mapred.job.queue.name</name>
+                                        <value>${queueName}</value>
+                                </property>
+                                        <property>
+                                        <name>mapred.job.priority</name>
+                                        <value>${jobPriority}</value>
+                                </property>
+                                <property>
+                                        <name>oozie.launcher.mapred.job.priority</name>
+                                        <value>${jobPriority}</value>
+                                </property> 
+                        </configuration>                          
+                        <main-class>com.inmobi.grid.io.Driver</main-class>
+                        <arg>-Dmapred.job.queue.name=${queueName}</arg>
+                        <arg>-Dmapred.job.priority=${jobPriority}</arg>
+                        <arg>-Dlibpath=${wf:conf("oozie.libpath")}</arg>
+                        <arg>-Dhbase.zookeeper.quorum=${wf:conf("hbase.zookeeper.quorum")}</arg>
+                        <arg>-Dhbase.zookeeper.property.clientPort=${wf:conf("hbase.zookeeper.property.clientPort")}</arg>
+                        <arg>-Dcolo.name=${wf:conf("colo.name")}</arg>
+                        <arg>-Dimpression.out.path=${ImpressionPath}</arg>
+                        <arg>-logtype</arg><arg>${logType}</arg>
+                        <arg>-inputpath</arg><arg>${Input}</arg>
+                        <arg>-outputpath</arg><arg>${Output}</arg>
+                        <arg>-statspath</arg><arg>${wf:conf("Output.stats")}</arg>
+                        <arg>-stagingpath</arg><arg>${wf:conf("Output.tmp")}</arg> 
+                </java>
+                <ok to="end" />
+                <error to="fail" />
+        </action>
+
+        <kill name="fail">
+                <message>Workflow failed, error
+                        message[${wf:errorMessage(wf:lastErrorNode())}]
+                </message>
+        </kill>
+        <end name='end' />
+</workflow-app>
+

http://git-wip-us.apache.org/repos/asf/incubator-falcon/blob/bdcf001f/falcon-regression/merlin/src/test/resources/workflows/phailFs_workflow.xml
----------------------------------------------------------------------
diff --git a/falcon-regression/merlin/src/test/resources/workflows/phailFs_workflow.xml b/falcon-regression/merlin/src/test/resources/workflows/phailFs_workflow.xml
new file mode 100644
index 0000000..4c52ef2
--- /dev/null
+++ b/falcon-regression/merlin/src/test/resources/workflows/phailFs_workflow.xml
@@ -0,0 +1,32 @@
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+       http://www.apache.org/licenses/LICENSE-2.0
+  
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<workflow-app xmlns="uri:oozie:workflow:0.2" name="aggregator-wf">
+    <start to="aggregator"/>
+	<action name="aggregator">
+        <fs>
+		<delete path="${outputData}/${nominalTime}"/>
+		<mkdir path='${outputData}/${nominalTime}'/>
+	</fs>
+	<ok to="end"/>
+        <error to="fail"/>
+    </action>
+    <kill name="fail">
+        <message>Map/Reduce failed, error message[${wf:errorMessage(wf:lastErrorNode())}]</message>
+    </kill>
+    <end name="end"/>
+</workflow-app>

http://git-wip-us.apache.org/repos/asf/incubator-falcon/blob/bdcf001f/falcon-regression/merlin/src/test/resources/xsd/bundle.xsd
----------------------------------------------------------------------
diff --git a/falcon-regression/merlin/src/test/resources/xsd/bundle.xsd b/falcon-regression/merlin/src/test/resources/xsd/bundle.xsd
new file mode 100644
index 0000000..095127d
--- /dev/null
+++ b/falcon-regression/merlin/src/test/resources/xsd/bundle.xsd
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+  -->
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:bundle="uri:oozie:bundle:0.1"
+           elementFormDefault="qualified" targetNamespace="uri:oozie:bundle:0.1">
+
+    <xs:element name="bundle-app" type="bundle:BUNDLE-APP"/>
+    <xs:simpleType name="IDENTIFIER">
+        <xs:restriction base="xs:string">
+            <xs:pattern value="([a-zA-Z]([\-_a-zA-Z0-9])*){1,39})"/>
+        </xs:restriction>
+    </xs:simpleType>
+    <xs:complexType name="BUNDLE-APP">
+        <xs:sequence>
+            <xs:element name="controls" type="bundle:CONTROLS" minOccurs="0" maxOccurs="1"/>
+            <xs:element name="coordinator" type="bundle:COORDINATOR" minOccurs="1" maxOccurs="unbounded"/>
+        </xs:sequence>
+        <xs:attribute name="name" type="bundle:IDENTIFIER" use="required"/>
+    </xs:complexType>
+    <xs:complexType name="CONTROLS">
+        <xs:sequence minOccurs="0" maxOccurs="1">
+            <xs:element name="kick-off-time" type="xs:string" minOccurs="0" maxOccurs="1"/>
+        </xs:sequence>
+    </xs:complexType>
+    <xs:complexType name="COORDINATOR">
+        <xs:sequence minOccurs="1" maxOccurs="1">
+            <xs:element name="app-path" type="xs:string" minOccurs="1" maxOccurs="1"/>
+            <xs:element name="configuration" type="bundle:CONFIGURATION" minOccurs="0" maxOccurs="1"/>
+        </xs:sequence>
+        <xs:attribute name="name" type="bundle:IDENTIFIER" use="required"/>
+        <xs:attribute name="critical" type="xs:string" use="optional"/>
+    </xs:complexType>
+    <xs:complexType name="CONFIGURATION">
+        <xs:sequence>
+            <xs:element name="property" minOccurs="1" maxOccurs="unbounded">
+                <xs:complexType>
+                    <xs:sequence>
+                        <xs:element name="name" minOccurs="1" maxOccurs="1" type="xs:string"/>
+                        <xs:element name="value" minOccurs="1" maxOccurs="1" type="xs:string"/>
+                        <xs:element name="description" minOccurs="0" maxOccurs="1" type="xs:string"/>
+                    </xs:sequence>
+                </xs:complexType>
+            </xs:element>
+        </xs:sequence>
+    </xs:complexType>
+</xs:schema>
+

http://git-wip-us.apache.org/repos/asf/incubator-falcon/blob/bdcf001f/falcon-regression/merlin/src/test/resources/xsd/cluster-0.1.xsd
----------------------------------------------------------------------
diff --git a/falcon-regression/merlin/src/test/resources/xsd/cluster-0.1.xsd b/falcon-regression/merlin/src/test/resources/xsd/cluster-0.1.xsd
new file mode 100644
index 0000000..35cf408
--- /dev/null
+++ b/falcon-regression/merlin/src/test/resources/xsd/cluster-0.1.xsd
@@ -0,0 +1,123 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+  -->
+
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="uri:ivory:cluster:0.1" xmlns="uri:ivory:cluster:0.1">
+
+	<xs:element name="cluster" type="cluster">
+		<xs:annotation>
+			<xs:documentation>~ Licensed to the Apache Software Foundation (ASF)
+				under one
+				~ or more contributor license agreements. See the NOTICE
+				file
+				~ distributed with this work for additional information
+				~
+				regarding copyright ownership. The ASF licenses this file
+				~ to you
+				under the Apache License, Version 2.0 (the
+				~ "License"); you may not
+				use this file except in compliance
+				~ with the License. You may obtain
+				a copy of the License at
+				~
+				~
+				http://www.apache.org/licenses/LICENSE-2.0
+				~
+				~ Unless required by
+				applicable law or agreed to in writing, software
+				~ distributed under
+				the License is distributed on an "AS IS" BASIS,
+				~ WITHOUT WARRANTIES
+				OR CONDITIONS OF ANY KIND, either express or
+				implied.
+				~ See the
+				License for the specific language governing permissions and
+				~
+				limitations under the License.
+			</xs:documentation>
+		</xs:annotation>
+	</xs:element>
+	<xs:complexType name="locations">
+		<xs:sequence>
+			<xs:element type="location" name="location" maxOccurs="unbounded"
+				minOccurs="1" />
+		</xs:sequence>
+	</xs:complexType>
+	<xs:complexType name="cluster">
+		<xs:sequence>
+			<xs:element type="interfaces" name="interfaces" />
+			<xs:element type="locations" name="locations" />
+			<xs:element type="properties" name="properties" />
+		</xs:sequence>
+		<xs:attribute type="IDENTIFIER" name="name" />
+		<xs:attribute type="xs:string" name="description" />
+		<xs:attribute type="xs:string" name="colo" />
+	</xs:complexType>
+	<xs:complexType name="property">
+		<xs:simpleContent>
+			<xs:extension base="xs:string">
+				<xs:attribute type="xs:string" name="name" use="required" />
+				<xs:attribute type="xs:string" name="value" use="required" />
+			</xs:extension>
+		</xs:simpleContent>
+	</xs:complexType>
+	<xs:complexType name="interface">
+		<xs:simpleContent>
+			<xs:extension base="xs:string">
+				<xs:attribute type="interfacetype" name="type" use="required" />
+				<xs:attribute type="xs:string" name="endpoint" use="required" />
+				<xs:attribute type="xs:string" name="version" use="required" />
+			</xs:extension>
+		</xs:simpleContent>
+	</xs:complexType>
+	<xs:complexType name="properties">
+		<xs:sequence>
+			<xs:element type="property" name="property" maxOccurs="unbounded"
+				minOccurs="0" />
+		</xs:sequence>
+	</xs:complexType>
+	<xs:complexType name="location">
+		<xs:simpleContent>
+			<xs:extension base="xs:string">
+				<xs:attribute type="xs:string" name="name" use="required" />
+				<xs:attribute type="xs:string" name="path" use="required" />
+			</xs:extension>
+		</xs:simpleContent>
+	</xs:complexType>
+	<xs:complexType name="interfaces">
+		<xs:sequence>
+			<xs:element type="interface" name="interface" maxOccurs="unbounded"
+				minOccurs="3" />
+		</xs:sequence>
+	</xs:complexType>
+	<xs:simpleType name="interfacetype">
+		<xs:restriction base="xs:string">
+			<xs:enumeration value="readonly" />
+			<xs:enumeration value="write" />
+			<xs:enumeration value="execute" />
+			<xs:enumeration value="workflow" />
+			<xs:enumeration value="messaging" />
+			<xs:enumeration value="registry" />
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="IDENTIFIER">
+		<xs:restriction base="xs:string">
+			<xs:pattern value="([a-zA-Z]([\-_a-zA-Z0-9])*){1,39})" />
+		</xs:restriction>
+	</xs:simpleType>
+</xs:schema>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-falcon/blob/bdcf001f/falcon-regression/merlin/src/test/resources/xsd/coordinator.xsd
----------------------------------------------------------------------
diff --git a/falcon-regression/merlin/src/test/resources/xsd/coordinator.xsd b/falcon-regression/merlin/src/test/resources/xsd/coordinator.xsd
new file mode 100644
index 0000000..c70cd26
--- /dev/null
+++ b/falcon-regression/merlin/src/test/resources/xsd/coordinator.xsd
@@ -0,0 +1,134 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+  -->
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:coordinator="uri:oozie:coordinator:0.2"
+           elementFormDefault="qualified" targetNamespace="uri:oozie:coordinator:0.2">
+
+    <xs:element name="coordinator-app" type="coordinator:COORDINATOR-APP"/>
+    <xs:element name="datasets" type="coordinator:DATASETS"/>
+    <xs:simpleType name="IDENTIFIER">
+        <xs:restriction base="xs:string">
+            <xs:pattern value="([a-zA-Z]([\-_a-zA-Z0-9])*){1,39})"/>
+        </xs:restriction>
+    </xs:simpleType>
+    <xs:complexType name="COORDINATOR-APP">
+        <xs:sequence>
+            <xs:element name="controls" type="coordinator:CONTROLS" minOccurs="0" maxOccurs="1"/>
+            <xs:element name="datasets" type="coordinator:DATASETS" minOccurs="0" maxOccurs="1"/>
+            <xs:element name="input-events" type="coordinator:INPUTEVENTS" minOccurs="0" maxOccurs="1"/>
+            <xs:element name="output-events" type="coordinator:OUTPUTEVENTS" minOccurs="0" maxOccurs="1"/>
+            <xs:element name="action" type="coordinator:ACTION" minOccurs="1" maxOccurs="1"/>
+        </xs:sequence>
+        <xs:attribute name="name" type="xs:string" use="required"/>
+        <xs:attribute name="frequency" type="xs:string" use="required"/>
+        <xs:attribute name="start" type="xs:string" use="required"/>
+        <xs:attribute name="end" type="xs:string" use="required"/>
+        <xs:attribute name="timezone" type="xs:string" use="required"/>
+    </xs:complexType>
+    <xs:complexType name="CONTROLS">
+        <xs:sequence minOccurs="0" maxOccurs="1">
+            <xs:element name="timeout" type="xs:string" minOccurs="0" maxOccurs="1"/>
+            <xs:element name="concurrency" type="xs:string" minOccurs="0" maxOccurs="1"/>
+            <xs:element name="execution" type="xs:string" minOccurs="0" maxOccurs="1"/>
+            <xs:element name="throttle" type="xs:string" minOccurs="0" maxOccurs="1"/>
+        </xs:sequence>
+    </xs:complexType>
+    <xs:complexType name="DATASETS">
+        <xs:sequence minOccurs="0" maxOccurs="1">
+            <xs:element name="include" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
+            <xs:choice minOccurs="0" maxOccurs="unbounded">
+                <xs:element name="dataset" type="coordinator:SYNCDATASET" minOccurs="0" maxOccurs="1"/>
+                <xs:element name="async-dataset" type="coordinator:ASYNCDATASET" minOccurs="0" maxOccurs="1"/>
+            </xs:choice>
+        </xs:sequence>
+    </xs:complexType>
+    <xs:complexType name="SYNCDATASET">
+        <xs:sequence>
+            <xs:element name="uri-template" type="xs:string" minOccurs="1" maxOccurs="1"/>
+            <xs:element name="done-flag" type="xs:string" minOccurs="0" maxOccurs="1"/>
+        </xs:sequence>
+        <xs:attribute name="name" type="coordinator:IDENTIFIER" use="required"/>
+        <xs:attribute name="frequency" type="xs:string" use="required"/>
+        <xs:attribute name="initial-instance" type="xs:string" use="required"/>
+        <xs:attribute name="timezone" type="xs:string" use="required"/>
+    </xs:complexType>
+    <xs:complexType name="ASYNCDATASET">
+        <xs:sequence>
+            <xs:element name="uri-template" type="xs:string" minOccurs="1" maxOccurs="1"/>
+        </xs:sequence>
+        <xs:attribute name="name" type="coordinator:IDENTIFIER" use="required"/>
+        <xs:attribute name="sequence-type" type="xs:string" use="required"/>
+        <xs:attribute name="initial-version" type="xs:string" use="required"/>
+    </xs:complexType>
+    <xs:complexType name="INPUTEVENTS">
+        <xs:sequence minOccurs="1" maxOccurs="1">
+            <xs:element name="data-in" type="coordinator:DATAIN" minOccurs="1" maxOccurs="unbounded"/>
+        </xs:sequence>
+    </xs:complexType>
+    <xs:complexType name="DATAIN">
+        <xs:choice minOccurs="1" maxOccurs="1">
+            <xs:element name="instance" type="xs:string" minOccurs="1" maxOccurs="unbounded"/>
+            <xs:sequence minOccurs="1" maxOccurs="1">
+                <xs:element name="start-instance" type="xs:string" minOccurs="1" maxOccurs="1"/>
+                <xs:element name="end-instance" type="xs:string" minOccurs="1" maxOccurs="1"/>
+            </xs:sequence>
+        </xs:choice>
+        <xs:attribute name="name" type="coordinator:IDENTIFIER" use="required"/>
+        <xs:attribute name="dataset" type="coordinator:IDENTIFIER" use="required"/>
+    </xs:complexType>
+    <xs:complexType name="OUTPUTEVENTS">
+        <xs:sequence minOccurs="1" maxOccurs="1">
+            <xs:element name="data-out" type="coordinator:DATAOUT" minOccurs="1" maxOccurs="unbounded"/>
+        </xs:sequence>
+    </xs:complexType>
+    <xs:complexType name="DATAOUT">
+        <xs:sequence minOccurs="1" maxOccurs="1">
+            <xs:element name="instance" type="xs:string" minOccurs="1" maxOccurs="1"/>
+        </xs:sequence>
+        <xs:attribute name="name" type="coordinator:IDENTIFIER" use="required"/>
+        <xs:attribute name="dataset" type="coordinator:IDENTIFIER" use="required"/>
+    </xs:complexType>
+    <xs:complexType name="ACTION">
+        <xs:sequence minOccurs="1" maxOccurs="1">
+            <xs:element name="workflow" type="coordinator:WORKFLOW" minOccurs="1" maxOccurs="1"/>
+            <xs:any namespace="uri:oozie:sla:0.1" minOccurs="0" maxOccurs="1"/>
+        </xs:sequence>
+    </xs:complexType>
+    <xs:complexType name="WORKFLOW">
+        <xs:sequence>
+            <xs:element name="app-path" type="xs:string" minOccurs="1" maxOccurs="1"/>
+            <xs:element name="configuration" type="coordinator:CONFIGURATION" minOccurs="0" maxOccurs="1"/>
+        </xs:sequence>
+    </xs:complexType>
+
+    <xs:complexType name="FLAG"/>
+    <xs:complexType name="CONFIGURATION">
+        <xs:sequence>
+            <xs:element name="property" minOccurs="1" maxOccurs="unbounded">
+                <xs:complexType>
+                    <xs:sequence>
+                        <xs:element name="name" minOccurs="1" maxOccurs="1" type="xs:string"/>
+                        <xs:element name="value" minOccurs="1" maxOccurs="1" type="xs:string"/>
+                        <xs:element name="description" minOccurs="0" maxOccurs="1" type="xs:string"/>
+                    </xs:sequence>
+                </xs:complexType>
+            </xs:element>
+        </xs:sequence>
+    </xs:complexType>
+</xs:schema>
+


Mime
View raw message