|
@@ -36,7 +36,6 @@ import org.apache.hadoop.classification.InterfaceAudience.Private;
|
|
|
import org.apache.hadoop.classification.InterfaceStability.Unstable;
|
|
|
import org.apache.hadoop.conf.Configuration;
|
|
|
import org.apache.hadoop.service.AbstractService;
|
|
|
-import org.apache.hadoop.yarn.api.records.AbstractResourceRequest;
|
|
|
import org.apache.hadoop.yarn.api.records.ApplicationAttemptId;
|
|
|
import org.apache.hadoop.yarn.api.records.ApplicationId;
|
|
|
import org.apache.hadoop.yarn.api.records.ApplicationResourceUsageReport;
|
|
@@ -52,6 +51,7 @@ import org.apache.hadoop.yarn.api.records.Resource;
|
|
|
import org.apache.hadoop.yarn.api.records.ResourceOption;
|
|
|
import org.apache.hadoop.yarn.api.records.ResourceRequest;
|
|
|
import org.apache.hadoop.yarn.api.records.UpdateContainerRequest;
|
|
|
+import org.apache.hadoop.yarn.api.records.AbstractResourceRequest;
|
|
|
import org.apache.hadoop.yarn.conf.YarnConfiguration;
|
|
|
import org.apache.hadoop.yarn.exceptions.InvalidResourceRequestException;
|
|
|
import org.apache.hadoop.yarn.exceptions.YarnException;
|
|
@@ -77,15 +77,14 @@ import org.apache.hadoop.yarn.server.resourcemanager.rmcontainer.RMContainerReco
|
|
|
import org.apache.hadoop.yarn.server.resourcemanager.rmnode.RMNode;
|
|
|
import org.apache.hadoop.yarn.server.resourcemanager.rmnode.RMNodeCleanContainerEvent;
|
|
|
import org.apache.hadoop.yarn.server.resourcemanager.rmnode.RMNodeFinishedContainersPulledByAMEvent;
|
|
|
+import org.apache.hadoop.yarn.server.resourcemanager.scheduler.activities.ActivitiesManager;
|
|
|
import org.apache.hadoop.yarn.server.resourcemanager.rmnode.RMNodeResourceUpdateEvent;
|
|
|
import org.apache.hadoop.yarn.server.resourcemanager.rmnode.UpdatedContainerInfo;
|
|
|
-import org.apache.hadoop.yarn.server.resourcemanager.scheduler.activities.ActivitiesManager;
|
|
|
import org.apache.hadoop.yarn.server.resourcemanager.scheduler.common.QueueEntitlement;
|
|
|
import org.apache.hadoop.yarn.server.utils.Lock;
|
|
|
import org.apache.hadoop.yarn.util.Clock;
|
|
|
import org.apache.hadoop.yarn.util.SystemClock;
|
|
|
import org.apache.hadoop.yarn.util.resource.Resources;
|
|
|
-
|
|
|
import com.google.common.annotations.VisibleForTesting;
|
|
|
import com.google.common.util.concurrent.SettableFuture;
|
|
|
|
|
@@ -396,8 +395,8 @@ public abstract class AbstractYarnScheduler
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- public void recoverContainersOnNode(List<NMContainerStatus> containerReports,
|
|
|
- RMNode nm) {
|
|
|
+ public synchronized void recoverContainersOnNode(
|
|
|
+ List<NMContainerStatus> containerReports, RMNode nm) {
|
|
|
try {
|
|
|
writeLock.lock();
|
|
|
if (!rmContext.isWorkPreservingRecoveryEnabled()
|
|
@@ -994,7 +993,7 @@ public abstract class AbstractYarnScheduler
|
|
|
* Process a heartbeat update from a node.
|
|
|
* @param nm The RMNode corresponding to the NodeManager
|
|
|
*/
|
|
|
- protected void nodeUpdate(RMNode nm) {
|
|
|
+ protected synchronized void nodeUpdate(RMNode nm) {
|
|
|
if (LOG.isDebugEnabled()) {
|
|
|
LOG.debug("nodeUpdate: " + nm +
|
|
|
" cluster capacity: " + getClusterResource());
|