falcon-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From rag...@apache.org
Subject [2/2] incubator-falcon git commit: FALCON-890 Merlin tests need to be updated in secure cluster to get the token using the ugi object requests. Contributed by Arpit Gupta
Date Wed, 12 Nov 2014 23:37:35 GMT
FALCON-890 Merlin tests need to be updated in secure cluster to get the token using the ugi object requests. Contributed by Arpit Gupta


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

Branch: refs/heads/master
Commit: b85573e22816d660e743caeb5823918b73390210
Parents: 6f4f4b7
Author: Raghav Kumar Gautam <raghav@apache.org>
Authored: Wed Nov 12 15:37:23 2014 -0800
Committer: Raghav Kumar Gautam <raghav@apache.org>
Committed: Wed Nov 12 15:37:23 2014 -0800

----------------------------------------------------------------------
 falcon-regression/CHANGES.txt                   |   3 +
 .../falcon/regression/core/bundle/Bundle.java   |  33 +++--
 .../regression/core/helpers/LineageHelper.java  |   6 +-
 .../core/interfaces/IEntityManagerHelper.java   |  82 ++++++------
 .../falcon/regression/core/util/BundleUtil.java |   2 +-
 .../regression/core/util/CleanupUtil.java       |  15 ++-
 .../regression/core/util/InstanceUtil.java      |   6 +-
 .../regression/core/util/KerberosHelper.java    |  28 ++--
 .../falcon/regression/core/util/Util.java       |  20 +--
 .../org/apache/falcon/request/BaseRequest.java  |   5 +-
 .../security/FalconAuthorizationToken.java      |  24 +++-
 .../regression/testHelper/BaseTestClass.java    |   1 -
 .../falcon/regression/AuthorizationTest.java    |  31 +----
 .../falcon/regression/FeedLateRerunTest.java    |   4 +-
 .../falcon/regression/FeedReplicationTest.java  |   4 +-
 .../regression/FeedSubmitAndScheduleTest.java   |   5 +-
 .../falcon/regression/InstanceParamTest.java    |  12 +-
 .../falcon/regression/InstanceSummaryTest.java  |  10 +-
 .../regression/ProcessInstanceStatusTest.java   |   3 +-
 .../regression/entity/ListEntitiesTest.java     |  15 ++-
 .../regression/lineage/EntitySummaryTest.java   |   9 +-
 .../lineage/ListFeedInstancesTest.java          |  21 +--
 .../regression/lineage/ProcessPipelineTest.java |  10 +-
 .../prism/NewPrismProcessUpdateTest.java        |   2 +-
 .../RescheduleProcessInFinalStatesTest.java     |   3 +-
 .../falcon/regression/prism/RetentionTest.java  |   3 +-
 .../prism/UpdateAtSpecificTimeTest.java         |  40 +++---
 .../regression/security/ClusterAclTest.java     |   2 -
 .../falcon/regression/security/EntityOp.java    | 132 ++++++++++---------
 .../regression/security/FalconClientTest.java   |   2 -
 .../falcon/regression/security/FeedAclTest.java |   4 -
 .../regression/security/ProcessAclTest.java     |   4 -
 .../falcon/regression/ui/LineageGraphTest.java  |   4 +-
 .../falcon/regression/ui/ProcessUITest.java     |   9 +-
 34 files changed, 288 insertions(+), 266 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-falcon/blob/b85573e2/falcon-regression/CHANGES.txt
----------------------------------------------------------------------
diff --git a/falcon-regression/CHANGES.txt b/falcon-regression/CHANGES.txt
index 19f1aec..645db67 100644
--- a/falcon-regression/CHANGES.txt
+++ b/falcon-regression/CHANGES.txt
@@ -30,6 +30,9 @@ Trunk (Unreleased)
    via Samarth Gupta)
 
   IMPROVEMENTS
+   FALCON-890 Merlin tests need to be updated in secure cluster to get the
+   token using the ugi object requests (Arpit Gupta)
+
    FALCON-863 Fix tests to have start as well as end time for kill, rerun etc
    requests (Raghav Kumar Gautam)
 

http://git-wip-us.apache.org/repos/asf/incubator-falcon/blob/b85573e2/falcon-regression/merlin-core/src/main/java/org/apache/falcon/regression/core/bundle/Bundle.java
----------------------------------------------------------------------
diff --git a/falcon-regression/merlin-core/src/main/java/org/apache/falcon/regression/core/bundle/Bundle.java b/falcon-regression/merlin-core/src/main/java/org/apache/falcon/regression/core/bundle/Bundle.java
index 5ee6dd2..5535e00 100644
--- a/falcon-regression/merlin-core/src/main/java/org/apache/falcon/regression/core/bundle/Bundle.java
+++ b/falcon-regression/merlin-core/src/main/java/org/apache/falcon/regression/core/bundle/Bundle.java
@@ -76,7 +76,9 @@ public class Bundle {
     private List<String> dataSets;
     private String processData;
 
-    public void submitFeed() throws URISyntaxException, IOException, AuthenticationException, JAXBException {
+    public void submitFeed()
+            throws URISyntaxException, IOException, AuthenticationException, JAXBException,
+            InterruptedException {
         submitClusters(prismHelper);
 
         AssertUtil.assertSucceeded(prismHelper.getFeedHelper().submitEntity(dataSets.get(0)));
@@ -95,7 +97,8 @@ public class Bundle {
     }
 
     public void submitAndScheduleAllFeeds()
-        throws JAXBException, IOException, URISyntaxException, AuthenticationException {
+            throws JAXBException, IOException, URISyntaxException, AuthenticationException,
+            InterruptedException {
         submitClusters(prismHelper);
 
         for (String feed : dataSets) {
@@ -104,7 +107,7 @@ public class Bundle {
     }
 
     public ServiceResponse submitProcess(boolean shouldSucceed) throws JAXBException,
-        IOException, URISyntaxException, AuthenticationException {
+            IOException, URISyntaxException, AuthenticationException, InterruptedException {
         submitClusters(prismHelper);
         submitFeeds(prismHelper);
         ServiceResponse r = prismHelper.getProcessHelper().submitEntity(processData);
@@ -255,7 +258,8 @@ public class Bundle {
     }
 
     public ServiceResponse submitBundle(ColoHelper helper)
-        throws JAXBException, IOException, URISyntaxException, AuthenticationException {
+            throws JAXBException, IOException, URISyntaxException, AuthenticationException,
+            InterruptedException {
 
         submitClusters(helper);
 
@@ -276,8 +280,8 @@ public class Bundle {
      * @throws AuthenticationException
      */
     public String submitFeedsScheduleProcess(ColoHelper helper)
-        throws IOException, JAXBException, URISyntaxException,
-        AuthenticationException {
+            throws IOException, JAXBException, URISyntaxException,
+            AuthenticationException, InterruptedException {
         ServiceResponse submitResponse = submitBundle(helper);
         if (submitResponse.getCode() == 400) {
             return submitResponse.getMessage();
@@ -679,19 +683,22 @@ public class Bundle {
 
 
     public void submitClusters(ColoHelper helper)
-        throws JAXBException, IOException, URISyntaxException, AuthenticationException {
+            throws JAXBException, IOException, URISyntaxException, AuthenticationException,
+            InterruptedException {
         submitClusters(helper, null);
     }
 
     public void submitClusters(ColoHelper helper, String user)
-        throws JAXBException, IOException, URISyntaxException, AuthenticationException {
+            throws JAXBException, IOException, URISyntaxException, AuthenticationException,
+            InterruptedException {
         for (String cluster : this.clusters) {
             AssertUtil.assertSucceeded(helper.getClusterHelper().submitEntity(cluster, user));
         }
     }
 
     public void submitFeeds(ColoHelper helper)
-        throws JAXBException, IOException, URISyntaxException, AuthenticationException {
+            throws JAXBException, IOException, URISyntaxException, AuthenticationException,
+            InterruptedException {
         for (String feed : this.dataSets) {
             AssertUtil.assertSucceeded(helper.getFeedHelper().submitEntity(feed));
         }
@@ -791,7 +798,7 @@ public class Bundle {
     }
 
     public static void submitCluster(Bundle... bundles)
-        throws IOException, URISyntaxException, AuthenticationException {
+            throws IOException, URISyntaxException, AuthenticationException, InterruptedException {
 
         for (Bundle bundle : bundles) {
             ServiceResponse r =
@@ -855,10 +862,12 @@ public class Bundle {
     }
 
     public void submitAndScheduleBundle(ColoHelper helper, boolean checkSuccess)
-        throws IOException, JAXBException, URISyntaxException, AuthenticationException {
+            throws IOException, JAXBException, URISyntaxException, AuthenticationException,
+            InterruptedException {
 
         for (int i = 0; i < getClusters().size(); i++) {
-            ServiceResponse r = helper.getClusterHelper().submitEntity(getClusters().get(i));
+            ServiceResponse r;
+            r = helper.getClusterHelper().submitEntity(getClusters().get(i));
             if (checkSuccess) {
                 AssertUtil.assertSucceeded(r);
             }

http://git-wip-us.apache.org/repos/asf/incubator-falcon/blob/b85573e2/falcon-regression/merlin-core/src/main/java/org/apache/falcon/regression/core/helpers/LineageHelper.java
----------------------------------------------------------------------
diff --git a/falcon-regression/merlin-core/src/main/java/org/apache/falcon/regression/core/helpers/LineageHelper.java b/falcon-regression/merlin-core/src/main/java/org/apache/falcon/regression/core/helpers/LineageHelper.java
index 20a7ba9..88ea42e 100644
--- a/falcon-regression/merlin-core/src/main/java/org/apache/falcon/regression/core/helpers/LineageHelper.java
+++ b/falcon-regression/merlin-core/src/main/java/org/apache/falcon/regression/core/helpers/LineageHelper.java
@@ -115,7 +115,7 @@ public class LineageHelper {
      * @throws AuthenticationException
      */
     public HttpResponse runGetRequest(String url)
-        throws URISyntaxException, IOException, AuthenticationException {
+            throws URISyntaxException, IOException, AuthenticationException, InterruptedException {
         final BaseRequest request = new BaseRequest(url, "get", null);
         return request.run();
     }
@@ -129,7 +129,7 @@ public class LineageHelper {
      * @throws AuthenticationException
      */
     public String runGetRequestSuccessfully(String url)
-        throws URISyntaxException, IOException, AuthenticationException {
+            throws URISyntaxException, IOException, AuthenticationException, InterruptedException {
         HttpResponse response = runGetRequest(url);
         String responseString = getResponseString(response);
         LOGGER.info(Util.prettyPrintXmlOrJson(responseString));
@@ -226,6 +226,8 @@ public class LineageHelper {
             AssertUtil.fail(e);
         } catch (AuthenticationException e) {
             AssertUtil.fail(e);
+        } catch (InterruptedException e) {
+            AssertUtil.fail(e);
         }
         return new GsonBuilder().create().fromJson(responseString, clazz);
     }

http://git-wip-us.apache.org/repos/asf/incubator-falcon/blob/b85573e2/falcon-regression/merlin-core/src/main/java/org/apache/falcon/regression/core/interfaces/IEntityManagerHelper.java
----------------------------------------------------------------------
diff --git a/falcon-regression/merlin-core/src/main/java/org/apache/falcon/regression/core/interfaces/IEntityManagerHelper.java b/falcon-regression/merlin-core/src/main/java/org/apache/falcon/regression/core/interfaces/IEntityManagerHelper.java
index 49202bc..89c4883 100644
--- a/falcon-regression/merlin-core/src/main/java/org/apache/falcon/regression/core/interfaces/IEntityManagerHelper.java
+++ b/falcon-regression/merlin-core/src/main/java/org/apache/falcon/regression/core/interfaces/IEntityManagerHelper.java
@@ -257,12 +257,12 @@ public abstract class IEntityManagerHelper {
     }
 
     public ServiceResponse listEntities()
-        throws IOException, URISyntaxException, AuthenticationException {
+            throws IOException, URISyntaxException, AuthenticationException, InterruptedException {
         return listEntities(null, null);
     }
 
     public ServiceResponse listEntities(String params, String user)
-        throws IOException, URISyntaxException, AuthenticationException {
+            throws IOException, URISyntaxException, AuthenticationException, InterruptedException {
         LOGGER.info("fetching " + getEntityType() + " list");
         String url = createUrl(this.hostname + URLS.LIST_URL.getValue(),
             getEntityType() + colo);
@@ -273,133 +273,133 @@ public abstract class IEntityManagerHelper {
     }
 
     public ServiceResponse listAllEntities(String params, String user)
-        throws AuthenticationException, IOException, URISyntaxException {
+            throws AuthenticationException, IOException, URISyntaxException, InterruptedException {
         return listEntities((params == null ? "" : params + '&')
             + "numResults=" + Integer.MAX_VALUE, user);
     }
 
     public ServiceResponse submitEntity(String data)
-        throws IOException, URISyntaxException, AuthenticationException {
+            throws IOException, URISyntaxException, AuthenticationException, InterruptedException {
         return submitEntity(data, null);
     }
 
     public ServiceResponse submitEntity(String data, String user)
-        throws IOException, URISyntaxException, AuthenticationException {
+            throws IOException, URISyntaxException, AuthenticationException, InterruptedException {
         LOGGER.info("Submitting " + getEntityType() + ": \n" + Util.prettyPrintXml(data));
         return Util.sendRequest(createUrl(this.hostname + URLS.SUBMIT_URL.getValue(),
             getEntityType() + colo), "post", data, user);
     }
 
     public ServiceResponse schedule(String processData)
-        throws IOException, URISyntaxException, AuthenticationException {
+            throws IOException, URISyntaxException, AuthenticationException, InterruptedException {
         return schedule(processData, null);
     }
 
     public ServiceResponse schedule(String processData, String user)
-        throws IOException, URISyntaxException, AuthenticationException {
+            throws IOException, URISyntaxException, AuthenticationException, InterruptedException {
         return Util.sendRequest(createUrl(this.hostname + URLS.SCHEDULE_URL.getValue(),
             getEntityType(), getEntityName(processData) + colo), "post", user);
     }
 
     public ServiceResponse submitAndSchedule(String data)
-        throws IOException, URISyntaxException, AuthenticationException {
+            throws IOException, URISyntaxException, AuthenticationException, InterruptedException {
         return submitAndSchedule(data, null);
     }
 
     public ServiceResponse submitAndSchedule(String data, String user)
-        throws IOException, URISyntaxException, AuthenticationException {
+            throws IOException, URISyntaxException, AuthenticationException, InterruptedException {
         LOGGER.info("Submitting " + getEntityType() + ": \n" + Util.prettyPrintXml(data));
         return Util.sendRequest(createUrl(this.hostname + URLS.SUBMIT_AND_SCHEDULE_URL.getValue(),
             getEntityType()), "post", data, user);
     }
 
     public ServiceResponse deleteByName(String entityName, String user)
-        throws AuthenticationException, IOException, URISyntaxException {
+            throws AuthenticationException, IOException, URISyntaxException, InterruptedException {
         return Util.sendRequest(createUrl(this.hostname + URLS.DELETE_URL.getValue(),
             getEntityType(), entityName + colo), "delete", user);
     }
 
     public ServiceResponse delete(String data)
-        throws IOException, URISyntaxException, AuthenticationException {
+            throws IOException, URISyntaxException, AuthenticationException, InterruptedException {
         return delete(data, null);
     }
 
     public ServiceResponse delete(String data, String user)
-        throws IOException, URISyntaxException, AuthenticationException {
+            throws IOException, URISyntaxException, AuthenticationException, InterruptedException {
         return Util.sendRequest(createUrl(this.hostname + URLS.DELETE_URL.getValue(),
             getEntityType(), getEntityName(data) + colo), "delete", user);
     }
 
     public ServiceResponse suspend(String data)
-        throws IOException, URISyntaxException, AuthenticationException {
+            throws IOException, URISyntaxException, AuthenticationException, InterruptedException {
         return suspend(data, null);
     }
 
     public ServiceResponse suspend(String data, String user)
-        throws IOException, URISyntaxException, AuthenticationException {
+            throws IOException, URISyntaxException, AuthenticationException, InterruptedException {
         return Util.sendRequest(createUrl(this.hostname + URLS.SUSPEND_URL.getValue(),
             getEntityType(), getEntityName(data) + colo), "post", user);
     }
 
     public ServiceResponse resume(String data)
-        throws IOException, URISyntaxException, AuthenticationException {
+            throws IOException, URISyntaxException, AuthenticationException, InterruptedException {
         return resume(data, null);
     }
 
     public ServiceResponse resume(String data, String user)
-        throws IOException, URISyntaxException, AuthenticationException {
+            throws IOException, URISyntaxException, AuthenticationException, InterruptedException {
         return Util.sendRequest(createUrl(this.hostname + URLS.RESUME_URL.getValue(),
             getEntityType(), getEntityName(data) + colo), "post", user);
     }
 
     public ServiceResponse getStatus(String data)
-        throws IOException, URISyntaxException, AuthenticationException {
+            throws IOException, URISyntaxException, AuthenticationException, InterruptedException {
         return getStatus(data, null);
     }
 
     public ServiceResponse getStatus(String data, String user)
-        throws IOException, URISyntaxException, AuthenticationException {
+            throws IOException, URISyntaxException, AuthenticationException, InterruptedException {
         return Util.sendRequest(createUrl(this.hostname + URLS.STATUS_URL.getValue(),
             getEntityType(), getEntityName(data) + colo), "get", user);
     }
 
     public ServiceResponse getEntityDefinition(String data)
-        throws IOException, URISyntaxException, AuthenticationException {
+            throws IOException, URISyntaxException, AuthenticationException, InterruptedException {
         return getEntityDefinition(data, null);
     }
 
     public ServiceResponse getEntityDefinition(String data, String user)
-        throws IOException, URISyntaxException, AuthenticationException {
+            throws IOException, URISyntaxException, AuthenticationException, InterruptedException {
         return Util.sendRequest(createUrl(this.hostname + URLS.GET_ENTITY_DEFINITION.getValue(),
             getEntityType(), getEntityName(data) + colo), "get", user);
     }
 
     public ServiceResponse getEntityDependencies(String data, String user)
-        throws IOException, URISyntaxException, AuthenticationException {
+            throws IOException, URISyntaxException, AuthenticationException, InterruptedException {
         return Util.sendRequest(createUrl(this.hostname + URLS.DEPENDENCIES.getValue(),
             getEntityType(), getEntityName(data) + colo), "get", user);
     }
 
     public InstancesResult getRunningInstance(String name)
-        throws IOException, URISyntaxException, AuthenticationException {
+            throws IOException, URISyntaxException, AuthenticationException, InterruptedException {
         return getRunningInstance(name, null);
     }
 
     public InstancesResult getRunningInstance(String name, String user)
-        throws IOException, URISyntaxException, AuthenticationException {
+            throws IOException, URISyntaxException, AuthenticationException, InterruptedException {
         String url = createUrl(this.hostname + URLS.INSTANCE_RUNNING.getValue(), getEntityType(),
             name + allColo);
         return (InstancesResult) InstanceUtil.sendRequestProcessInstance(url, user);
     }
 
     public InstancesResult getProcessInstanceStatus(String entityName, String params)
-        throws IOException, URISyntaxException, AuthenticationException {
+            throws IOException, URISyntaxException, AuthenticationException, InterruptedException {
         return getProcessInstanceStatus(entityName, params, null);
     }
 
     public InstancesResult getProcessInstanceStatus(
         String entityName, String params, String user)
-        throws IOException, URISyntaxException, AuthenticationException {
+            throws IOException, URISyntaxException, AuthenticationException, InterruptedException {
         String url = createUrl(this.hostname + URLS.INSTANCE_STATUS.getValue(), getEntityType(),
             entityName, "");
         return (InstancesResult) InstanceUtil
@@ -408,13 +408,13 @@ public abstract class IEntityManagerHelper {
 
     public InstancesResult getProcessInstanceSuspend(
         String readEntityName, String params)
-        throws IOException, URISyntaxException, AuthenticationException {
+            throws IOException, URISyntaxException, AuthenticationException, InterruptedException {
         return getProcessInstanceSuspend(readEntityName, params, null);
     }
 
     public InstancesResult getProcessInstanceSuspend(
         String entityName, String params, String user)
-        throws IOException, URISyntaxException, AuthenticationException {
+            throws IOException, URISyntaxException, AuthenticationException, InterruptedException {
         String url = createUrl(this.hostname + URLS.INSTANCE_SUSPEND.getValue(), getEntityType(),
             entityName, "");
         return (InstancesResult) InstanceUtil
@@ -422,12 +422,12 @@ public abstract class IEntityManagerHelper {
     }
 
     public ServiceResponse update(String oldEntity, String newEntity)
-        throws IOException, URISyntaxException, AuthenticationException {
+            throws IOException, URISyntaxException, AuthenticationException, InterruptedException {
         return update(oldEntity, newEntity, null);
     }
 
     public ServiceResponse update(String oldEntity, String newEntity, String user)
-        throws IOException, URISyntaxException, AuthenticationException {
+            throws IOException, URISyntaxException, AuthenticationException, InterruptedException {
         LOGGER.info("Updating " + getEntityType() + ": \n" + Util.prettyPrintXml(oldEntity));
         LOGGER.info("To " + getEntityType() + ": \n" + Util.prettyPrintXml(newEntity));
         String url = createUrl(this.hostname + URLS.UPDATE.getValue(), getEntityType(),
@@ -437,7 +437,7 @@ public abstract class IEntityManagerHelper {
 
     public ServiceResponse update(String oldEntity, String newEntity, String updateTime,
                                   String user)
-        throws IOException, URISyntaxException, AuthenticationException {
+            throws IOException, URISyntaxException, AuthenticationException, InterruptedException {
         LOGGER.info("Updating " + getEntityType() + ": \n" + Util.prettyPrintXml(oldEntity));
         LOGGER.info("To " + getEntityType() + ": \n" + Util.prettyPrintXml(newEntity));
         String url = this.hostname + URLS.UPDATE.getValue() + "/" + getEntityType() + "/"
@@ -448,13 +448,13 @@ public abstract class IEntityManagerHelper {
     }
 
     public InstancesResult getProcessInstanceKill(String readEntityName, String params)
-        throws IOException, URISyntaxException, AuthenticationException {
+            throws IOException, URISyntaxException, AuthenticationException, InterruptedException {
         return getProcessInstanceKill(readEntityName, params, null);
     }
 
     public InstancesResult getProcessInstanceKill(String entityName, String params,
                                                          String user)
-        throws IOException, URISyntaxException, AuthenticationException {
+            throws IOException, URISyntaxException, AuthenticationException, InterruptedException {
         String url = createUrl(this.hostname + URLS.INSTANCE_KILL.getValue(), getEntityType(),
             entityName, "");
         return (InstancesResult) InstanceUtil
@@ -462,13 +462,13 @@ public abstract class IEntityManagerHelper {
     }
 
     public InstancesResult getProcessInstanceRerun(String entityName, String params)
-        throws IOException, URISyntaxException, AuthenticationException {
+            throws IOException, URISyntaxException, AuthenticationException, InterruptedException {
         return getProcessInstanceRerun(entityName, params, null);
     }
 
     public InstancesResult getProcessInstanceRerun(String entityName, String params,
                                                           String user)
-        throws IOException, URISyntaxException, AuthenticationException {
+            throws IOException, URISyntaxException, AuthenticationException, InterruptedException {
         String url = createUrl(this.hostname + URLS.INSTANCE_RERUN.getValue(), getEntityType(),
             entityName, "");
         return (InstancesResult) InstanceUtil
@@ -476,13 +476,13 @@ public abstract class IEntityManagerHelper {
     }
 
     public InstancesResult getProcessInstanceResume(String entityName, String params)
-        throws IOException, URISyntaxException, AuthenticationException {
+            throws IOException, URISyntaxException, AuthenticationException, InterruptedException {
         return getProcessInstanceResume(entityName, params, null);
     }
 
     public InstancesResult getProcessInstanceResume(String entityName, String params,
                                                            String user)
-        throws IOException, URISyntaxException, AuthenticationException {
+            throws IOException, URISyntaxException, AuthenticationException, InterruptedException {
         String url = createUrl(this.hostname + URLS.INSTANCE_RESUME.getValue(), getEntityType(),
             entityName, "");
         return (InstancesResult) InstanceUtil
@@ -491,7 +491,7 @@ public abstract class IEntityManagerHelper {
 
     public InstancesSummaryResult getInstanceSummary(String entityName,
                                                      String params
-    ) throws IOException, URISyntaxException, AuthenticationException {
+    ) throws IOException, URISyntaxException, AuthenticationException, InterruptedException {
         String url = createUrl(this.hostname + URLS.INSTANCE_SUMMARY.getValue(), getEntityType(),
             entityName, "");
         return (InstancesSummaryResult) InstanceUtil
@@ -518,7 +518,7 @@ public abstract class IEntityManagerHelper {
     }
 
     public InstancesResult getInstanceParams(String entityName, String params)
-        throws AuthenticationException, IOException, URISyntaxException {
+            throws AuthenticationException, IOException, URISyntaxException, InterruptedException {
         String url = createUrl(this.hostname + URLS.INSTANCE_PARAMS.getValue(), getEntityType(),
             entityName, "");
         return (InstancesResult) InstanceUtil
@@ -534,7 +534,7 @@ public abstract class IEntityManagerHelper {
      * @throws URISyntaxException
      */
     public ServiceResponse getListByPipeline(String pipeline)
-        throws AuthenticationException, IOException, URISyntaxException {
+            throws AuthenticationException, IOException, URISyntaxException, InterruptedException {
         String url = createUrl(this.hostname + URLS.LIST_URL.getValue() + "/" + getEntityType());
         url += "?filterBy=PIPELINES:" + pipeline;
         return Util.sendRequest(url, "get", null, null);
@@ -577,7 +577,7 @@ public abstract class IEntityManagerHelper {
      * @return entity summary along with its instances.
      */
     public ServiceResponse getEntitySummary(String clusterName, String params)
-        throws AuthenticationException, IOException, URISyntaxException {
+            throws AuthenticationException, IOException, URISyntaxException, InterruptedException {
         String url = createUrl(this.hostname + URLS.ENTITY_SUMMARY.getValue(),
             getEntityType()) +"?cluster=" + clusterName;
         if (StringUtils.isNotEmpty(params)) {
@@ -594,7 +594,7 @@ public abstract class IEntityManagerHelper {
      * @return response
      */
     public InstancesResult listInstances(String entityName, String params, String user)
-        throws AuthenticationException, IOException, URISyntaxException {
+            throws AuthenticationException, IOException, URISyntaxException, InterruptedException {
         String url = createUrl(this.hostname + URLS.INSTANCE_LIST.getValue(), getEntityType(),
             entityName + colo);
         if (StringUtils.isNotEmpty(params)) {

http://git-wip-us.apache.org/repos/asf/incubator-falcon/blob/b85573e2/falcon-regression/merlin-core/src/main/java/org/apache/falcon/regression/core/util/BundleUtil.java
----------------------------------------------------------------------
diff --git a/falcon-regression/merlin-core/src/main/java/org/apache/falcon/regression/core/util/BundleUtil.java b/falcon-regression/merlin-core/src/main/java/org/apache/falcon/regression/core/util/BundleUtil.java
index 123f2de..ee0c072 100644
--- a/falcon-regression/merlin-core/src/main/java/org/apache/falcon/regression/core/util/BundleUtil.java
+++ b/falcon-regression/merlin-core/src/main/java/org/apache/falcon/regression/core/util/BundleUtil.java
@@ -152,7 +152,7 @@ public final class BundleUtil {
     }
 
     public static void submitAllClusters(ColoHelper prismHelper, Bundle... b)
-        throws IOException, URISyntaxException, AuthenticationException {
+            throws IOException, URISyntaxException, AuthenticationException, InterruptedException {
         for (Bundle aB : b) {
             ServiceResponse r = prismHelper.getClusterHelper().submitEntity(aB.getClusters().get(0));
             Assert.assertTrue(r.getMessage().contains("SUCCEEDED"));

http://git-wip-us.apache.org/repos/asf/incubator-falcon/blob/b85573e2/falcon-regression/merlin-core/src/main/java/org/apache/falcon/regression/core/util/CleanupUtil.java
----------------------------------------------------------------------
diff --git a/falcon-regression/merlin-core/src/main/java/org/apache/falcon/regression/core/util/CleanupUtil.java b/falcon-regression/merlin-core/src/main/java/org/apache/falcon/regression/core/util/CleanupUtil.java
index 87f4daa..8fe10f4 100644
--- a/falcon-regression/merlin-core/src/main/java/org/apache/falcon/regression/core/util/CleanupUtil.java
+++ b/falcon-regression/merlin-core/src/main/java/org/apache/falcon/regression/core/util/CleanupUtil.java
@@ -46,23 +46,27 @@ public final class CleanupUtil {
     private static final Logger LOGGER = Logger.getLogger(CleanupUtil.class);
 
     public static List<String> getAllProcesses(ColoHelper prism)
-        throws IOException, URISyntaxException, AuthenticationException, JAXBException {
+            throws IOException, URISyntaxException, AuthenticationException, JAXBException,
+            InterruptedException {
         return getAllEntitiesOfOneType(prism.getProcessHelper(), null);
     }
 
     public static List<String> getAllFeeds(ColoHelper prism)
-        throws IOException, URISyntaxException, AuthenticationException, JAXBException {
+            throws IOException, URISyntaxException, AuthenticationException, JAXBException,
+            InterruptedException {
         return getAllEntitiesOfOneType(prism.getFeedHelper(), null);
     }
 
     public static List<String> getAllClusters(ColoHelper prism)
-        throws IOException, URISyntaxException, AuthenticationException, JAXBException {
+            throws IOException, URISyntaxException, AuthenticationException, JAXBException,
+            InterruptedException {
         return getAllEntitiesOfOneType(prism.getClusterHelper(), null);
     }
 
     public static List<String> getAllEntitiesOfOneType(IEntityManagerHelper iEntityManagerHelper,
                                                        String user)
-        throws IOException, URISyntaxException, AuthenticationException, JAXBException {
+            throws IOException, URISyntaxException, AuthenticationException, JAXBException,
+            InterruptedException {
         final EntitiesResult entitiesResult = getEntitiesResultOfOneType(iEntityManagerHelper, user);
         List<String> clusters = new ArrayList<String>();
         for (EntityResult entity : entitiesResult.getEntities()) {
@@ -73,7 +77,8 @@ public final class CleanupUtil {
 
     private static EntitiesResult getEntitiesResultOfOneType(
         IEntityManagerHelper iEntityManagerHelper, String user)
-        throws IOException, URISyntaxException, AuthenticationException, JAXBException {
+            throws IOException, URISyntaxException, AuthenticationException, JAXBException,
+            InterruptedException {
         final ServiceResponse clusterResponse = iEntityManagerHelper.listAllEntities(null, user);
         JAXBContext jc = JAXBContext.newInstance(EntitiesResult.class);
         Unmarshaller u = jc.createUnmarshaller();

http://git-wip-us.apache.org/repos/asf/incubator-falcon/blob/b85573e2/falcon-regression/merlin-core/src/main/java/org/apache/falcon/regression/core/util/InstanceUtil.java
----------------------------------------------------------------------
diff --git a/falcon-regression/merlin-core/src/main/java/org/apache/falcon/regression/core/util/InstanceUtil.java b/falcon-regression/merlin-core/src/main/java/org/apache/falcon/regression/core/util/InstanceUtil.java
index 4c60be7..22c34f7 100644
--- a/falcon-regression/merlin-core/src/main/java/org/apache/falcon/regression/core/util/InstanceUtil.java
+++ b/falcon-regression/merlin-core/src/main/java/org/apache/falcon/regression/core/util/InstanceUtil.java
@@ -96,7 +96,7 @@ public final class InstanceUtil {
 
     public static APIResult sendRequestProcessInstance(String
             url, String user)
-        throws IOException, URISyntaxException, AuthenticationException {
+            throws IOException, URISyntaxException, AuthenticationException, InterruptedException {
         return hitUrl(url, Util.getMethodType(url), user);
     }
 
@@ -104,7 +104,7 @@ public final class InstanceUtil {
 
     public static APIResult hitUrl(String url,
             String method, String user) throws URISyntaxException,
-            IOException, AuthenticationException {
+            IOException, AuthenticationException, InterruptedException {
         BaseRequest request = new BaseRequest(url, method, user);
         HttpResponse response = request.run();
         BufferedReader reader = new BufferedReader(
@@ -748,7 +748,7 @@ public final class InstanceUtil {
      */
     public static APIResult createAndSendRequestProcessInstance(
             String url, String params, String colo, String user)
-        throws IOException, URISyntaxException, AuthenticationException {
+            throws IOException, URISyntaxException, AuthenticationException, InterruptedException {
         if (params != null && !colo.equals("")) {
             url = url + params + "&" + colo.substring(1);
         } else if (params != null) {

http://git-wip-us.apache.org/repos/asf/incubator-falcon/blob/b85573e2/falcon-regression/merlin-core/src/main/java/org/apache/falcon/regression/core/util/KerberosHelper.java
----------------------------------------------------------------------
diff --git a/falcon-regression/merlin-core/src/main/java/org/apache/falcon/regression/core/util/KerberosHelper.java b/falcon-regression/merlin-core/src/main/java/org/apache/falcon/regression/core/util/KerberosHelper.java
index 3c666e7..dd9fe5c 100644
--- a/falcon-regression/merlin-core/src/main/java/org/apache/falcon/regression/core/util/KerberosHelper.java
+++ b/falcon-regression/merlin-core/src/main/java/org/apache/falcon/regression/core/util/KerberosHelper.java
@@ -19,9 +19,12 @@
 package org.apache.falcon.regression.core.util;
 
 import org.apache.falcon.regression.core.enumsAndConstants.MerlinConstants;
+import org.apache.hadoop.security.UserGroupInformation;
 import org.testng.Assert;
 import org.apache.log4j.Logger;
 
+import java.io.IOException;
+
 /**
  * Util methods for Kerberos.
  */
@@ -32,19 +35,22 @@ public final class KerberosHelper {
 
     private static final Logger LOGGER = Logger.getLogger(KerberosHelper.class);
 
-    public static void loginFromKeytab(String user) {
+    public static UserGroupInformation getUGI(String user) throws IOException {
+        // if unsecure cluster create a remote user object
         if (!MerlinConstants.IS_SECURE) {
-            LOGGER.info("Kerberos is disabled, hence no user switching.");
-            return;
-        }
-        if (user == null) {
-            user = MerlinConstants.CURRENT_USER_NAME;
+            return UserGroupInformation.createRemoteUser(user);
         }
-        final String keytab = MerlinConstants.getKeytabForUser(user);
-        String principal = MerlinConstants.USER_REALM.isEmpty() ? user : user + '@' + MerlinConstants.USER_REALM;
-        final String command = String.format("kinit -kt %s %s", keytab, principal);
-        final int exitVal = ExecUtil.executeCommandGetExitCode(command);
-        Assert.assertEquals(exitVal, 0, "Switching Kerberos credential did not succeed.");
+        // if secure create a ugi object from keytab
+        return UserGroupInformation.loginUserFromKeytabAndReturnUGI(getPrincipal(user), getKeyTab
+                (user));
     }
 
+    private static String getKeyTab(String user) {
+        return MerlinConstants.getKeytabForUser(user);
+    }
+
+    private static String getPrincipal(String user) {
+        return MerlinConstants.USER_REALM.isEmpty() ? user : user + '@' + MerlinConstants
+                .USER_REALM;
+    }
 }

http://git-wip-us.apache.org/repos/asf/incubator-falcon/blob/b85573e2/falcon-regression/merlin-core/src/main/java/org/apache/falcon/regression/core/util/Util.java
----------------------------------------------------------------------
diff --git a/falcon-regression/merlin-core/src/main/java/org/apache/falcon/regression/core/util/Util.java b/falcon-regression/merlin-core/src/main/java/org/apache/falcon/regression/core/util/Util.java
index f0c6db2..18b54f8 100644
--- a/falcon-regression/merlin-core/src/main/java/org/apache/falcon/regression/core/util/Util.java
+++ b/falcon-regression/merlin-core/src/main/java/org/apache/falcon/regression/core/util/Util.java
@@ -94,7 +94,7 @@ public final class Util {
      * Sends request without data and user.
      */
     public static ServiceResponse sendRequest(String url, String method)
-        throws IOException, URISyntaxException, AuthenticationException {
+            throws IOException, URISyntaxException, AuthenticationException, InterruptedException {
         return sendRequest(url, method, null, null);
     }
 
@@ -102,7 +102,7 @@ public final class Util {
      * Sends api request without data.
      */
     public static ServiceResponse sendRequest(String url, String method, String user)
-        throws IOException, URISyntaxException, AuthenticationException {
+            throws IOException, URISyntaxException, AuthenticationException, InterruptedException {
         return sendRequest(url, method, null, user);
     }
 
@@ -118,7 +118,7 @@ public final class Util {
      * @throws AuthenticationException
      */
     public static ServiceResponse sendRequest(String url, String method, String data, String user)
-        throws IOException, URISyntaxException, AuthenticationException {
+            throws IOException, URISyntaxException, AuthenticationException, InterruptedException {
         BaseRequest request = new BaseRequest(url, method, user, data);
         request.addHeader(RequestKeys.CONTENT_TYPE_HEADER, RequestKeys.XML_CONTENT_TYPE);
         HttpResponse response = request.run();
@@ -418,7 +418,8 @@ public final class Util {
      * @throws URISyntaxException
      */
     public static void startService(IEntityManagerHelper helper)
-        throws IOException, JSchException, AuthenticationException, URISyntaxException {
+            throws IOException, JSchException, AuthenticationException, URISyntaxException,
+            InterruptedException {
         ExecUtil.runRemoteScriptAsSudo(helper.getQaHost(), helper.getUsername(),
             helper.getPassword(), helper.getServiceStartCmd(), helper.getServiceUser(),
             helper.getIdentityFile());
@@ -446,7 +447,8 @@ public final class Util {
      * @throws URISyntaxException
      */
     public static void restartService(IEntityManagerHelper helper)
-        throws IOException, JSchException, AuthenticationException, URISyntaxException {
+            throws IOException, JSchException, AuthenticationException, URISyntaxException,
+            InterruptedException {
         LOGGER.info("restarting service for: " + helper.getQaHost());
         shutDownService(helper);
         startService(helper);
@@ -582,8 +584,8 @@ public final class Util {
      */
     public static boolean isDefinitionSame(ColoHelper server1, ColoHelper server2,
                                            String entity)
-        throws URISyntaxException, IOException, AuthenticationException, JAXBException,
-        SAXException {
+            throws URISyntaxException, IOException, AuthenticationException, JAXBException,
+            SAXException, InterruptedException {
         return XmlUtil.isIdentical(getEntityDefinition(server1, entity, true),
             getEntityDefinition(server2, entity, true));
     }
@@ -743,8 +745,8 @@ public final class Util {
     public static String getEntityDefinition(ColoHelper cluster,
                                              String entity,
                                              boolean shouldReturn) throws
-        JAXBException,
-        IOException, URISyntaxException, AuthenticationException {
+            JAXBException,
+            IOException, URISyntaxException, AuthenticationException, InterruptedException {
         EntityType type = getEntityType(entity);
         IEntityManagerHelper helper;
         if (EntityType.PROCESS == type) {

http://git-wip-us.apache.org/repos/asf/incubator-falcon/blob/b85573e2/falcon-regression/merlin-core/src/main/java/org/apache/falcon/request/BaseRequest.java
----------------------------------------------------------------------
diff --git a/falcon-regression/merlin-core/src/main/java/org/apache/falcon/request/BaseRequest.java b/falcon-regression/merlin-core/src/main/java/org/apache/falcon/request/BaseRequest.java
index 7244fb7..cf95107 100644
--- a/falcon-regression/merlin-core/src/main/java/org/apache/falcon/request/BaseRequest.java
+++ b/falcon-regression/merlin-core/src/main/java/org/apache/falcon/request/BaseRequest.java
@@ -107,7 +107,8 @@ public class BaseRequest {
         headers.add(new BasicHeader(name, value));
     }
 
-    public HttpResponse run() throws URISyntaxException, IOException, AuthenticationException {
+    public HttpResponse run() throws URISyntaxException, IOException, AuthenticationException,
+            InterruptedException {
         URIBuilder uriBuilder = new URIBuilder(this.url);
 
         /*falcon now reads a user.name parameter in the request.
@@ -135,7 +136,7 @@ public class BaseRequest {
     }
 
     private HttpResponse execute(HttpRequest request)
-        throws IOException, AuthenticationException {
+            throws IOException, AuthenticationException, InterruptedException {
         // add headers to the request
         if (null != headers && headers.size() > 0) {
             for (Header header : headers) {

http://git-wip-us.apache.org/repos/asf/incubator-falcon/blob/b85573e2/falcon-regression/merlin-core/src/main/java/org/apache/falcon/security/FalconAuthorizationToken.java
----------------------------------------------------------------------
diff --git a/falcon-regression/merlin-core/src/main/java/org/apache/falcon/security/FalconAuthorizationToken.java b/falcon-regression/merlin-core/src/main/java/org/apache/falcon/security/FalconAuthorizationToken.java
index 1af999e..fa2caf9 100644
--- a/falcon-regression/merlin-core/src/main/java/org/apache/falcon/security/FalconAuthorizationToken.java
+++ b/falcon-regression/merlin-core/src/main/java/org/apache/falcon/security/FalconAuthorizationToken.java
@@ -18,7 +18,9 @@
 
 package org.apache.falcon.security;
 
+import org.apache.falcon.regression.core.util.KerberosHelper;
 import org.apache.falcon.request.BaseRequest;
+import org.apache.hadoop.security.UserGroupInformation;
 import org.apache.hadoop.security.authentication.client.AuthenticatedURL;
 import org.apache.hadoop.security.authentication.client.AuthenticationException;
 import org.apache.hadoop.security.authentication.client.KerberosAuthenticator;
@@ -29,7 +31,9 @@ import javax.net.ssl.HostnameVerifier;
 import javax.net.ssl.HttpsURLConnection;
 import javax.net.ssl.SSLSession;
 import java.io.IOException;
+import java.net.HttpURLConnection;
 import java.net.URL;
+import java.security.PrivilegedExceptionAction;
 import java.util.concurrent.ConcurrentHashMap;
 
 /** Class for obtaining authorization token. */
@@ -55,11 +59,12 @@ public final class FalconAuthorizationToken {
 
     private static void authenticate(String user, String protocol, String host,
                                     int port)
-        throws IOException, AuthenticationException {
-        URL url = new URL(String.format("%s://%s:%d/%s", protocol, host, port,
+            throws IOException, AuthenticationException, InterruptedException {
+        final URL url = new URL(String.format("%s://%s:%d/%s", protocol, host, port,
             AUTH_URL + "?" + PseudoAuthenticator.USER_NAME + "=" + user));
         LOGGER.info("Authorize using url: " + url.toString());
-        AuthenticatedURL.Token currentToken = new AuthenticatedURL.Token();
+
+        final AuthenticatedURL.Token currentToken = new AuthenticatedURL.Token();
 
         /*using KerberosAuthenticator which falls back to PsuedoAuthenticator
         instead of passing authentication type from the command line - bad factory*/
@@ -70,7 +75,14 @@ public final class FalconAuthorizationToken {
             throw new RuntimeException(e);
         }
         HttpsURLConnection.setDefaultHostnameVerifier(ALL_TRUSTING_HOSTNAME_VERIFIER);
-        new AuthenticatedURL(AUTHENTICATOR).openConnection(url, currentToken);
+        UserGroupInformation callerUGI = KerberosHelper.getUGI(user);
+        callerUGI.doAs(new PrivilegedExceptionAction<Void>() {
+            @Override
+            public Void run() throws Exception {
+                new AuthenticatedURL(AUTHENTICATOR).openConnection(url, currentToken);
+                return null;
+            }
+        });
         String key = getKey(user, protocol, host, port);
 
         // initialize a hash map if its null.
@@ -80,7 +92,7 @@ public final class FalconAuthorizationToken {
 
     public static AuthenticatedURL.Token getToken(String user, String protocol, String host,
                                                   int port, boolean overWrite)
-        throws IOException, AuthenticationException {
+            throws IOException, AuthenticationException, InterruptedException {
         String key = getKey(user, protocol, host, port);
 
         /*if the tokens are null or if token is not found then we will go ahead and authenticate
@@ -93,7 +105,7 @@ public final class FalconAuthorizationToken {
 
     public static AuthenticatedURL.Token getToken(String user, String protocol, String host,
                                                   int port)
-        throws IOException, AuthenticationException {
+            throws IOException, AuthenticationException, InterruptedException {
         return getToken(user, protocol, host, port, false);
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-falcon/blob/b85573e2/falcon-regression/merlin/src/main/java/org/apache/falcon/regression/testHelper/BaseTestClass.java
----------------------------------------------------------------------
diff --git a/falcon-regression/merlin/src/main/java/org/apache/falcon/regression/testHelper/BaseTestClass.java b/falcon-regression/merlin/src/main/java/org/apache/falcon/regression/testHelper/BaseTestClass.java
index c16c8f4..91d8e67 100644
--- a/falcon-regression/merlin/src/main/java/org/apache/falcon/regression/testHelper/BaseTestClass.java
+++ b/falcon-regression/merlin/src/main/java/org/apache/falcon/regression/testHelper/BaseTestClass.java
@@ -57,7 +57,6 @@ public class BaseTestClass {
 
     public BaseTestClass() {
         // loginFromKeytab as the current user
-        KerberosHelper.loginFromKeytab(MerlinConstants.CURRENT_USER_NAME);
         prism = new ColoHelper(PRISM_PREFIX);
         servers = getServers();
         serverFS = new ArrayList<FileSystem>();

http://git-wip-us.apache.org/repos/asf/incubator-falcon/blob/b85573e2/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/AuthorizationTest.java
----------------------------------------------------------------------
diff --git a/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/AuthorizationTest.java b/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/AuthorizationTest.java
index bd159de..f8ce97e 100644
--- a/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/AuthorizationTest.java
+++ b/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/AuthorizationTest.java
@@ -94,7 +94,6 @@ public class AuthorizationTest extends BaseTestClass {
     @Test(enabled = false)
     public void u1SubmitU2DeleteCluster() throws Exception {
         bundles[0].submitClusters(prism);
-        KerberosHelper.loginFromKeytab(MerlinConstants.USER2_NAME);
         final ServiceResponse serviceResponse = prism.getClusterHelper().delete(
             bundles[0].getClusters().get(0), MerlinConstants.USER2_NAME);
         AssertUtil.assertFailedWithStatus(serviceResponse, HttpStatus.SC_BAD_REQUEST,
@@ -107,7 +106,6 @@ public class AuthorizationTest extends BaseTestClass {
     public void u1SubmitU2DeleteProcess() throws Exception {
         bundles[0].submitClusters(prism);
         bundles[0].submitProcess(true);
-        KerberosHelper.loginFromKeytab(MerlinConstants.USER2_NAME);
         final ServiceResponse serviceResponse = prism.getProcessHelper().delete(
             bundles[0].getProcessData(), MerlinConstants.USER2_NAME);
         AssertUtil.assertFailedWithStatus(serviceResponse, HttpStatus.SC_BAD_REQUEST,
@@ -120,7 +118,6 @@ public class AuthorizationTest extends BaseTestClass {
     public void u1SubmitU2DeleteFeed() throws Exception {
         bundles[0].submitClusters(prism);
         bundles[0].submitFeed();
-        KerberosHelper.loginFromKeytab(MerlinConstants.USER2_NAME);
         final ServiceResponse serviceResponse = prism.getFeedHelper().delete(
             bundles[0].getDataSets().get(0), MerlinConstants.USER2_NAME);
         AssertUtil.assertFailedWithStatus(serviceResponse, HttpStatus.SC_BAD_REQUEST,
@@ -137,7 +134,6 @@ public class AuthorizationTest extends BaseTestClass {
         AssertUtil.checkStatus(clusterOC, EntityType.PROCESS, bundles[0].getProcessData(),
             Job.Status.RUNNING);
         //try to delete process by U2
-        KerberosHelper.loginFromKeytab(MerlinConstants.USER2_NAME);
         final ServiceResponse serviceResponse = prism.getProcessHelper()
             .delete(bundles[0].getProcessData(), MerlinConstants.USER2_NAME);
         AssertUtil.assertFailedWithStatus(serviceResponse, HttpStatus.SC_BAD_REQUEST,
@@ -154,7 +150,6 @@ public class AuthorizationTest extends BaseTestClass {
         AssertUtil.assertSucceeded(prism.getFeedHelper().submitAndSchedule(feed));
         AssertUtil.checkStatus(clusterOC, EntityType.FEED, feed, Job.Status.RUNNING);
         //delete feed by U2
-        KerberosHelper.loginFromKeytab(MerlinConstants.USER2_NAME);
         final ServiceResponse serviceResponse = prism.getFeedHelper().delete(feed, MerlinConstants.USER2_NAME);
         AssertUtil.assertFailedWithStatus(serviceResponse, HttpStatus.SC_BAD_REQUEST,
             "Feed scheduled by first user should not be deleted by second user");
@@ -172,7 +167,6 @@ public class AuthorizationTest extends BaseTestClass {
         AssertUtil.checkStatus(clusterOC, EntityType.PROCESS, bundles[0].getProcessData(),
             Job.Status.SUSPENDED);
         //try to delete process by U2
-        KerberosHelper.loginFromKeytab(MerlinConstants.USER2_NAME);
         final ServiceResponse serviceResponse = prism.getProcessHelper()
             .delete(bundles[0].getProcessData(), MerlinConstants.USER2_NAME);
         AssertUtil.assertFailedWithStatus(serviceResponse, HttpStatus.SC_BAD_REQUEST,
@@ -190,7 +184,6 @@ public class AuthorizationTest extends BaseTestClass {
         AssertUtil.assertSucceeded(prism.getFeedHelper().suspend(feed));
         AssertUtil.checkStatus(clusterOC, EntityType.FEED, feed, Job.Status.SUSPENDED);
         //delete feed by U2
-        KerberosHelper.loginFromKeytab(MerlinConstants.USER2_NAME);
         final ServiceResponse serviceResponse = prism.getFeedHelper()
             .delete(feed, MerlinConstants.USER2_NAME);
         AssertUtil.assertFailedWithStatus(serviceResponse, HttpStatus.SC_BAD_REQUEST,
@@ -210,7 +203,6 @@ public class AuthorizationTest extends BaseTestClass {
         AssertUtil.assertSucceeded(prism.getFeedHelper().submitAndSchedule(feed));
         AssertUtil.checkStatus(clusterOC, EntityType.FEED, feed, Job.Status.RUNNING);
         //try to suspend by U2
-        KerberosHelper.loginFromKeytab(MerlinConstants.USER2_NAME);
         final ServiceResponse serviceResponse = prism.getFeedHelper()
             .suspend(feed, MerlinConstants.USER2_NAME);
         AssertUtil.assertFailedWithStatus(serviceResponse, HttpStatus.SC_BAD_REQUEST,
@@ -225,7 +217,6 @@ public class AuthorizationTest extends BaseTestClass {
         AssertUtil.checkStatus(clusterOC, EntityType.PROCESS, bundles[0].getProcessData(),
             Job.Status.RUNNING);
         //try to suspend process by U2
-        KerberosHelper.loginFromKeytab(MerlinConstants.USER2_NAME);
         final ServiceResponse serviceResponse = prism.getProcessHelper()
             .suspend(bundles[0].getProcessData(), MerlinConstants.USER2_NAME);
         AssertUtil.assertFailedWithStatus(serviceResponse, HttpStatus.SC_BAD_REQUEST,
@@ -246,7 +237,6 @@ public class AuthorizationTest extends BaseTestClass {
         AssertUtil.assertSucceeded(prism.getFeedHelper().suspend(feed));
         AssertUtil.checkStatus(clusterOC, EntityType.FEED, feed, Job.Status.SUSPENDED);
         //try to resume feed by User2
-        KerberosHelper.loginFromKeytab(MerlinConstants.USER2_NAME);
         final ServiceResponse serviceResponse = prism.getFeedHelper()
             .resume(feed, MerlinConstants.USER2_NAME);
         AssertUtil.assertFailedWithStatus(serviceResponse, HttpStatus.SC_BAD_REQUEST,
@@ -263,7 +253,6 @@ public class AuthorizationTest extends BaseTestClass {
         AssertUtil.checkStatus(clusterOC, EntityType.PROCESS, bundles[0].getProcessData(),
             Job.Status.SUSPENDED);
         //try to resume process by U2
-        KerberosHelper.loginFromKeytab(MerlinConstants.USER2_NAME);
         final ServiceResponse serviceResponse = prism.getProcessHelper()
             .resume(bundles[0].getProcessData(), MerlinConstants.USER2_NAME);
         AssertUtil.assertFailedWithStatus(serviceResponse, HttpStatus.SC_BAD_REQUEST,
@@ -320,7 +309,6 @@ public class AuthorizationTest extends BaseTestClass {
         InstanceUtil.validateResponse(r, 3, 0, 3, 0, 0);
 
         //try to resume suspended instances by U2
-        KerberosHelper.loginFromKeytab(MerlinConstants.USER2_NAME);
         r = prism.getProcessHelper().getProcessInstanceResume(Util.readEntityName(bundles[0]
                 .getProcessData()), "?start=" + startTime + "&end=" + midTime,
             MerlinConstants.USER2_NAME);
@@ -377,7 +365,6 @@ public class AuthorizationTest extends BaseTestClass {
         InstanceUtil.validateResponse(r, 5, 3, 0, 2, 0);
 
         //try to kill all instances by U2
-        KerberosHelper.loginFromKeytab(MerlinConstants.USER2_NAME);
         r = prism.getProcessHelper().getProcessInstanceKill(Util
                 .readEntityName(bundles[0].getProcessData()),
             "?start=" + startTime + "&end=" + endTime, MerlinConstants.USER2_NAME);
@@ -436,7 +423,6 @@ public class AuthorizationTest extends BaseTestClass {
         InstanceUtil.validateResponse(r, 3, 0, 3, 0, 0);
 
         //try to kill all instances by U2
-        KerberosHelper.loginFromKeytab(MerlinConstants.USER2_NAME);
         r = prism.getProcessHelper().getProcessInstanceKill(Util
                 .readEntityName(bundles[0].getProcessData()),
             "?start=" + startTime + "&end=" + endTime, MerlinConstants.USER2_NAME);
@@ -452,9 +438,10 @@ public class AuthorizationTest extends BaseTestClass {
     // .org/jira/browse/FALCON-388
     @Test(enabled = false)
     public void u1KillSomeU2RerunAllProcessInstances()
-        throws IOException, JAXBException,
+            throws IOException, JAXBException,
 
-        AuthenticationException, URISyntaxException, OozieClientException {
+            AuthenticationException, URISyntaxException, OozieClientException,
+            InterruptedException {
         String startTime = TimeUtil
             .getTimeWrtSystemTime(0);
         String endTime = TimeUtil.addMinsToTime(startTime, 5);
@@ -501,7 +488,6 @@ public class AuthorizationTest extends BaseTestClass {
         //generally 3 instances should be killed, 1 is running and 1 is waiting
 
         //try to rerun instances by U2
-        KerberosHelper.loginFromKeytab(MerlinConstants.USER2_NAME);
         r = prism.getProcessHelper().getProcessInstanceRerun(Util
             .readEntityName(bundles[0].getProcessData()), "?start=" + startTime + "&end="
                 +
@@ -518,7 +504,8 @@ public class AuthorizationTest extends BaseTestClass {
     // .org/jira/browse/FALCON-388
     @Test(enabled = false)
     public void u1SubmitU2UpdateFeed()
-        throws URISyntaxException, IOException, AuthenticationException, JAXBException {
+            throws URISyntaxException, IOException, AuthenticationException, JAXBException,
+            InterruptedException {
         String feed = bundles[0].getInputFeedFromBundle();
         //submit feed
         bundles[0].submitClusters(prism);
@@ -531,7 +518,6 @@ public class AuthorizationTest extends BaseTestClass {
         String newFeed = Util.setFeedPathValue(feed, baseHDFSDir + "/randomPath" +
             MINUTE_DATE_PATTERN);
         //try to update feed by U2
-        KerberosHelper.loginFromKeytab(MerlinConstants.USER2_NAME);
         final ServiceResponse serviceResponse = prism.getFeedHelper().update(feed, newFeed,
             TimeUtil.getTimeWrtSystemTime(0),
             MerlinConstants.USER2_NAME);
@@ -552,7 +538,6 @@ public class AuthorizationTest extends BaseTestClass {
         String newFeed = Util.setFeedPathValue(feed, baseHDFSDir + "/randomPath" +
             MINUTE_DATE_PATTERN);
         //try to update feed by U2
-        KerberosHelper.loginFromKeytab(MerlinConstants.USER2_NAME);
         final ServiceResponse serviceResponse = prism.getFeedHelper().update(feed, newFeed,
             TimeUtil.getTimeWrtSystemTime(0),
             MerlinConstants.USER2_NAME);
@@ -576,7 +561,6 @@ public class AuthorizationTest extends BaseTestClass {
         //update process definition
         bundles[0].setProcessValidity("2010-01-02T01:00Z", "2020-01-02T01:04Z");
         //try to update process by U2
-        KerberosHelper.loginFromKeytab(MerlinConstants.USER2_NAME);
         final ServiceResponse serviceResponse = prism.getProcessHelper().update(bundles[0]
                 .getProcessData(), bundles[0].getProcessData(),
             TimeUtil.getTimeWrtSystemTime(0),
@@ -597,7 +581,6 @@ public class AuthorizationTest extends BaseTestClass {
         //update process definition
         bundles[0].setProcessValidity("2010-01-02T01:00Z", "2020-01-02T01:04Z");
         //try to update process by U2
-        KerberosHelper.loginFromKeytab(MerlinConstants.USER2_NAME);
         final ServiceResponse serviceResponse = prism.getProcessHelper().update(bundles[0]
                 .getProcessData(), bundles[0].getProcessData(),
             TimeUtil.getTimeWrtSystemTime(0),
@@ -620,7 +603,6 @@ public class AuthorizationTest extends BaseTestClass {
         AssertUtil.checkStatus(clusterOC, EntityType.FEED, feed, Job.Status.RUNNING);
 
         //by U2 schedule process dependant on scheduled feed by U1
-        KerberosHelper.loginFromKeytab(MerlinConstants.USER2_NAME);
         ServiceResponse serviceResponse = prism.getProcessHelper()
             .submitAndSchedule(process, MerlinConstants.USER2_NAME);
         AssertUtil.assertSucceeded(serviceResponse);
@@ -642,7 +624,6 @@ public class AuthorizationTest extends BaseTestClass {
             MINUTE_DATE_PATTERN);
 
         //update feed by U1
-        KerberosHelper.loginFromKeytab(MerlinConstants.CURRENT_USER_NAME);
         serviceResponse = prism.getFeedHelper().update(feed, newFeed,
             TimeUtil.getTimeWrtSystemTime(0), MerlinConstants.CURRENT_USER_NAME);
         AssertUtil.assertSucceeded(serviceResponse);
@@ -671,7 +652,6 @@ public class AuthorizationTest extends BaseTestClass {
         AssertUtil.checkStatus(clusterOC, EntityType.FEED, feed, Job.Status.RUNNING);
 
         //by U2 schedule process dependent on scheduled feed by U1
-        KerberosHelper.loginFromKeytab(MerlinConstants.USER2_NAME);
         ServiceResponse serviceResponse = prism.getProcessHelper().submitAndSchedule(process,
             MerlinConstants.USER2_NAME);
         AssertUtil.assertSucceeded(serviceResponse);
@@ -706,7 +686,6 @@ public class AuthorizationTest extends BaseTestClass {
 
     @AfterMethod(alwaysRun = true)
     public void tearDown() {
-        KerberosHelper.loginFromKeytab(MerlinConstants.CURRENT_USER_NAME);
         removeBundles();
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-falcon/blob/b85573e2/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/FeedLateRerunTest.java
----------------------------------------------------------------------
diff --git a/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/FeedLateRerunTest.java b/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/FeedLateRerunTest.java
index 925ae4d..ced5fbf 100644
--- a/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/FeedLateRerunTest.java
+++ b/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/FeedLateRerunTest.java
@@ -87,7 +87,7 @@ public class FeedLateRerunTest extends BaseTestClass {
     @Test(enabled = true)
     public void FeedLateRerunTestWithEmptyFolders ()
             throws AuthenticationException, IOException, URISyntaxException, JAXBException,
-            OozieClientException {
+            OozieClientException, InterruptedException {
         Bundle.submitCluster(bundles[0], bundles[1]);
         String startTime = TimeUtil.getTimeWrtSystemTime(0);
         String endTime = TimeUtil.addMinsToTime(startTime, 30);
@@ -179,7 +179,7 @@ public class FeedLateRerunTest extends BaseTestClass {
     @Test(enabled = true)
     public void FeedLateRerunTestWithData ()
             throws AuthenticationException, IOException, URISyntaxException, JAXBException,
-            OozieClientException {
+            OozieClientException, InterruptedException {
         Bundle.submitCluster(bundles[0], bundles[1]);
         String startTime = TimeUtil.getTimeWrtSystemTime(0);
         String endTime = TimeUtil.addMinsToTime(startTime, 30);

http://git-wip-us.apache.org/repos/asf/incubator-falcon/blob/b85573e2/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/FeedReplicationTest.java
----------------------------------------------------------------------
diff --git a/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/FeedReplicationTest.java b/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/FeedReplicationTest.java
index 6cbb9ab..4ba5840 100644
--- a/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/FeedReplicationTest.java
+++ b/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/FeedReplicationTest.java
@@ -104,8 +104,8 @@ public class FeedReplicationTest extends BaseTestClass {
      */
     @Test
     public void replicate1Source1Target()
-        throws AuthenticationException, IOException, URISyntaxException, JAXBException,
-        OozieClientException {
+            throws AuthenticationException, IOException, URISyntaxException, JAXBException,
+            OozieClientException, InterruptedException {
         Bundle.submitCluster(bundles[0], bundles[1]);
         String startTime = TimeUtil.getTimeWrtSystemTime(0);
         String endTime = TimeUtil.addMinsToTime(startTime, 5);

http://git-wip-us.apache.org/repos/asf/incubator-falcon/blob/b85573e2/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/FeedSubmitAndScheduleTest.java
----------------------------------------------------------------------
diff --git a/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/FeedSubmitAndScheduleTest.java b/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/FeedSubmitAndScheduleTest.java
index db82a8c..d066910 100644
--- a/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/FeedSubmitAndScheduleTest.java
+++ b/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/FeedSubmitAndScheduleTest.java
@@ -82,7 +82,8 @@ public class FeedSubmitAndScheduleTest extends BaseTestClass {
      * @throws AuthenticationException
      */
     private void submitFirstClusterScheduleFirstFeed()
-        throws JAXBException, IOException, URISyntaxException, AuthenticationException {
+            throws JAXBException, IOException, URISyntaxException, AuthenticationException,
+            InterruptedException {
         Assert.assertEquals(Util.parseResponse(prism.getClusterHelper()
             .submitEntity(bundles[0].getClusters().get(0))).getStatusCode(), 200);
         ServiceResponse response = prism.getFeedHelper().submitAndSchedule(feed);
@@ -165,4 +166,4 @@ public class FeedSubmitAndScheduleTest extends BaseTestClass {
     public void tearDownClass() throws IOException {
         cleanTestDirs();
     }
-}
\ No newline at end of file
+}

http://git-wip-us.apache.org/repos/asf/incubator-falcon/blob/b85573e2/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/InstanceParamTest.java
----------------------------------------------------------------------
diff --git a/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/InstanceParamTest.java b/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/InstanceParamTest.java
index c56310e..88cfc2f 100644
--- a/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/InstanceParamTest.java
+++ b/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/InstanceParamTest.java
@@ -96,8 +96,8 @@ public class InstanceParamTest extends BaseTestClass {
      */
     @Test(timeOut = 1200000, enabled = false)
     public void getParamsValidRequestInstanceWaiting()
-        throws URISyntaxException, JAXBException, AuthenticationException, IOException,
-        OozieClientException {
+            throws URISyntaxException, JAXBException, AuthenticationException, IOException,
+            OozieClientException, InterruptedException {
         processBundle.setProcessValidity(startTime, endTime);
         processBundle.addClusterToBundle(bundles[1].getClusters().get(0),
             ClusterType.SOURCE, null, null);
@@ -115,8 +115,8 @@ public class InstanceParamTest extends BaseTestClass {
      */
     @Test(timeOut = 1200000, enabled = true)
     public void getParamsValidRequestInstanceSucceeded()
-        throws URISyntaxException, JAXBException, AuthenticationException, IOException,
-        OozieClientException {
+            throws URISyntaxException, JAXBException, AuthenticationException, IOException,
+            OozieClientException, InterruptedException {
         processBundle.setProcessValidity(startTime, endTime);
         processBundle.addClusterToBundle(bundles[1].getClusters().get(0),
             ClusterType.SOURCE, null, null);
@@ -138,8 +138,8 @@ public class InstanceParamTest extends BaseTestClass {
      */
     @Test(timeOut = 1200000, enabled = false)
     public void getParamsValidRequestInstanceKilled()
-        throws URISyntaxException, JAXBException, AuthenticationException, IOException,
-        OozieClientException {
+            throws URISyntaxException, JAXBException, AuthenticationException, IOException,
+            OozieClientException, InterruptedException {
         processBundle.setProcessValidity(startTime, endTime);
         processBundle.addClusterToBundle(bundles[1].getClusters().get(0),
             ClusterType.SOURCE, null, null);

http://git-wip-us.apache.org/repos/asf/incubator-falcon/blob/b85573e2/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/InstanceSummaryTest.java
----------------------------------------------------------------------
diff --git a/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/InstanceSummaryTest.java b/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/InstanceSummaryTest.java
index b864d8d..bf952f7 100644
--- a/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/InstanceSummaryTest.java
+++ b/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/InstanceSummaryTest.java
@@ -107,8 +107,8 @@ public class InstanceSummaryTest extends BaseTestClass {
      */
     @Test(enabled = true, timeOut = 1200000)
     public void testSummarySingleClusterProcess()
-        throws URISyntaxException, JAXBException, IOException, ParseException,
-        OozieClientException, AuthenticationException {
+            throws URISyntaxException, JAXBException, IOException, ParseException,
+            OozieClientException, AuthenticationException, InterruptedException {
         processBundle.setProcessValidity(startTime, endTime);
         processBundle.submitFeedsScheduleProcess(prism);
         InstanceUtil.waitTillInstancesAreCreated(cluster3, processBundle.getProcessData(), 0);
@@ -182,7 +182,8 @@ public class InstanceSummaryTest extends BaseTestClass {
      */
     @Test(enabled = true, timeOut = 1200000)
     public void testSummaryMultiClusterProcess() throws JAXBException,
-        ParseException, IOException, URISyntaxException, AuthenticationException {
+            ParseException, IOException, URISyntaxException, AuthenticationException,
+            InterruptedException {
         processBundle.setProcessValidity(startTime, endTime);
         processBundle.addClusterToBundle(bundles[1].getClusters().get(0),
             ClusterType.SOURCE, null, null);
@@ -217,7 +218,8 @@ public class InstanceSummaryTest extends BaseTestClass {
      */
     @Test(enabled = true, timeOut = 1200000)
     public void testSummaryMultiClusterFeed() throws JAXBException, ParseException, IOException,
-        URISyntaxException, OozieClientException, AuthenticationException {
+            URISyntaxException, OozieClientException, AuthenticationException,
+            InterruptedException {
 
         //create desired feed
         String feed = bundles[0].getDataSets().get(0);

http://git-wip-us.apache.org/repos/asf/incubator-falcon/blob/b85573e2/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/ProcessInstanceStatusTest.java
----------------------------------------------------------------------
diff --git a/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/ProcessInstanceStatusTest.java b/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/ProcessInstanceStatusTest.java
index a94cf1a..7b3fb62 100644
--- a/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/ProcessInstanceStatusTest.java
+++ b/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/ProcessInstanceStatusTest.java
@@ -168,7 +168,8 @@ public class ProcessInstanceStatusTest extends BaseTestClass {
      */
     @Test(groups = {"singleCluster"})
     public void testProcessInstanceStatusDateEmpty()
-        throws JAXBException, AuthenticationException, IOException, URISyntaxException, OozieClientException {
+            throws JAXBException, AuthenticationException, IOException, URISyntaxException,
+            OozieClientException, InterruptedException {
         bundles[0].setProcessValidity("2010-01-02T01:00Z", "2010-01-02T01:30Z");
         bundles[0].setProcessConcurrency(5);
         bundles[0].submitFeedsScheduleProcess(prism);

http://git-wip-us.apache.org/repos/asf/incubator-falcon/blob/b85573e2/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/entity/ListEntitiesTest.java
----------------------------------------------------------------------
diff --git a/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/entity/ListEntitiesTest.java b/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/entity/ListEntitiesTest.java
index d1ae4f0..5abc932 100644
--- a/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/entity/ListEntitiesTest.java
+++ b/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/entity/ListEntitiesTest.java
@@ -71,7 +71,8 @@ public class ListEntitiesTest extends BaseTestClass {
      */
     @BeforeClass(alwaysRun = true)
     public void prepareData()
-        throws IOException, AuthenticationException, JAXBException, URISyntaxException {
+            throws IOException, AuthenticationException, JAXBException, URISyntaxException,
+            InterruptedException {
         uploadDirToClusters(aggregateWorkflowDir, OSUtil.RESOURCES_OOZIE);
         CleanupUtil.cleanAllEntities(prism);
 
@@ -119,7 +120,7 @@ public class ListEntitiesTest extends BaseTestClass {
      */
     @Test(dataProvider = "getHelpers")
     public void listEntitiesWithOrderBy(IEntityManagerHelper helper)
-        throws AuthenticationException, IOException, URISyntaxException {
+            throws AuthenticationException, IOException, URISyntaxException, InterruptedException {
 
         List<EntityResult> entities =
             helper.listAllEntities("orderBy=name", null).getEntitiesResult().getEntities();
@@ -134,7 +135,7 @@ public class ListEntitiesTest extends BaseTestClass {
      */
     @Test(dataProvider = "getHelpers")
     public void listEntitiesWithFilterByStatus(IEntityManagerHelper helper)
-        throws AuthenticationException, IOException, URISyntaxException {
+            throws AuthenticationException, IOException, URISyntaxException, InterruptedException {
         String[] statuses = helper.getEntityType().equalsIgnoreCase("cluster")
             ? new String[]{"SUBMITTED"} : new String[]{"SUBMITTED", "RUNNING"};
 
@@ -168,7 +169,7 @@ public class ListEntitiesTest extends BaseTestClass {
      */
     @Test(dataProvider = "getHelpers")
     public void listEntitiesWithOffset(IEntityManagerHelper helper)
-        throws AuthenticationException, IOException, URISyntaxException {
+            throws AuthenticationException, IOException, URISyntaxException, InterruptedException {
 
         List<EntityResult> allEntities =
             helper.listAllEntities(null, null).getEntitiesResult().getEntities();
@@ -196,7 +197,7 @@ public class ListEntitiesTest extends BaseTestClass {
      */
     @Test(dataProvider = "getHelpers")
     public void listEntitiesWithNumResults(IEntityManagerHelper helper)
-        throws AuthenticationException, IOException, URISyntaxException {
+            throws AuthenticationException, IOException, URISyntaxException, InterruptedException {
 
         List<EntityResult> allEntities =
             helper.listAllEntities(null, null).getEntitiesResult().getEntities();
@@ -220,7 +221,7 @@ public class ListEntitiesTest extends BaseTestClass {
      */
     @Test(dataProvider = "getHelpers")
     public void listEntitiesWithTags(IEntityManagerHelper helper)
-        throws AuthenticationException, IOException, URISyntaxException {
+            throws AuthenticationException, IOException, URISyntaxException, InterruptedException {
 
         List<EntityResult> allEntities =
             helper.listAllEntities("fields=tags", null).getEntitiesResult().getEntities();
@@ -254,7 +255,7 @@ public class ListEntitiesTest extends BaseTestClass {
      */
     @Test(dataProvider = "getHelpers")
     public void listEntitiesWithCustomFilter(IEntityManagerHelper helper)
-        throws AuthenticationException, IOException, URISyntaxException {
+            throws AuthenticationException, IOException, URISyntaxException, InterruptedException {
 
         List<EntityResult> entities = helper.listEntities(
             "numResults=2&fields=status,tags&filterBy=STATUS:SUBMITTED&orderBy=name&tags=" + tags[2],

http://git-wip-us.apache.org/repos/asf/incubator-falcon/blob/b85573e2/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/lineage/EntitySummaryTest.java
----------------------------------------------------------------------
diff --git a/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/lineage/EntitySummaryTest.java b/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/lineage/EntitySummaryTest.java
index 2bed06f..514bc52 100644
--- a/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/lineage/EntitySummaryTest.java
+++ b/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/lineage/EntitySummaryTest.java
@@ -184,8 +184,8 @@ public class EntitySummaryTest extends BaseTestClass {
     private List<String> scheduleEntityValidateWaitingInstances(ColoHelper cluster, String entity,
                                                                 EntityType entityType,
                                                                 String clusterName)
-        throws AuthenticationException, IOException, URISyntaxException, JAXBException,
-        OozieClientException {
+            throws AuthenticationException, IOException, URISyntaxException, JAXBException,
+            OozieClientException, InterruptedException {
         String entityName = Util.readEntityName(entity);
         IEntityManagerHelper helper;
         List<String> names = new ArrayList<String>();
@@ -242,7 +242,7 @@ public class EntitySummaryTest extends BaseTestClass {
      */
     private void validateProgressingInstances(List<String> names, EntityType entityType,
                                               String clusterName)
-        throws AuthenticationException, IOException, URISyntaxException {
+            throws AuthenticationException, IOException, URISyntaxException, InterruptedException {
         InstancesResult r;
         IEntityManagerHelper helper;
         if (entityType == EntityType.FEED) {
@@ -307,7 +307,8 @@ public class EntitySummaryTest extends BaseTestClass {
      */
     @Test
     public void getSummaryFilterBy()
-        throws URISyntaxException, IOException, AuthenticationException, JAXBException {
+            throws URISyntaxException, IOException, AuthenticationException, JAXBException,
+            InterruptedException {
         //prepare process template
         bundles[0].setProcessValidity(startTime, endTime);
         bundles[0].submitClusters(prism);

http://git-wip-us.apache.org/repos/asf/incubator-falcon/blob/b85573e2/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/lineage/ListFeedInstancesTest.java
----------------------------------------------------------------------
diff --git a/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/lineage/ListFeedInstancesTest.java b/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/lineage/ListFeedInstancesTest.java
index 4550320..632d09d 100644
--- a/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/lineage/ListFeedInstancesTest.java
+++ b/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/lineage/ListFeedInstancesTest.java
@@ -72,8 +72,8 @@ public class ListFeedInstancesTest extends BaseTestClass {
 
     @BeforeClass(alwaysRun = true)
     public void setUp()
-        throws IOException, OozieClientException, JAXBException, AuthenticationException,
-        URISyntaxException {
+            throws IOException, OozieClientException, JAXBException, AuthenticationException,
+            URISyntaxException, InterruptedException {
         uploadDirToClusters(aggregateWorkflowDir, OSUtil.RESOURCES_OOZIE);
         startTime = TimeUtil.getTimeWrtSystemTime(-55);
         endTime = TimeUtil.getTimeWrtSystemTime(5);
@@ -91,7 +91,7 @@ public class ListFeedInstancesTest extends BaseTestClass {
      * 3 waiting and 6 killed. Testing is based on expected instances statuses.
      */
     private void prepareScenario() throws AuthenticationException, IOException, URISyntaxException,
-        JAXBException, OozieClientException {
+            JAXBException, OozieClientException, InterruptedException {
         bundles[0].setInputFeedPeriodicity(5, Frequency.TimeUnit.minutes);
         bundles[0].setInputFeedDataPath(feedDataLocation);
         String feed = bundles[0].getInputFeedFromBundle();
@@ -174,8 +174,8 @@ public class ListFeedInstancesTest extends BaseTestClass {
      */
     @Test
     public void testFeedOrderBy()
-        throws URISyntaxException, OozieClientException, JAXBException, AuthenticationException,
-        IOException {
+            throws URISyntaxException, OozieClientException, JAXBException, AuthenticationException,
+            IOException, InterruptedException {
         SoftAssert softAssert = new SoftAssert();
         //orderBy start time
         InstancesResult r = prism.getFeedHelper().listInstances(feedName,
@@ -223,8 +223,8 @@ public class ListFeedInstancesTest extends BaseTestClass {
      */
     @Test
     public void testFeedStartEnd()
-        throws URISyntaxException, OozieClientException, JAXBException, AuthenticationException,
-        IOException {
+            throws URISyntaxException, OozieClientException, JAXBException, AuthenticationException,
+            IOException, InterruptedException {
         //actual start/end values.
         InstancesResult r = prism.getFeedHelper().listInstances(feedName,
             "start=" + startTime + "&end=" + endTime, null);
@@ -290,7 +290,7 @@ public class ListFeedInstancesTest extends BaseTestClass {
      */
     @Test
     public void testFeedOffsetNumResults()
-        throws URISyntaxException, IOException, AuthenticationException {
+            throws URISyntaxException, IOException, AuthenticationException, InterruptedException {
         //check the default value of the numResults param. Expecting 10 instances.
         InstancesResult r = prism.getFeedHelper().listInstances(feedName, null, null);
         InstanceUtil.validateResponse(r, 10, 1, 1, 4, 4);
@@ -347,7 +347,8 @@ public class ListFeedInstancesTest extends BaseTestClass {
      */
     @Test
     public void testFeedFilterBy()
-        throws OozieClientException, AuthenticationException, IOException, URISyntaxException {
+            throws OozieClientException, AuthenticationException, IOException, URISyntaxException,
+            InterruptedException {
         //test with the filterBy status.
         InstancesResult r = prism.getFeedHelper().listInstances(feedName,
             "filterBy=STATUS:RUNNING", null);
@@ -394,7 +395,7 @@ public class ListFeedInstancesTest extends BaseTestClass {
      */
     @Test
     public void testFeedCustomFilter()
-        throws URISyntaxException, IOException, AuthenticationException {
+            throws URISyntaxException, IOException, AuthenticationException, InterruptedException {
         String params = "start=" + startTime + "&filterBy=status:RUNNING";
         InstancesResult r = prism.getFeedHelper().listInstances(feedName, params, null);
         InstanceUtil.validateResponse(r, 1, 1, 0, 0, 0);

http://git-wip-us.apache.org/repos/asf/incubator-falcon/blob/b85573e2/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/lineage/ProcessPipelineTest.java
----------------------------------------------------------------------
diff --git a/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/lineage/ProcessPipelineTest.java b/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/lineage/ProcessPipelineTest.java
index 3945e0b..ee5316d 100644
--- a/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/lineage/ProcessPipelineTest.java
+++ b/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/lineage/ProcessPipelineTest.java
@@ -82,7 +82,8 @@ public class ProcessPipelineTest extends BaseTestClass{
      */
     @Test
     public void listPipeline()
-        throws URISyntaxException, IOException, AuthenticationException, JAXBException {
+            throws URISyntaxException, IOException, AuthenticationException, JAXBException,
+            InterruptedException {
         //match processes to pipelines
         HashMap<String, List<String>> map = new HashMap<String, List<String>>();
         //index for few different pipelines
@@ -126,8 +127,8 @@ public class ProcessPipelineTest extends BaseTestClass{
      */
     @Test
     public void testProcessWithPipeline()
-        throws URISyntaxException, IOException, AuthenticationException, JAXBException,
-        SAXException {
+            throws URISyntaxException, IOException, AuthenticationException, JAXBException,
+            SAXException, InterruptedException {
         String pipeline = "samplePipeline";
         bundles[0].setProcessPipeline(pipeline);
         bundles[0].submitProcess(true);
@@ -150,7 +151,8 @@ public class ProcessPipelineTest extends BaseTestClass{
      */
     @Test(dataProvider = "data")
     public void testPipelines(String pipeline, String action, boolean shouldSucceed)
-        throws URISyntaxException, IOException, AuthenticationException, JAXBException {
+            throws URISyntaxException, IOException, AuthenticationException, JAXBException,
+            InterruptedException {
         bundles[0].setProcessPipeline(pipeline);
         if (action.equals("list")){
             if (shouldSucceed){

http://git-wip-us.apache.org/repos/asf/incubator-falcon/blob/b85573e2/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/prism/NewPrismProcessUpdateTest.java
----------------------------------------------------------------------
diff --git a/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/prism/NewPrismProcessUpdateTest.java b/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/prism/NewPrismProcessUpdateTest.java
index db29b19..3e85cb3 100644
--- a/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/prism/NewPrismProcessUpdateTest.java
+++ b/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/prism/NewPrismProcessUpdateTest.java
@@ -1450,7 +1450,7 @@ public class NewPrismProcessUpdateTest extends BaseTestClass {
     @Test(timeOut = 1200000)
     public void
     updateProcessWorkflowXml() throws URISyntaxException, JAXBException,
-            IOException, OozieClientException, AuthenticationException {
+            IOException, OozieClientException, AuthenticationException, InterruptedException {
         Bundle b = BundleUtil.readELBundle();
         HadoopFileEditor hadoopFileEditor = null;
         try {

http://git-wip-us.apache.org/repos/asf/incubator-falcon/blob/b85573e2/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/prism/RescheduleProcessInFinalStatesTest.java
----------------------------------------------------------------------
diff --git a/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/prism/RescheduleProcessInFinalStatesTest.java b/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/prism/RescheduleProcessInFinalStatesTest.java
index df9930d..e1cdab4 100644
--- a/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/prism/RescheduleProcessInFinalStatesTest.java
+++ b/falcon-regression/merlin/src/test/java/org/apache/falcon/regression/prism/RescheduleProcessInFinalStatesTest.java
@@ -199,7 +199,8 @@ public class RescheduleProcessInFinalStatesTest extends BaseTestClass {
      * @throws JAXBException
      */
     private void checkNotFoundDefinition(String process)
-        throws URISyntaxException, IOException, AuthenticationException, JAXBException {
+            throws URISyntaxException, IOException, AuthenticationException, JAXBException,
+            InterruptedException {
         ServiceResponse r = prism.getProcessHelper().getEntityDefinition(process);
         Assert.assertTrue(r.getMessage().contains("(process) not found"));
         AssertUtil.assertFailed(r);


Mime
View raw message