You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sqoop.apache.org by hs...@apache.org on 2013/07/12 03:24:08 UTC

git commit: SQOOP-1115. Sqoop2: Integration: Provide helper methods for synchronous job submission

Updated Branches:
  refs/heads/sqoop2 1f016abb9 -> 2e196a841


SQOOP-1115. Sqoop2: Integration: Provide helper methods for synchronous job submission

(Jarek Jarcec Cecho via Hari Shreedharan)


Project: http://git-wip-us.apache.org/repos/asf/sqoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/sqoop/commit/2e196a84
Tree: http://git-wip-us.apache.org/repos/asf/sqoop/tree/2e196a84
Diff: http://git-wip-us.apache.org/repos/asf/sqoop/diff/2e196a84

Branch: refs/heads/sqoop2
Commit: 2e196a841964bdeb69e035636a480e9dee6b1af6
Parents: 1f016ab
Author: Hari Shreedharan <hs...@apache.org>
Authored: Thu Jul 11 18:22:34 2013 -0700
Committer: Hari Shreedharan <hs...@apache.org>
Committed: Thu Jul 11 18:23:51 2013 -0700

----------------------------------------------------------------------
 .../sqoop/test/testcases/ConnectorTestCase.java | 42 ++++++++++++++++++++
 .../connector/jdbc/generic/TableExportTest.java | 10 +----
 .../connector/jdbc/generic/TableImportTest.java | 10 +----
 3 files changed, 44 insertions(+), 18 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/sqoop/blob/2e196a84/test/src/main/java/org/apache/sqoop/test/testcases/ConnectorTestCase.java
----------------------------------------------------------------------
diff --git a/test/src/main/java/org/apache/sqoop/test/testcases/ConnectorTestCase.java b/test/src/main/java/org/apache/sqoop/test/testcases/ConnectorTestCase.java
index 6aeadd4..bf1c91f 100644
--- a/test/src/main/java/org/apache/sqoop/test/testcases/ConnectorTestCase.java
+++ b/test/src/main/java/org/apache/sqoop/test/testcases/ConnectorTestCase.java
@@ -18,12 +18,14 @@
 package org.apache.sqoop.test.testcases;
 
 import org.apache.log4j.Logger;
+import org.apache.sqoop.client.SubmissionCallback;
 import org.apache.sqoop.framework.configuration.OutputFormat;
 import org.apache.sqoop.framework.configuration.StorageType;
 import org.apache.sqoop.model.MConnection;
 import org.apache.sqoop.model.MFormList;
 import org.apache.sqoop.model.MJob;
 import org.apache.sqoop.model.MPersistableEntity;
+import org.apache.sqoop.model.MSubmission;
 import org.apache.sqoop.test.asserts.ProviderAsserts;
 import org.apache.sqoop.test.data.Cities;
 import org.apache.sqoop.test.db.DatabaseProvider;
@@ -47,6 +49,26 @@ abstract public class ConnectorTestCase extends TomcatTestCase {
 
   protected static DatabaseProvider provider;
 
+  /**
+   * Default submission callbacks that are printing various status about the submission.
+   */
+  protected static SubmissionCallback DEFAULT_SUBMISSION_CALLBACKS = new SubmissionCallback() {
+    @Override
+    public void submitted(MSubmission submission) {
+      LOG.info("Submission submitted: " + submission);
+    }
+
+    @Override
+    public void updated(MSubmission submission) {
+      LOG.info("Submission updated: " + submission);
+    }
+
+    @Override
+    public void finished(MSubmission submission) {
+      LOG.info("Submission finished: " + submission);
+    }
+  };
+
   @BeforeClass
   public static void startProvider() throws Exception {
     provider = DatabaseProviderFactory.getProvider(System.getProperties());
@@ -174,4 +196,24 @@ abstract public class ConnectorTestCase extends TomcatTestCase {
     assertEquals(Status.FINE, getClient().createJob(job));
     assertNotSame(MPersistableEntity.PERSISTANCE_ID_DEFAULT, job.getPersistenceId());
   }
+
+  /**
+   * Run job with given jid.
+   *
+   * @param jid Job id
+   * @throws Exception
+   */
+  protected void runJob(long jid) throws Exception {
+    getClient().startSubmission(jid, DEFAULT_SUBMISSION_CALLBACKS, 100);
+  }
+
+  /**
+   * Run given job.
+   *
+   * @param job Job object
+   * @throws Exception
+   */
+  protected void runJob(MJob job) throws Exception {
+    runJob(job.getPersistenceId());
+  }
 }

http://git-wip-us.apache.org/repos/asf/sqoop/blob/2e196a84/test/src/test/java/org/apache/sqoop/integration/connector/jdbc/generic/TableExportTest.java
----------------------------------------------------------------------
diff --git a/test/src/test/java/org/apache/sqoop/integration/connector/jdbc/generic/TableExportTest.java b/test/src/test/java/org/apache/sqoop/integration/connector/jdbc/generic/TableExportTest.java
index b36cb07..ee8b97b 100644
--- a/test/src/test/java/org/apache/sqoop/integration/connector/jdbc/generic/TableExportTest.java
+++ b/test/src/test/java/org/apache/sqoop/integration/connector/jdbc/generic/TableExportTest.java
@@ -59,15 +59,7 @@ public class TableExportTest extends ConnectorTestCase {
     fillInputForm(job);
     createJob(job);
 
-    MSubmission submission = getClient().startSubmission(job.getPersistenceId());
-    assertTrue("Unexpected value: " + submission.getStatus(), submission.getStatus().isRunning());
-
-    // Wait until the job finish - this active waiting will be removed once
-    // Sqoop client API will get blocking support.
-    do {
-      Thread.sleep(5000);
-      submission = getClient().getSubmissionStatus(job.getPersistenceId());
-    } while(submission.getStatus().isRunning());
+    runJob(job);
 
     assertEquals(4L, rowCount());
     assertRowInCities(1, "USA", "San Francisco");

http://git-wip-us.apache.org/repos/asf/sqoop/blob/2e196a84/test/src/test/java/org/apache/sqoop/integration/connector/jdbc/generic/TableImportTest.java
----------------------------------------------------------------------
diff --git a/test/src/test/java/org/apache/sqoop/integration/connector/jdbc/generic/TableImportTest.java b/test/src/test/java/org/apache/sqoop/integration/connector/jdbc/generic/TableImportTest.java
index 639d9ad..b500828 100644
--- a/test/src/test/java/org/apache/sqoop/integration/connector/jdbc/generic/TableImportTest.java
+++ b/test/src/test/java/org/apache/sqoop/integration/connector/jdbc/generic/TableImportTest.java
@@ -56,15 +56,7 @@ public class TableImportTest extends ConnectorTestCase {
     fillOutputForm(job, StorageType.HDFS, OutputFormat.TEXT_FILE);
     createJob(job);
 
-    MSubmission submission = getClient().startSubmission(job.getPersistenceId());
-    assertTrue(submission.getStatus().isRunning());
-
-    // Wait until the job finish - this active waiting will be removed once
-    // Sqoop client API will get blocking support.
-    do {
-      Thread.sleep(5000);
-      submission = getClient().getSubmissionStatus(job.getPersistenceId());
-    } while(submission.getStatus().isRunning());
+    runJob(job);
 
     // Assert correct output
     assertMapreduceOutput(