Merged hyracks_asterix_stabilization upto rev 1913

git-svn-id: https://hyracks.googlecode.com/svn/trunk@1924 123451ca-8445-de46-9d55-352943316053
diff --git a/hyracks/hyracks-hadoop-compat/pom.xml b/hyracks/hyracks-hadoop-compat/pom.xml
index c348dcf..29260ca 100644
--- a/hyracks/hyracks-hadoop-compat/pom.xml
+++ b/hyracks/hyracks-hadoop-compat/pom.xml
@@ -29,7 +29,7 @@
             <configuration>
               <programs>
                 <program>
-                  <mainClass>edu.uci.ics.hyracks.hadoop.compat.CompatibilityLayer</mainClass>
+                  <mainClass>edu.uci.ics.hyracks.hadoop.compat.driver.CompatibilityLayer</mainClass>
                   <name>hadoop-compat</name>
                 </program>
               </programs>
diff --git a/hyracks/hyracks-hadoop-compat/src/main/java/edu/uci/ics/hyracks/hadoop/compat/client/HyracksClient.java b/hyracks/hyracks-hadoop-compat/src/main/java/edu/uci/ics/hyracks/hadoop/compat/client/HyracksClient.java
index eadf679..dfd229a 100644
--- a/hyracks/hyracks-hadoop-compat/src/main/java/edu/uci/ics/hyracks/hadoop/compat/client/HyracksClient.java
+++ b/hyracks/hyracks-hadoop-compat/src/main/java/edu/uci/ics/hyracks/hadoop/compat/client/HyracksClient.java
@@ -66,11 +66,10 @@
         JobId jobId;
         if (doProfiling) {
             System.out.println("PROFILING");
-            jobId = connection.createJob(applicationName, spec, EnumSet.of(JobFlag.PROFILE_RUNTIME));
+            jobId = connection.startJob(applicationName, spec, EnumSet.of(JobFlag.PROFILE_RUNTIME));
         } else {
-            jobId = connection.createJob(applicationName, spec);
+            jobId = connection.startJob(applicationName, spec);
         }
-        connection.start(jobId);
         HyracksRunningJob runningJob = new HyracksRunningJob(jobId, spec, this);
         return runningJob;
     }
diff --git a/hyracks/hyracks-hadoop-compat/src/main/java/edu/uci/ics/hyracks/hadoop/compat/client/HyracksRunningJob.java b/hyracks/hyracks-hadoop-compat/src/main/java/edu/uci/ics/hyracks/hadoop/compat/client/HyracksRunningJob.java
index 7c650ec..776fd54 100644
--- a/hyracks/hyracks-hadoop-compat/src/main/java/edu/uci/ics/hyracks/hadoop/compat/client/HyracksRunningJob.java
+++ b/hyracks/hyracks-hadoop-compat/src/main/java/edu/uci/ics/hyracks/hadoop/compat/client/HyracksRunningJob.java
@@ -8,13 +8,13 @@
 import org.apache.hadoop.mapred.TaskAttemptID;
 import org.apache.hadoop.mapred.TaskCompletionEvent;
 
+import edu.uci.ics.hyracks.api.job.IOperatorDescriptorRegistry;
 import edu.uci.ics.hyracks.api.job.JobId;
-import edu.uci.ics.hyracks.api.job.JobSpecification;
 
 public class HyracksRunningJob implements RunningJob {
 
     JobId jobId;
-    JobSpecification spec;
+    IOperatorDescriptorRegistry spec;
     HyracksClient hyracksClient;
 
     public JobId getJobId() {
@@ -25,15 +25,15 @@
         this.jobId = jobId;
     }
 
-    public JobSpecification getSpec() {
+    public IOperatorDescriptorRegistry getSpec() {
         return spec;
     }
 
-    public void setSpec(JobSpecification spec) {
+    public void setSpec(IOperatorDescriptorRegistry spec) {
         this.spec = spec;
     }
 
-    public HyracksRunningJob(JobId jobId, JobSpecification jobSpec, HyracksClient hyracksClient) {
+    public HyracksRunningJob(JobId jobId, IOperatorDescriptorRegistry jobSpec, HyracksClient hyracksClient) {
         this.spec = jobSpec;
         this.jobId = jobId;
         this.hyracksClient = hyracksClient;
diff --git a/hyracks/hyracks-hadoop-compat/src/main/java/edu/uci/ics/hyracks/hadoop/compat/util/HadoopAdapter.java b/hyracks/hyracks-hadoop-compat/src/main/java/edu/uci/ics/hyracks/hadoop/compat/util/HadoopAdapter.java
index 28833d7..1d6369a 100644
--- a/hyracks/hyracks-hadoop-compat/src/main/java/edu/uci/ics/hyracks/hadoop/compat/util/HadoopAdapter.java
+++ b/hyracks/hyracks-hadoop-compat/src/main/java/edu/uci/ics/hyracks/hadoop/compat/util/HadoopAdapter.java
@@ -30,6 +30,8 @@
 import edu.uci.ics.hyracks.api.dataflow.value.ISerializerDeserializer;
 import edu.uci.ics.hyracks.api.dataflow.value.ITuplePartitionComputerFactory;
 import edu.uci.ics.hyracks.api.dataflow.value.RecordDescriptor;
+import edu.uci.ics.hyracks.api.job.IConnectorDescriptorRegistry;
+import edu.uci.ics.hyracks.api.job.IOperatorDescriptorRegistry;
 import edu.uci.ics.hyracks.api.job.JobSpecification;
 import edu.uci.ics.hyracks.dataflow.hadoop.HadoopMapperOperatorDescriptor;
 import edu.uci.ics.hyracks.dataflow.hadoop.HadoopReducerOperatorDescriptor;
@@ -171,7 +173,7 @@
 	}
 
 	public HadoopReducerOperatorDescriptor getReducer(JobConf conf,
-			JobSpecification spec, boolean useAsCombiner) {
+			IOperatorDescriptorRegistry spec, boolean useAsCombiner) {
 		HadoopReducerOperatorDescriptor reduceOp = new HadoopReducerOperatorDescriptor(
 				spec, conf, null, new ClasspathBasedHadoopClassFactory(),
 				useAsCombiner);
@@ -334,7 +336,7 @@
 	}
 
 	public static InMemorySortOperatorDescriptor getInMemorySorter(
-			JobConf conf, JobSpecification spec) {
+			JobConf conf, IOperatorDescriptorRegistry spec) {
 		InMemorySortOperatorDescriptor inMemorySortOp = null;
 		RecordDescriptor recordDescriptor = getHadoopRecordDescriptor(conf
 				.getMapOutputKeyClass().getName(), conf
@@ -352,7 +354,7 @@
 	}
 
 	public static ExternalSortOperatorDescriptor getExternalSorter(
-			JobConf conf, JobSpecification spec) {
+			JobConf conf, IOperatorDescriptorRegistry spec) {
 		ExternalSortOperatorDescriptor externalSortOp = null;
 		RecordDescriptor recordDescriptor = getHadoopRecordDescriptor(conf
 				.getMapOutputKeyClass().getName(), conf
@@ -371,7 +373,7 @@
 	}
 
 	public static MToNPartitioningConnectorDescriptor getMtoNHashPartitioningConnector(
-			JobConf conf, JobSpecification spec) {
+			JobConf conf, IConnectorDescriptorRegistry spec) {
 
 		Class mapOutputKeyClass = conf.getMapOutputKeyClass();
 		Class mapOutputValueClass = conf.getMapOutputValueClass();