FALCON-2081 ExtensionManagerIT fails occassionally
Fixed a rat-check error as part of this Jira as it was blocking testing and it was only 1 line change
Author: bvellanki <bvellanki@hortonworks.com>
Reviewers: "Venkat Ranganathan <venkat@hortonworks.com>, Sowmya Ramesh <sowmya_kr@apache.org>"
Closes #235 from bvellanki/FALCON-2081
(cherry picked from commit 40d943637067b04747b337e714f1588567fa4751)
Signed-off-by: bvellanki <bvellanki@hortonworks.com>
diff --git a/pom.xml b/pom.xml
index 4d5fdf4..7d82c2a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -217,6 +217,7 @@
<exclude>**/db1.script</exclude>
<exclude>**/credential_provider.jceks</exclude>
<exclude>**/*.json</exclude>
+ <exclude>**/falcon-cli-hist.log</exclude>
</excludes>
</configuration>
<executions>
diff --git a/webapp/src/test/java/org/apache/falcon/resource/ExtensionManagerIT.java b/webapp/src/test/java/org/apache/falcon/resource/ExtensionManagerIT.java
index b352be4..021d853 100644
--- a/webapp/src/test/java/org/apache/falcon/resource/ExtensionManagerIT.java
+++ b/webapp/src/test/java/org/apache/falcon/resource/ExtensionManagerIT.java
@@ -18,6 +18,7 @@
package org.apache.falcon.resource;
+import org.apache.falcon.entity.v0.EntityType;
import org.apache.falcon.extensions.ExtensionProperties;
import org.apache.falcon.extensions.mirroring.hdfs.HdfsMirroringExtensionProperties;
import org.apache.falcon.extensions.store.AbstractTestExtensionStore;
@@ -110,12 +111,15 @@
"extension -instances -jobName " + JOB_NAME_2 + " -fields status,clusters,tags"), 0);
// validate instance list results
+ context.waitForInstancesToStart(EntityType.PROCESS.name(), JOB_NAME_1, 10000);
ExtensionInstanceList instanceList = context.getExtensionInstances(JOB_NAME_1, START_TIME_1, endTime, "RUNNING",
null, null, null, null, null, null);
System.out.println("Validate running instances of extension job " + JOB_NAME_1 + ": \n"
+ instanceList.toString());
Assert.assertEquals(instanceList.numEntities, 1);
Assert.assertEquals(instanceList.entitySummary.get(0).instances.length, 1);
+
+ context.waitForInstancesToStart(EntityType.PROCESS.name(), JOB_NAME_2, 10000);
instanceList = context.getExtensionInstances(JOB_NAME_2, START_TIME_1, endTime, "RUNNING",
null, null, null, null, null, null);
System.out.println("Validate running instances of extension job " + JOB_NAME_2 + ": \n"
diff --git a/webapp/src/test/java/org/apache/falcon/resource/TestContext.java b/webapp/src/test/java/org/apache/falcon/resource/TestContext.java
index 5412608..8201506 100644
--- a/webapp/src/test/java/org/apache/falcon/resource/TestContext.java
+++ b/webapp/src/test/java/org/apache/falcon/resource/TestContext.java
@@ -324,6 +324,21 @@
return response.getEntity(ExtensionInstanceList.class);
}
+ public void waitForInstancesToStart(String entityType, String entityName, long timeout) {
+ long mustEnd = System.currentTimeMillis() + timeout;
+ WebResource resource = this.service.path("api/instance/running/" + entityType + "/" + entityName);
+ InstancesResult instancesResult;
+ while (System.currentTimeMillis() < mustEnd) {
+ ClientResponse response = resource.header("Cookie", AUTH_COOKIE_EQ + authenticationToken)
+ .accept(MediaType.APPLICATION_JSON).type(MediaType.TEXT_XML)
+ .method(HttpMethod.GET, ClientResponse.class);
+ instancesResult = response.getEntity(InstancesResult.class);
+ if (instancesResult.getInstances() != null && instancesResult.getInstances().length > 0) {
+ break;
+ }
+ }
+ }
+
public ClientResponse submitAndSchedule(String template, Map<String, String> overlay, EntityType entityType)
throws Exception {
return submitAndSchedule(template, overlay, entityType, null, "", null);