Repository: samza Updated Branches: refs/heads/master f02386464 -> 9d6831bd1
SAMZA-898 : TestSamzaTaskManager incorrectly shares mock state across tests that cause failures when test ordering changes Project: http://git-wip-us.apache.org/repos/asf/samza/repo Commit: http://git-wip-us.apache.org/repos/asf/samza/commit/9d6831bd Tree: http://git-wip-us.apache.org/repos/asf/samza/tree/9d6831bd Diff: http://git-wip-us.apache.org/repos/asf/samza/diff/9d6831bd Branch: refs/heads/master Commit: 9d6831bd1093f6aedc061721c589dfa560132e1d Parents: f023864 Author: Navina Ramesh <[email protected]> Authored: Tue Mar 29 14:35:25 2016 -0700 Committer: Navina Ramesh <[email protected]> Committed: Tue Mar 29 14:35:25 2016 -0700 ---------------------------------------------------------------------- .../samza/job/yarn/TestSamzaTaskManager.java | 23 +++++++++++++++----- 1 file changed, 17 insertions(+), 6 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/samza/blob/9d6831bd/samza-yarn/src/test/java/org/apache/samza/job/yarn/TestSamzaTaskManager.java ---------------------------------------------------------------------- diff --git a/samza-yarn/src/test/java/org/apache/samza/job/yarn/TestSamzaTaskManager.java b/samza-yarn/src/test/java/org/apache/samza/job/yarn/TestSamzaTaskManager.java index ff0fcde..30b05bb 100644 --- a/samza-yarn/src/test/java/org/apache/samza/job/yarn/TestSamzaTaskManager.java +++ b/samza-yarn/src/test/java/org/apache/samza/job/yarn/TestSamzaTaskManager.java @@ -43,6 +43,7 @@ import org.apache.samza.job.yarn.util.TestAMRMClientImpl; 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; @@ -91,8 +92,8 @@ public class TestSamzaTaskManager { 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<>(); @@ -101,14 +102,16 @@ public class TestSamzaTaskManager { 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); } @@ -123,10 +126,18 @@ public class TestSamzaTaskManager { )); 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); @@ -456,4 +467,4 @@ public class TestSamzaTaskManager { taskManager.onShutdown(); } -} \ No newline at end of file +}
