Skip to content
This repository has been archived by the owner on Sep 23, 2019. It is now read-only.

Commit

Permalink
SAMZA-898 : TestSamzaTaskManager incorrectly shares mock state across…
Browse files Browse the repository at this point in the history
… tests that cause failures when test ordering changes
  • Loading branch information
Navina Ramesh committed Mar 29, 2016
1 parent f023864 commit 9d6831b
Showing 1 changed file with 17 additions and 6 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@
import org.apache.samza.job.yarn.util.TestUtil;
import org.eclipse.jetty.servlet.DefaultServlet;
import org.eclipse.jetty.servlet.ServletHolder;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;

Expand Down Expand Up @@ -91,8 +92,8 @@ private Config getConfigWithHostAffinity() {
return new MapConfig(map);
}

private SamzaAppState state = new SamzaAppState(getCoordinator(1), -1, ConverterUtils.toContainerId("container_1350670447861_0003_01_000001"), "", 1, 2);
private final HttpServer server = new MockHttpServer("/", 7777, null, new ServletHolder(DefaultServlet.class));
private SamzaAppState state = null;
private HttpServer server = null;

private JobCoordinator getCoordinator(int containerCount) {
Map<Integer, ContainerModel> containers = new java.util.HashMap<>();
Expand All @@ -101,14 +102,16 @@ private JobCoordinator getCoordinator(int containerCount) {
containers.put(i, container);
}
Map<Integer, Map<String, String>> localityMap = new HashMap<>();
localityMap.put(0, new HashMap<String, String>(){{
put(SetContainerHostMapping.HOST_KEY, "abc");
}
localityMap.put(0, new HashMap<String, String>(){
{
put(SetContainerHostMapping.HOST_KEY, "abc");
}
});
LocalityManager mockLocalityManager = mock(LocalityManager.class);
when(mockLocalityManager.readContainerLocality()).thenReturn(localityMap);

JobModel jobModel = new JobModel(getConfig(), containers, mockLocalityManager);
JobCoordinator.jobModelRef().getAndSet(jobModel);
return new JobCoordinator(jobModel, server, null);
}

Expand All @@ -123,10 +126,18 @@ public void setup() throws Exception {
));
amRmClientAsync = TestUtil.getAMClient(testAMRMClient);

server = new MockHttpServer("/", 7777, null, new ServletHolder(DefaultServlet.class));

// Initialize coordinator url
state = new SamzaAppState(getCoordinator(1), -1, ConverterUtils.toContainerId("container_1350670447861_0003_01_000001"), "", 1, 2);
state.coordinatorUrl = new URL("http://localhost:1234");
}

@After
public void teardown() {
server.stop();
}

private Field getPrivateFieldFromTaskManager(String fieldName, SamzaTaskManager object) throws Exception {
Field field = object.getClass().getDeclaredField(fieldName);
field.setAccessible(true);
Expand Down Expand Up @@ -456,4 +467,4 @@ public void testNewContainerRequestedOnFailureWithKnownCode() throws Exception {

taskManager.onShutdown();
}
}
}

0 comments on commit 9d6831b

Please sign in to comment.