public override void RecoverContainer(Org.Apache.Hadoop.Yarn.Api.Records.Resource clusterResource, SchedulerApplicationAttempt attempt, RMContainer rmContainer) { if (rmContainer.GetState().Equals(RMContainerState.Completed)) { return; } // Careful! Locking order is important! lock (this) { FiCaSchedulerNode node = scheduler.GetNode(rmContainer.GetContainer().GetNodeId() ); base.AllocateResource(clusterResource, rmContainer.GetContainer().GetResource(), node.GetLabels()); } if (parent != null) { parent.RecoverContainer(clusterResource, attempt, rmContainer); } }