You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sqoop.apache.org by ja...@apache.org on 2015/11/12 22:08:32 UTC
sqoop git commit: SQOOP-2675: Sqoop2: Remove the id from public
interface for Job
Repository: sqoop
Updated Branches:
refs/heads/sqoop2 fdc7cd3d3 -> 6dde89615
SQOOP-2675: Sqoop2: Remove the id from public interface for Job
(Colin Ma via Jarek Jarcec Cecho)
Project: http://git-wip-us.apache.org/repos/asf/sqoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/sqoop/commit/6dde8961
Tree: http://git-wip-us.apache.org/repos/asf/sqoop/tree/6dde8961
Diff: http://git-wip-us.apache.org/repos/asf/sqoop/diff/6dde8961
Branch: refs/heads/sqoop2
Commit: 6dde89615895212a51d10f829b4a6332f24d4526
Parents: fdc7cd3
Author: Jarek Jarcec Cecho <ja...@apache.org>
Authored: Thu Nov 12 13:08:02 2015 -0800
Committer: Jarek Jarcec Cecho <ja...@apache.org>
Committed: Thu Nov 12 13:08:02 2015 -0800
----------------------------------------------------------------------
.../org/apache/sqoop/handler/HandlerUtils.java | 47 ++------------------
.../apache/sqoop/handler/JobRequestHandler.java | 36 +++++++--------
.../sqoop/handler/SubmissionRequestHandler.java | 4 +-
.../test/infrastructure/SqoopTestCase.java | 4 +-
.../sqoop/test/testcases/ConnectorTestCase.java | 6 +--
.../jdbc/generic/IncrementalReadTest.java | 4 +-
.../derby/upgrade/Derby1_99_3UpgradeTest.java | 14 ++----
.../derby/upgrade/Derby1_99_4UpgradeTest.java | 9 +---
.../derby/upgrade/Derby1_99_5UpgradeTest.java | 9 +---
.../derby/upgrade/Derby1_99_6UpgradeTest.java | 9 +---
.../upgrade/DerbyRepositoryUpgradeTest.java | 23 +++++-----
.../SubmissionWithDisabledModelObjectsTest.java | 7 ++-
12 files changed, 59 insertions(+), 113 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/sqoop/blob/6dde8961/server/src/main/java/org/apache/sqoop/handler/HandlerUtils.java
----------------------------------------------------------------------
diff --git a/server/src/main/java/org/apache/sqoop/handler/HandlerUtils.java b/server/src/main/java/org/apache/sqoop/handler/HandlerUtils.java
index 69bccf7..c23a704 100644
--- a/server/src/main/java/org/apache/sqoop/handler/HandlerUtils.java
+++ b/server/src/main/java/org/apache/sqoop/handler/HandlerUtils.java
@@ -27,53 +27,14 @@ import org.apache.sqoop.server.common.ServerError;
public class HandlerUtils {
- public static long getJobIdFromIdentifier(String identifier) {
- // support jobName or jobId for the api
- // NOTE: jobId is a fallback for older sqoop clients if any, since we want
- // to primarily use unique jobNames
- long jobId;
- Repository repository = RepositoryManager.getInstance().getRepository();
- MJob job = repository.findJob(identifier);
- if (job != null) {
- jobId = job.getPersistenceId();
- } else {
- try {
- jobId = Long.parseLong(identifier);
- } catch (NumberFormatException ex) {
- // this means name nor Id existed and we want to throw a user friendly
- // message than a number format exception
- throw new SqoopException(ServerError.SERVER_0005, "Invalid job: " + identifier
- + " requested");
- }
- }
- return jobId;
- }
-
- public static String getJobNameFromIdentifier(String identifier) {
- // support jobName or jobId for the api
- // NOTE: jobId is a fallback for older sqoop clients if any, since we want
- // to primarily use unique jobNames
+ public static MJob getJobFromIdentifier(String identifier) {
Repository repository = RepositoryManager.getInstance().getRepository();
MJob job = repository.findJob(identifier);
if (job == null) {
- long jobId;
- try {
- jobId = Long.parseLong(identifier);
- } catch (NumberFormatException ex) {
- // this means name nor Id existed and we want to throw a user friendly
- // message than a number format exception
- throw new SqoopException(ServerError.SERVER_0005, "Invalid job: " + identifier
- + " requested");
- }
-
- job = repository.findJob(jobId);
- if (job == null) {
- throw new SqoopException(ServerError.SERVER_0006, "Job: " + identifier
- + " doesn't exist");
- }
+ throw new SqoopException(ServerError.SERVER_0006, "Job: " + identifier
+ + " doesn't exist");
}
-
- return job.getName();
+ return job;
}
public static long getLinkIdFromIdentifier(String identifier) {
http://git-wip-us.apache.org/repos/asf/sqoop/blob/6dde8961/server/src/main/java/org/apache/sqoop/handler/JobRequestHandler.java
----------------------------------------------------------------------
diff --git a/server/src/main/java/org/apache/sqoop/handler/JobRequestHandler.java b/server/src/main/java/org/apache/sqoop/handler/JobRequestHandler.java
index 6face94..094bf2b 100644
--- a/server/src/main/java/org/apache/sqoop/handler/JobRequestHandler.java
+++ b/server/src/main/java/org/apache/sqoop/handler/JobRequestHandler.java
@@ -141,7 +141,8 @@ public class JobRequestHandler implements RequestHandler {
Repository repository = RepositoryManager.getInstance().getRepository();
String jobIdentifier = ctx.getLastURLElement();
- String jobName = HandlerUtils.getJobNameFromIdentifier(jobIdentifier);
+ MJob job = HandlerUtils.getJobFromIdentifier(jobIdentifier);
+ String jobName = job.getName();
// Authorization check
AuthorizationEngine.deleteJob(ctx.getUserName(), jobName);
@@ -195,7 +196,7 @@ public class JobRequestHandler implements RequestHandler {
AuthorizationEngine.updateJob(ctx.getUserName(),
HandlerUtils.getLinkNameFromIdentifier(String.valueOf(postedJob.getFromLinkId())),
HandlerUtils.getLinkNameFromIdentifier(String.valueOf(postedJob.getToLinkId())),
- HandlerUtils.getJobNameFromIdentifier(String.valueOf(postedJob.getPersistenceId())));
+ postedJob.getName());
}
// Verify that user is not trying to spoof us
@@ -214,10 +215,8 @@ public class JobRequestHandler implements RequestHandler {
// if update get the job id from the request URI
if (!create) {
String jobIdentifier = ctx.getLastURLElement();
- // support jobName or jobId for the api
- long jobId = HandlerUtils.getJobIdFromIdentifier(jobIdentifier);
+ MJob existingJob = HandlerUtils.getJobFromIdentifier(jobIdentifier);
if (postedJob.getPersistenceId() == MPersistableEntity.PERSISTANCE_ID_DEFAULT) {
- MJob existingJob = repository.findJob(jobId);
postedJob.setPersistenceId(existingJob.getPersistenceId());
}
}
@@ -310,12 +309,12 @@ public class JobRequestHandler implements RequestHandler {
AuditLoggerManager.getInstance().logAuditEvent(ctx.getUserName(),
ctx.getRequest().getRemoteAddr(), "get", "job", connectorIdentifier);
- String jobName = HandlerUtils.getJobNameFromIdentifier(connectorIdentifier);
+ MJob job = HandlerUtils.getJobFromIdentifier(connectorIdentifier);
+ String jobName = job.getName();
// Authorization check
AuthorizationEngine.readJob(ctx.getUserName(), jobName);
- MJob job = repository.findJob(jobName);
jobBean = createJobBean(Arrays.asList(job), locale);
}
return jobBean;
@@ -354,7 +353,8 @@ public class JobRequestHandler implements RequestHandler {
Repository repository = RepositoryManager.getInstance().getRepository();
String[] elements = ctx.getUrlElements();
String jobIdentifier = elements[elements.length - 2];
- String jobName = HandlerUtils.getJobNameFromIdentifier(jobIdentifier);
+ MJob job = HandlerUtils.getJobFromIdentifier(jobIdentifier);
+ String jobName = job.getName();
// Authorization check
AuthorizationEngine.enableDisableJob(ctx.getUserName(), jobName);
@@ -366,14 +366,14 @@ public class JobRequestHandler implements RequestHandler {
private JsonBean startJob(RequestContext ctx) {
String[] elements = ctx.getUrlElements();
String jobIdentifier = elements[elements.length - 2];
- long jobId = HandlerUtils.getJobIdFromIdentifier(jobIdentifier);
- String jobName = HandlerUtils.getJobNameFromIdentifier(jobIdentifier);
+ MJob job = HandlerUtils.getJobFromIdentifier(jobIdentifier);
+ String jobName = job.getName();
// Authorization check
AuthorizationEngine.startJob(ctx.getUserName(), jobName);
AuditLoggerManager.getInstance().logAuditEvent(ctx.getUserName(),
- ctx.getRequest().getRemoteAddr(), "submit", "job", String.valueOf(jobId));
+ ctx.getRequest().getRemoteAddr(), "submit", "job", jobName);
// TODO(SQOOP-1638): This should be outsourced somewhere more suitable than here
// Current approach is to point JobManager to use /v1/job/notification/$JOB_ID/status
// and depend on the behavior of status that for running jobs will go to the cluster
@@ -392,14 +392,14 @@ public class JobRequestHandler implements RequestHandler {
private JsonBean stopJob(RequestContext ctx) {
String[] elements = ctx.getUrlElements();
String jobIdentifier = elements[elements.length - 2];
- long jobId = HandlerUtils.getJobIdFromIdentifier(jobIdentifier);
- String jobName = HandlerUtils.getJobNameFromIdentifier(jobIdentifier);
+ MJob job = HandlerUtils.getJobFromIdentifier(jobIdentifier);
+ String jobName = job.getName();
// Authorization check
AuthorizationEngine.stopJob(ctx.getUserName(), jobName);
AuditLoggerManager.getInstance().logAuditEvent(ctx.getUserName(),
- ctx.getRequest().getRemoteAddr(), "stop", "job", String.valueOf(jobId));
+ ctx.getRequest().getRemoteAddr(), "stop", "job", jobName);
MSubmission submission = JobManager.getInstance().stop(jobName, prepareRequestEventContext(ctx));
return new SubmissionBean(submission);
}
@@ -407,17 +407,17 @@ public class JobRequestHandler implements RequestHandler {
private JsonBean getJobStatus(RequestContext ctx) {
String[] elements = ctx.getUrlElements();
String jobIdentifier = elements[elements.length - 2];
- long jobId = HandlerUtils.getJobIdFromIdentifier(jobIdentifier);
- String jobName = HandlerUtils.getJobNameFromIdentifier(jobIdentifier);
+ MJob job = HandlerUtils.getJobFromIdentifier(jobIdentifier);
+ String jobName = job.getName();
// Authorization check
AuthorizationEngine.statusJob(ctx.getUserName(), jobName);
AuditLoggerManager.getInstance().logAuditEvent(ctx.getUserName(),
- ctx.getRequest().getRemoteAddr(), "status", "job", String.valueOf(jobId));
+ ctx.getRequest().getRemoteAddr(), "status", "job", jobName);
MSubmission submission = JobManager.getInstance().status(jobName);
if (submission == null) {
- submission = new MSubmission(jobId, new Date(), SubmissionStatus.NEVER_EXECUTED);
+ submission = new MSubmission(job.getPersistenceId(), new Date(), SubmissionStatus.NEVER_EXECUTED);
}
return new SubmissionBean(submission);
http://git-wip-us.apache.org/repos/asf/sqoop/blob/6dde8961/server/src/main/java/org/apache/sqoop/handler/SubmissionRequestHandler.java
----------------------------------------------------------------------
diff --git a/server/src/main/java/org/apache/sqoop/handler/SubmissionRequestHandler.java b/server/src/main/java/org/apache/sqoop/handler/SubmissionRequestHandler.java
index 02937bb..6cf3dbe 100644
--- a/server/src/main/java/org/apache/sqoop/handler/SubmissionRequestHandler.java
+++ b/server/src/main/java/org/apache/sqoop/handler/SubmissionRequestHandler.java
@@ -24,6 +24,7 @@ import org.apache.sqoop.audit.AuditLoggerManager;
import org.apache.sqoop.common.SqoopException;
import org.apache.sqoop.json.JsonBean;
import org.apache.sqoop.json.SubmissionsBean;
+import org.apache.sqoop.model.MJob;
import org.apache.sqoop.model.MSubmission;
import org.apache.sqoop.repository.RepositoryManager;
import org.apache.sqoop.security.authorization.AuthorizationEngine;
@@ -75,7 +76,8 @@ public class SubmissionRequestHandler implements RequestHandler {
}
private JsonBean getSubmissionsForJob(String jobIdentifier, RequestContext ctx) {
- String jobName = HandlerUtils.getJobNameFromIdentifier(jobIdentifier);
+ MJob job = HandlerUtils.getJobFromIdentifier(jobIdentifier);
+ String jobName = job.getName();
//Authorization check
AuthorizationEngine.statusJob(ctx.getUserName(), jobName);
http://git-wip-us.apache.org/repos/asf/sqoop/blob/6dde8961/test/src/main/java/org/apache/sqoop/test/infrastructure/SqoopTestCase.java
----------------------------------------------------------------------
diff --git a/test/src/main/java/org/apache/sqoop/test/infrastructure/SqoopTestCase.java b/test/src/main/java/org/apache/sqoop/test/infrastructure/SqoopTestCase.java
index 386b701..4c5d3a8 100644
--- a/test/src/main/java/org/apache/sqoop/test/infrastructure/SqoopTestCase.java
+++ b/test/src/main/java/org/apache/sqoop/test/infrastructure/SqoopTestCase.java
@@ -353,8 +353,8 @@ public class SqoopTestCase implements ITest {
* @param jid Job id
* @throws Exception
*/
- public void executeJob(long jid) throws Exception {
- MSubmission finalSubmission = getClient().startJob(jid, DEFAULT_SUBMISSION_CALLBACKS, 100);
+ public void executeJob(String jobName) throws Exception {
+ MSubmission finalSubmission = getClient().startJob(jobName, DEFAULT_SUBMISSION_CALLBACKS, 100);
if(finalSubmission.getStatus().isFailure()) {
LOG.error("Submission has failed: " + finalSubmission.getError().getErrorSummary());
http://git-wip-us.apache.org/repos/asf/sqoop/blob/6dde8961/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 8e3d7df..c843448 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
@@ -279,8 +279,8 @@ abstract public class ConnectorTestCase extends JettyTestCase {
* @param jid Job id
* @throws Exception
*/
- protected void executeJob(long jid) throws Exception {
- MSubmission finalSubmission = getClient().startJob(jid, DEFAULT_SUBMISSION_CALLBACKS, 100);
+ protected void executeJob(String jobName) throws Exception {
+ MSubmission finalSubmission = getClient().startJob(jobName, DEFAULT_SUBMISSION_CALLBACKS, 100);
if(finalSubmission.getStatus().isFailure()) {
LOG.error("Submission has failed: " + finalSubmission.getError().getErrorSummary());
@@ -297,6 +297,6 @@ abstract public class ConnectorTestCase extends JettyTestCase {
* @throws Exception
*/
protected void executeJob(MJob job) throws Exception {
- executeJob(job.getPersistenceId());
+ executeJob(job.getName());
}
}
http://git-wip-us.apache.org/repos/asf/sqoop/blob/6dde8961/test/src/test/java/org/apache/sqoop/integration/connector/jdbc/generic/IncrementalReadTest.java
----------------------------------------------------------------------
diff --git a/test/src/test/java/org/apache/sqoop/integration/connector/jdbc/generic/IncrementalReadTest.java b/test/src/test/java/org/apache/sqoop/integration/connector/jdbc/generic/IncrementalReadTest.java
index a7be9c6..d29e4cf 100644
--- a/test/src/test/java/org/apache/sqoop/integration/connector/jdbc/generic/IncrementalReadTest.java
+++ b/test/src/test/java/org/apache/sqoop/integration/connector/jdbc/generic/IncrementalReadTest.java
@@ -120,7 +120,7 @@ public class IncrementalReadTest extends ConnectorTestCase implements ITest {
);
// Verify new last value
- MJob updatedJob = getClient().getJob(job.getPersistenceId());
+ MJob updatedJob = getClient().getJob(job.getName());
assertEquals(updatedJob.getFromJobConfig().getStringInput("incrementalRead.lastValue").getValue(), newMaxValue);
// Clean up testing table
@@ -175,7 +175,7 @@ public class IncrementalReadTest extends ConnectorTestCase implements ITest {
);
// Verify new last value
- MJob updatedJob = getClient().getJob(job.getPersistenceId());
+ MJob updatedJob = getClient().getJob(job.getName());
assertEquals(updatedJob.getFromJobConfig().getStringInput("incrementalRead.lastValue").getValue(), newMaxValue);
// Clean up testing table
http://git-wip-us.apache.org/repos/asf/sqoop/blob/6dde8961/test/src/test/java/org/apache/sqoop/integration/repository/derby/upgrade/Derby1_99_3UpgradeTest.java
----------------------------------------------------------------------
diff --git a/test/src/test/java/org/apache/sqoop/integration/repository/derby/upgrade/Derby1_99_3UpgradeTest.java b/test/src/test/java/org/apache/sqoop/integration/repository/derby/upgrade/Derby1_99_3UpgradeTest.java
index 3962449..ab2b950 100644
--- a/test/src/test/java/org/apache/sqoop/integration/repository/derby/upgrade/Derby1_99_3UpgradeTest.java
+++ b/test/src/test/java/org/apache/sqoop/integration/repository/derby/upgrade/Derby1_99_3UpgradeTest.java
@@ -20,10 +20,7 @@ package org.apache.sqoop.integration.repository.derby.upgrade;
import org.apache.sqoop.model.MJob;
import org.testng.annotations.Test;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Set;
-import java.util.TreeSet;
+import java.util.*;
import static org.testng.Assert.assertFalse;
import static org.testng.Assert.assertEquals;
@@ -77,8 +74,8 @@ public class Derby1_99_3UpgradeTest extends DerbyRepositoryUpgradeTest {
}
@Override
- public Integer[] getDisabledJobIds() {
- return new Integer[] {3};
+ public String[] getDisabledJobNames() {
+ return new String[] {jobIdToNameMap.get(3L)};
}
@Override
@@ -86,11 +83,6 @@ public class Derby1_99_3UpgradeTest extends DerbyRepositoryUpgradeTest {
return new Integer[] {1, 2, 3, 4, 5};
}
- @Override
- public Integer[] getDeleteJobIds() {
- return new Integer[] {1, 2, 3, 4, 5, 6};
- }
-
@Test
public void testNonuniqueNames() throws Exception {
Set<String> jobNames = new TreeSet<String>();
http://git-wip-us.apache.org/repos/asf/sqoop/blob/6dde8961/test/src/test/java/org/apache/sqoop/integration/repository/derby/upgrade/Derby1_99_4UpgradeTest.java
----------------------------------------------------------------------
diff --git a/test/src/test/java/org/apache/sqoop/integration/repository/derby/upgrade/Derby1_99_4UpgradeTest.java b/test/src/test/java/org/apache/sqoop/integration/repository/derby/upgrade/Derby1_99_4UpgradeTest.java
index 9ee0379..c86888f 100644
--- a/test/src/test/java/org/apache/sqoop/integration/repository/derby/upgrade/Derby1_99_4UpgradeTest.java
+++ b/test/src/test/java/org/apache/sqoop/integration/repository/derby/upgrade/Derby1_99_4UpgradeTest.java
@@ -76,17 +76,12 @@ public class Derby1_99_4UpgradeTest extends DerbyRepositoryUpgradeTest {
}
@Override
- public Integer[] getDisabledJobIds() {
- return new Integer[] {4, 5};
+ public String[] getDisabledJobNames() {
+ return new String[] {jobIdToNameMap.get(4L), jobIdToNameMap.get(5L)};
}
@Override
public Integer[] getDeleteLinkIds() {
return new Integer[] {1, 2, 3, 4, 5, 6};
}
-
- @Override
- public Integer[] getDeleteJobIds() {
- return new Integer[] {1, 2, 3, 4, 5, 6};
- }
}
http://git-wip-us.apache.org/repos/asf/sqoop/blob/6dde8961/test/src/test/java/org/apache/sqoop/integration/repository/derby/upgrade/Derby1_99_5UpgradeTest.java
----------------------------------------------------------------------
diff --git a/test/src/test/java/org/apache/sqoop/integration/repository/derby/upgrade/Derby1_99_5UpgradeTest.java b/test/src/test/java/org/apache/sqoop/integration/repository/derby/upgrade/Derby1_99_5UpgradeTest.java
index 4183d8b..8e6435a 100644
--- a/test/src/test/java/org/apache/sqoop/integration/repository/derby/upgrade/Derby1_99_5UpgradeTest.java
+++ b/test/src/test/java/org/apache/sqoop/integration/repository/derby/upgrade/Derby1_99_5UpgradeTest.java
@@ -85,8 +85,8 @@ public class Derby1_99_5UpgradeTest extends DerbyRepositoryUpgradeTest {
}
@Override
- public Integer[] getDisabledJobIds() {
- return new Integer[] {4, 5};
+ public String[] getDisabledJobNames() {
+ return new String[] {jobIdToNameMap.get(4L), jobIdToNameMap.get(5L)};
}
@Override
@@ -94,11 +94,6 @@ public class Derby1_99_5UpgradeTest extends DerbyRepositoryUpgradeTest {
return new Integer[] {1, 2, 3, 4, 5, 6};
}
- @Override
- public Integer[] getDeleteJobIds() {
- return new Integer[] {1, 2, 3, 4, 5, 6};
- }
-
@Test
public void testJobNameNotNull() {
assertEquals(getNumberOfJobs(), getClient().getJobs().size());
http://git-wip-us.apache.org/repos/asf/sqoop/blob/6dde8961/test/src/test/java/org/apache/sqoop/integration/repository/derby/upgrade/Derby1_99_6UpgradeTest.java
----------------------------------------------------------------------
diff --git a/test/src/test/java/org/apache/sqoop/integration/repository/derby/upgrade/Derby1_99_6UpgradeTest.java b/test/src/test/java/org/apache/sqoop/integration/repository/derby/upgrade/Derby1_99_6UpgradeTest.java
index 59980c0..258b79a 100644
--- a/test/src/test/java/org/apache/sqoop/integration/repository/derby/upgrade/Derby1_99_6UpgradeTest.java
+++ b/test/src/test/java/org/apache/sqoop/integration/repository/derby/upgrade/Derby1_99_6UpgradeTest.java
@@ -86,8 +86,8 @@ public class Derby1_99_6UpgradeTest extends DerbyRepositoryUpgradeTest {
}
@Override
- public Integer[] getDisabledJobIds() {
- return new Integer[] {4, 5};
+ public String[] getDisabledJobNames() {
+ return new String[] {jobIdToNameMap.get(4L), jobIdToNameMap.get(5L)};
}
@Override
@@ -95,11 +95,6 @@ public class Derby1_99_6UpgradeTest extends DerbyRepositoryUpgradeTest {
return new Integer[] {1, 2, 3, 4, 5, 6};
}
- @Override
- public Integer[] getDeleteJobIds() {
- return new Integer[] {1, 2, 3, 4, 5, 6};
- }
-
@Test
public void testJobNameNotNull() {
assertEquals(getNumberOfJobs(), getClient().getJobs().size());
http://git-wip-us.apache.org/repos/asf/sqoop/blob/6dde8961/test/src/test/java/org/apache/sqoop/integration/repository/derby/upgrade/DerbyRepositoryUpgradeTest.java
----------------------------------------------------------------------
diff --git a/test/src/test/java/org/apache/sqoop/integration/repository/derby/upgrade/DerbyRepositoryUpgradeTest.java b/test/src/test/java/org/apache/sqoop/integration/repository/derby/upgrade/DerbyRepositoryUpgradeTest.java
index 98e1fa1..6f19113 100644
--- a/test/src/test/java/org/apache/sqoop/integration/repository/derby/upgrade/DerbyRepositoryUpgradeTest.java
+++ b/test/src/test/java/org/apache/sqoop/integration/repository/derby/upgrade/DerbyRepositoryUpgradeTest.java
@@ -19,6 +19,7 @@ package org.apache.sqoop.integration.repository.derby.upgrade;
import org.apache.hadoop.conf.Configuration;
import org.apache.sqoop.client.SqoopClient;
+import org.apache.sqoop.model.MJob;
import org.apache.sqoop.test.minicluster.JettySqoopMiniCluster;
import org.apache.sqoop.test.testcases.JettyTestCase;
import org.apache.sqoop.test.utils.CompressionUtils;
@@ -54,6 +55,7 @@ import static org.testng.Assert.assertNotNull;
public abstract class DerbyRepositoryUpgradeTest extends JettyTestCase {
private static final Logger LOG = Logger.getLogger(DerbyRepositoryUpgradeTest.class);
+ protected Map<Long, String> jobIdToNameMap;
/**
* Custom Sqoop mini cluster that points derby repository to real on-disk structures.
@@ -112,18 +114,13 @@ public abstract class DerbyRepositoryUpgradeTest extends JettyTestCase {
/**
* List of job ids that should be disabled
*/
- public abstract Integer[] getDisabledJobIds();
+ public abstract String[] getDisabledJobNames();
/**
* List of link ids that we should delete using the id
*/
public abstract Integer[] getDeleteLinkIds();
- /**
- * List of job ids that we should delete using the id
- */
- public abstract Integer[] getDeleteJobIds();
-
public String getRepositoryPath() {
return HdfsUtils.joinPathFragments(getTemporaryJettyPath(), "repo");
}
@@ -157,6 +154,11 @@ public abstract class DerbyRepositoryUpgradeTest extends JettyTestCase {
// Initialize Sqoop Client API
setClient(new SqoopClient(getServerUrl()));
+
+ jobIdToNameMap = new HashMap<Long, String>();
+ for(MJob job : getClient().getJobs()) {
+ jobIdToNameMap.put(job.getPersistenceId(), job.getName());
+ }
}
@AfterMethod
@@ -166,6 +168,7 @@ public abstract class DerbyRepositoryUpgradeTest extends JettyTestCase {
@Test
public void testPostUpgrade() throws Exception {
+
// Please note that the upgrade itself is done on startup and hence prior calling this test
// method. We're just verifying that Server has started and behaves and we are expecting.
@@ -185,13 +188,13 @@ public abstract class DerbyRepositoryUpgradeTest extends JettyTestCase {
for(Integer id : getDisabledLinkIds()) {
assertFalse(getClient().getLink(id).getEnabled());
}
- for(Integer id : getDisabledJobIds()) {
- assertFalse(getClient().getJob(id).getEnabled());
+ for(String name : getDisabledJobNames()) {
+ assertFalse(getClient().getJob(name).getEnabled());
}
// Remove all objects
- for(Integer id : getDeleteJobIds()) {
- getClient().deleteJob(id);
+ for(String name : jobIdToNameMap.values()) {
+ getClient().deleteJob(name);
}
for(Integer id : getDeleteLinkIds()) {
getClient().deleteLink(id);
http://git-wip-us.apache.org/repos/asf/sqoop/blob/6dde8961/test/src/test/java/org/apache/sqoop/integration/server/SubmissionWithDisabledModelObjectsTest.java
----------------------------------------------------------------------
diff --git a/test/src/test/java/org/apache/sqoop/integration/server/SubmissionWithDisabledModelObjectsTest.java b/test/src/test/java/org/apache/sqoop/integration/server/SubmissionWithDisabledModelObjectsTest.java
index 93cc7f6..c4e448e 100644
--- a/test/src/test/java/org/apache/sqoop/integration/server/SubmissionWithDisabledModelObjectsTest.java
+++ b/test/src/test/java/org/apache/sqoop/integration/server/SubmissionWithDisabledModelObjectsTest.java
@@ -76,6 +76,8 @@ public class SubmissionWithDisabledModelObjectsTest extends SqoopTestCase {
@Test
public void testWithDisabledObjects() throws Exception {
+ // the test will be executed several times, and the jobName should be different.
+ String jobName = "job_" + System.currentTimeMillis();
// RDBMS link
MLink rdbmsLink = getClient().createLink("generic-jdbc-connector");
fillRdbmsLinkConfig(rdbmsLink);
@@ -88,6 +90,7 @@ public class SubmissionWithDisabledModelObjectsTest extends SqoopTestCase {
// Job creation
MJob job = getClient().createJob(rdbmsLink.getPersistenceId(), hdfsLink.getPersistenceId());
+ job.setName(jobName);
// rdms "FROM" config
fillRdbmsFromConfig(job, "id");
@@ -99,11 +102,11 @@ public class SubmissionWithDisabledModelObjectsTest extends SqoopTestCase {
// Disable model entities as per parameterized run
getClient().enableLink(rdbmsLink.getPersistenceId(), enabledLink);
- getClient().enableJob(job.getPersistenceId(), enabledJob);
+ getClient().enableJob(jobName, enabledJob);
// Try to execute the job and verify that the it was not executed
try {
- executeJob(job.getPersistenceId());
+ executeJob(jobName);
fail("Expected exception as the model classes are disabled.");
} catch(SqoopException ex) {
// Top level exception should be CLIENT_0001