You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sqoop.apache.org by ab...@apache.org on 2014/12/04 09:18:53 UTC

sqoop git commit: SQOOP-1812: Sqoop2: Repository upgrade issue will prevent server startup

Repository: sqoop
Updated Branches:
  refs/heads/sqoop2 ae31a0237 -> c4d5badac


SQOOP-1812: Sqoop2: Repository upgrade issue will prevent server startup

(Qian Xu via Abraham Elmahrek)


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

Branch: refs/heads/sqoop2
Commit: c4d5badacfd5154d177db6494a628995eecfca81
Parents: ae31a02
Author: Abraham Elmahrek <ab...@elmahrek.com>
Authored: Thu Dec 4 00:02:01 2014 -0800
Committer: Abraham Elmahrek <ab...@elmahrek.com>
Committed: Thu Dec 4 00:02:01 2014 -0800

----------------------------------------------------------------------
 .../repository/derby/DerbyRepositoryHandler.java      |  5 ++++-
 .../derby/TestRespositorySchemaUpgrade.java           | 14 +++++++++++++-
 2 files changed, 17 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/sqoop/blob/c4d5bada/repository/repository-derby/src/main/java/org/apache/sqoop/repository/derby/DerbyRepositoryHandler.java
----------------------------------------------------------------------
diff --git a/repository/repository-derby/src/main/java/org/apache/sqoop/repository/derby/DerbyRepositoryHandler.java b/repository/repository-derby/src/main/java/org/apache/sqoop/repository/derby/DerbyRepositoryHandler.java
index 907978f..7ba851c 100644
--- a/repository/repository-derby/src/main/java/org/apache/sqoop/repository/derby/DerbyRepositoryHandler.java
+++ b/repository/repository-derby/src/main/java/org/apache/sqoop/repository/derby/DerbyRepositoryHandler.java
@@ -204,8 +204,11 @@ public class DerbyRepositoryHandler extends CommonRepositoryHandler {
    */
   @Override
   public void createOrUpgradeRepository(Connection conn) {
-
     int repositoryVersion = detectRepositoryVersion(conn);
+    if (repositoryVersion == DerbyRepoConstants.LATEST_DERBY_REPOSITORY_VERSION) {
+      return;
+    }
+
     if(repositoryVersion <= 0) {
       runQuery(QUERY_CREATE_SCHEMA_SQOOP, conn);
       runQuery(QUERY_CREATE_TABLE_SQ_CONNECTOR, conn);

http://git-wip-us.apache.org/repos/asf/sqoop/blob/c4d5bada/repository/repository-derby/src/test/java/org/apache/sqoop/repository/derby/TestRespositorySchemaUpgrade.java
----------------------------------------------------------------------
diff --git a/repository/repository-derby/src/test/java/org/apache/sqoop/repository/derby/TestRespositorySchemaUpgrade.java b/repository/repository-derby/src/test/java/org/apache/sqoop/repository/derby/TestRespositorySchemaUpgrade.java
index 928c34a..934056f 100644
--- a/repository/repository-derby/src/test/java/org/apache/sqoop/repository/derby/TestRespositorySchemaUpgrade.java
+++ b/repository/repository-derby/src/test/java/org/apache/sqoop/repository/derby/TestRespositorySchemaUpgrade.java
@@ -45,12 +45,24 @@ public class TestRespositorySchemaUpgrade extends DerbyTestCase {
   }
 
   @Test
-  public void testCreateorUpdateRepositorySchema() throws Exception {
+  public void testCreatorUpdateRepositorySchema() throws Exception {
     assertFalse(handler.isRespositorySuitableForUse(getDerbyDatabaseConnection()));
     handler.createOrUpgradeRepository(getDerbyDatabaseConnection());
     assertTrue(handler.isRespositorySuitableForUse(getDerbyDatabaseConnection()));
   }
 
+  @Test
+  public void testDoubleUpdateRepositorySchema() throws Exception {
+    // Setup
+    assertFalse(handler.isRespositorySuitableForUse(getDerbyDatabaseConnection()));
+    handler.createOrUpgradeRepository(getDerbyDatabaseConnection());
+    assertTrue(handler.isRespositorySuitableForUse(getDerbyDatabaseConnection()));
+
+    // Exercise and verify
+    handler.createOrUpgradeRepository(getDerbyDatabaseConnection());
+    assertTrue(handler.isRespositorySuitableForUse(getDerbyDatabaseConnection()));
+  }
+
   @Test(expected = SQLIntegrityConstraintViolationException.class)
   public void testUpgradeVersion4WithNonUniqueJobNameFailure() throws Exception {
     super.createOrUpgradeSchema(4);