You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@falcon.apache.org by ro...@apache.org on 2014/12/24 11:49:15 UTC
incubator-falcon git commit: FALCON-962 Fortify
ListFeedInstancesTest. Contributed by Paul Isaychuk
Repository: incubator-falcon
Updated Branches:
refs/heads/master 95ab2f6ab -> e99cebd3d
FALCON-962 Fortify ListFeedInstancesTest. Contributed by Paul Isaychuk
Project: http://git-wip-us.apache.org/repos/asf/incubator-falcon/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-falcon/commit/e99cebd3
Tree: http://git-wip-us.apache.org/repos/asf/incubator-falcon/tree/e99cebd3
Diff: http://git-wip-us.apache.org/repos/asf/incubator-falcon/diff/e99cebd3
Branch: refs/heads/master
Commit: e99cebd3d21d1e8d69553fdcef65f4581fa8d927
Parents: 95ab2f6
Author: Ruslan Ostafiychuk <ro...@apache.org>
Authored: Wed Dec 24 12:45:53 2014 +0200
Committer: Ruslan Ostafiychuk <ro...@apache.org>
Committed: Wed Dec 24 12:45:53 2014 +0200
----------------------------------------------------------------------
falcon-regression/CHANGES.txt | 2 +
.../lineage/ListFeedInstancesTest.java | 44 ++++++++++++++++----
2 files changed, 37 insertions(+), 9 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-falcon/blob/e99cebd3/falcon-regression/CHANGES.txt
----------------------------------------------------------------------
diff --git a/falcon-regression/CHANGES.txt b/falcon-regression/CHANGES.txt
index 17512ce..e7272e5 100644
--- a/falcon-regression/CHANGES.txt
+++ b/falcon-regression/CHANGES.txt
@@ -36,6 +36,8 @@ Trunk (Unreleased)
via Samarth Gupta)
IMPROVEMENTS
+ FALCON-962 Fortify ListFeedInstancesTest (Paul Isaychuk via Ruslan Ostafiychuk)
+
FALCON-963 Add option to exclude tests in falcon-regression (Ruslan Ostafiychuk)
FALCON-953 Change wasb replication to run with single cluster (Ruslan Ostafiychuk
http://git-wip-us.apache.org/repos/asf/incubator-falcon/blob/e99cebd3/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 9a822ee..83b96a5 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
@@ -29,12 +29,14 @@ import org.apache.falcon.regression.core.util.BundleUtil;
import org.apache.falcon.regression.core.util.HadoopUtil;
import org.apache.falcon.regression.core.util.InstanceUtil;
import org.apache.falcon.regression.core.util.OSUtil;
+import org.apache.falcon.regression.core.util.OozieUtil;
import org.apache.falcon.regression.core.util.TimeUtil;
import org.apache.falcon.regression.core.util.Util;
import org.apache.falcon.regression.testHelper.BaseTestClass;
import org.apache.falcon.resource.InstancesResult;
import org.apache.hadoop.security.authentication.client.AuthenticationException;
import org.apache.log4j.Logger;
+import org.apache.oozie.client.BundleJob;
import org.apache.oozie.client.CoordinatorAction;
import org.apache.oozie.client.CoordinatorJob;
import org.apache.oozie.client.OozieClient;
@@ -76,7 +78,7 @@ public class ListFeedInstancesTest extends BaseTestClass {
URISyntaxException, InterruptedException {
uploadDirToClusters(aggregateWorkflowDir, OSUtil.RESOURCES_OOZIE);
startTime = TimeUtil.getTimeWrtSystemTime(-55);
- endTime = TimeUtil.getTimeWrtSystemTime(5);
+ endTime = TimeUtil.getTimeWrtSystemTime(3);
LOGGER.info("Time range is between : " + startTime + " and " + endTime);
Bundle bundle = BundleUtil.readELBundle();
for (int i = 0; i < 2; i++) {
@@ -123,17 +125,14 @@ public class ListFeedInstancesTest extends BaseTestClass {
//submit and schedule feed
AssertUtil.assertSucceeded(prism.getFeedHelper().submitAndSchedule(feed));
InstanceUtil.waitTillInstancesAreCreated(cluster2, feed, 0);
+ InstanceUtil.waitTillInstanceReachState(cluster2OC, feedName, 12,
+ CoordinatorAction.Status.WAITING, EntityType.FEED);
//retrieve specific instances to rule them directly
- List<CoordinatorAction> actions = null;
- String bundleID = InstanceUtil.getSequenceBundleID(cluster2, feedName, EntityType.FEED, 0);
- List<CoordinatorJob> coords = cluster2OC.getBundleJobInfo(bundleID).getCoordinators();
- for (CoordinatorJob coord : coords) {
- CoordinatorJob temp = cluster2OC.getCoordJobInfo(coord.getId());
- actions = temp.getActions().size() == 12 ? temp.getActions() : null;
- }
- Assert.assertNotNull(actions, "Required coordinator not found.");
+ List<CoordinatorAction> actions = getReplicationInstances(cluster2OC, feedName);
LOGGER.info(actions);
+ Assert.assertNotNull(actions, "Required coordinator not found.");
+ Assert.assertEquals(actions.size(), 12, "Unexpected number of actions.");
//killing first 6 instances
String range;
@@ -171,6 +170,33 @@ public class ListFeedInstancesTest extends BaseTestClass {
InstanceUtil.validateResponse(r, 12, 1, 1, 4, 6);
}
+ /*
+ * Retrieves replication coordinator instances.
+ * @param client target oozie client
+ * @param fName feed name
+ */
+ private List<CoordinatorAction> getReplicationInstances(OozieClient client, String fName)
+ throws OozieClientException {
+ String filter = "name=FALCON_FEED_" + fName;
+ List<BundleJob> bundleJobs = OozieUtil.getBundles(client, filter, 0, 10);
+ Assert.assertNotEquals(bundleJobs.size(), 0, "Could not retrieve bundles");
+ List<String> bundleIds = OozieUtil.getBundleIds(bundleJobs);
+ String bundleId = OozieUtil.getMaxId(bundleIds);
+ LOGGER.info(String.format("Using bundle %s", bundleId));
+ List<CoordinatorJob> coords = client.getBundleJobInfo(bundleId).getCoordinators();
+ String coordId = null;
+ for (CoordinatorJob coord : coords) {
+ if (coord.getAppName().contains("FEED_REPLICATION")) {
+ coordId = coord.getId();
+ break;
+ }
+ }
+ LOGGER.info(String.format("Using coordinator id: %s", coordId));
+ Assert.assertNotNull(coordId, "Replication coordinator not found.");
+ CoordinatorJob coordinatorJob = client.getCoordJobInfo(coordId);
+ return coordinatorJob.getActions();
+ }
+
/**
* Test the list feed instances api using an orderBy parameter. Check the order.
*/