MAPREDUCE-6125. TestContainerLauncherImpl sometimes fails. Contributed by Mit Desai
(cherry picked from commit bbe80cdc7b
)
This commit is contained in:
parent
752f724d52
commit
5dbbabe85f
|
@ -189,6 +189,9 @@ Release 2.6.0 - UNRELEASED
|
||||||
MAPREDUCE-6123. TestCombineFileInputFormat incorrectly starts 2
|
MAPREDUCE-6123. TestCombineFileInputFormat incorrectly starts 2
|
||||||
MiniDFSCluster instances. (cnauroth)
|
MiniDFSCluster instances. (cnauroth)
|
||||||
|
|
||||||
|
MAPREDUCE-6125. TestContainerLauncherImpl sometimes fails (Mit Desai via
|
||||||
|
jlowe)
|
||||||
|
|
||||||
Release 2.5.1 - 2014-09-05
|
Release 2.5.1 - 2014-09-05
|
||||||
|
|
||||||
INCOMPATIBLE CHANGES
|
INCOMPATIBLE CHANGES
|
||||||
|
|
|
@ -24,6 +24,7 @@ import static org.mockito.Mockito.never;
|
||||||
import static org.mockito.Mockito.verify;
|
import static org.mockito.Mockito.verify;
|
||||||
import static org.mockito.Mockito.when;
|
import static org.mockito.Mockito.when;
|
||||||
|
|
||||||
|
import java.io.Closeable;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.nio.ByteBuffer;
|
import java.nio.ByteBuffer;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
@ -83,6 +84,13 @@ public class TestContainerLauncherImpl {
|
||||||
serviceResponse.put(ShuffleHandler.MAPREDUCE_SHUFFLE_SERVICEID,
|
serviceResponse.put(ShuffleHandler.MAPREDUCE_SHUFFLE_SERVICEID,
|
||||||
ShuffleHandler.serializeMetaData(80));
|
ShuffleHandler.serializeMetaData(80));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// tests here mock ContainerManagementProtocol which does not have close
|
||||||
|
// method. creating an interface that implements ContainerManagementProtocol
|
||||||
|
// and Closeable so the tests does not fail with NoSuchMethodException
|
||||||
|
private static interface ContainerManagementProtocolClient extends
|
||||||
|
ContainerManagementProtocol, Closeable {
|
||||||
|
}
|
||||||
|
|
||||||
private static class ContainerLauncherImplUnderTest extends
|
private static class ContainerLauncherImplUnderTest extends
|
||||||
ContainerLauncherImpl {
|
ContainerLauncherImpl {
|
||||||
|
@ -152,8 +160,8 @@ public class TestContainerLauncherImpl {
|
||||||
EventHandler mockEventHandler = mock(EventHandler.class);
|
EventHandler mockEventHandler = mock(EventHandler.class);
|
||||||
when(mockContext.getEventHandler()).thenReturn(mockEventHandler);
|
when(mockContext.getEventHandler()).thenReturn(mockEventHandler);
|
||||||
String cmAddress = "127.0.0.1:8000";
|
String cmAddress = "127.0.0.1:8000";
|
||||||
ContainerManagementProtocol mockCM =
|
ContainerManagementProtocolClient mockCM =
|
||||||
mock(ContainerManagementProtocol.class);
|
mock(ContainerManagementProtocolClient.class);
|
||||||
ContainerLauncherImplUnderTest ut =
|
ContainerLauncherImplUnderTest ut =
|
||||||
new ContainerLauncherImplUnderTest(mockContext, mockCM);
|
new ContainerLauncherImplUnderTest(mockContext, mockCM);
|
||||||
|
|
||||||
|
@ -213,8 +221,8 @@ public class TestContainerLauncherImpl {
|
||||||
EventHandler mockEventHandler = mock(EventHandler.class);
|
EventHandler mockEventHandler = mock(EventHandler.class);
|
||||||
when(mockContext.getEventHandler()).thenReturn(mockEventHandler);
|
when(mockContext.getEventHandler()).thenReturn(mockEventHandler);
|
||||||
|
|
||||||
ContainerManagementProtocol mockCM =
|
ContainerManagementProtocolClient mockCM =
|
||||||
mock(ContainerManagementProtocol.class);
|
mock(ContainerManagementProtocolClient.class);
|
||||||
ContainerLauncherImplUnderTest ut =
|
ContainerLauncherImplUnderTest ut =
|
||||||
new ContainerLauncherImplUnderTest(mockContext, mockCM);
|
new ContainerLauncherImplUnderTest(mockContext, mockCM);
|
||||||
|
|
||||||
|
@ -275,8 +283,8 @@ public class TestContainerLauncherImpl {
|
||||||
EventHandler mockEventHandler = mock(EventHandler.class);
|
EventHandler mockEventHandler = mock(EventHandler.class);
|
||||||
when(mockContext.getEventHandler()).thenReturn(mockEventHandler);
|
when(mockContext.getEventHandler()).thenReturn(mockEventHandler);
|
||||||
|
|
||||||
ContainerManagementProtocol mockCM =
|
ContainerManagementProtocolClient mockCM =
|
||||||
mock(ContainerManagementProtocol.class);
|
mock(ContainerManagementProtocolClient.class);
|
||||||
ContainerLauncherImplUnderTest ut =
|
ContainerLauncherImplUnderTest ut =
|
||||||
new ContainerLauncherImplUnderTest(mockContext, mockCM);
|
new ContainerLauncherImplUnderTest(mockContext, mockCM);
|
||||||
|
|
||||||
|
@ -330,7 +338,7 @@ public class TestContainerLauncherImpl {
|
||||||
EventHandler mockEventHandler = mock(EventHandler.class);
|
EventHandler mockEventHandler = mock(EventHandler.class);
|
||||||
when(mockContext.getEventHandler()).thenReturn(mockEventHandler);
|
when(mockContext.getEventHandler()).thenReturn(mockEventHandler);
|
||||||
|
|
||||||
ContainerManagementProtocol mockCM =
|
ContainerManagementProtocolClient mockCM =
|
||||||
new ContainerManagerForTest(startLaunchBarrier, completeLaunchBarrier);
|
new ContainerManagerForTest(startLaunchBarrier, completeLaunchBarrier);
|
||||||
ContainerLauncherImplUnderTest ut =
|
ContainerLauncherImplUnderTest ut =
|
||||||
new ContainerLauncherImplUnderTest(mockContext, mockCM);
|
new ContainerLauncherImplUnderTest(mockContext, mockCM);
|
||||||
|
@ -406,7 +414,7 @@ public class TestContainerLauncherImpl {
|
||||||
currentTime + 10000L, 123, currentTime, Priority.newInstance(0), 0));
|
currentTime + 10000L, 123, currentTime, Priority.newInstance(0), 0));
|
||||||
}
|
}
|
||||||
|
|
||||||
private static class ContainerManagerForTest implements ContainerManagementProtocol {
|
private static class ContainerManagerForTest implements ContainerManagementProtocolClient {
|
||||||
|
|
||||||
private CyclicBarrier startLaunchBarrier;
|
private CyclicBarrier startLaunchBarrier;
|
||||||
private CyclicBarrier completeLaunchBarrier;
|
private CyclicBarrier completeLaunchBarrier;
|
||||||
|
@ -444,6 +452,10 @@ public class TestContainerLauncherImpl {
|
||||||
GetContainerStatusesRequest request) throws IOException {
|
GetContainerStatusesRequest request) throws IOException {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void close() throws IOException {
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@SuppressWarnings("serial")
|
@SuppressWarnings("serial")
|
||||||
|
|
Loading…
Reference in New Issue