Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
-
Reviewed
Description
The problem happens at:
// getContainerStatus can be called after stopContainer try { ContainerStatus status = nmClient.getContainerStatus( container.getId(), container.getNodeId(), container.getContainerToken()); assertEquals(container.getId(), status.getContainerId()); assertEquals(ContainerState.RUNNING, status.getState()); assertTrue("" + i, status.getDiagnostics().contains( "Container killed by the ApplicationMaster.")); assertEquals(-1000, status.getExitStatus()); } catch (YarnRemoteException e) { fail("Exception is not expected"); }
NMClientImpl#stopContainer returns, but container hasn't been stopped immediately. ContainerManangerImpl implements stopContainer in async style. Therefore, the container's status is in transition. NMClientImpl#getContainerStatus immediately after stopContainer will get either the RUNNING status or the COMPLETE one.
There will be the similar problem wrt NMClientImpl#startContainer.
Attachments
Attachments
Issue Links
- relates to
-
YARN-422 Add NM client library
- Closed