Details
Description
Now, the containerLaunchedOnNode method hold the SchedulerApplicationAttempt writelock, but looking at the method, it does not change any field. And more seriously, this will affect the scheduler.
public void containerLaunchedOnNode(ContainerId containerId, NodeId nodeId) { // Inform the container writelock.lock try { RMContainer rmContainer = getRMContainer(containerId); if (rmContainer == null) { // Some unknown container sneaked into the system. Kill it. rmContext.getDispatcher().getEventHandler().handle( new RMNodeCleanContainerEvent(nodeId, containerId)); return; } rmContainer.handle( new RMContainerEvent(containerId, RMContainerEventType.LAUNCHED)); }finally { writeLock.unlock(); } }
Attachments
Attachments
Issue Links
- links to