Bläddra i källkod

Revert "YARN-4452. NPE when submit Unmanaged application. Contributed by Naganarasimha G R."

This reverts commit face83775bbfd4fd0387404461dfc963729164c1.

Conflicts:

	hadoop-yarn-project/CHANGES.txt
Jason Lowe 9 år sedan
förälder
incheckning
6cf2fa36b3

+ 0 - 3
hadoop-yarn-project/CHANGES.txt

@@ -51,9 +51,6 @@ Release 2.7.3 - UNRELEASED
 
     YARN-4439. Clarify NMContainerStatus#toString method. (Jian He via xgong)
 
-    YARN-4452. NPE when submit Unmanaged application. (Naganarasimha G R
-    via junping_du)
-    
     YARN-4546. ResourceManager crash due to scheduling opportunity overflow.
     (Jason Lowe via junping_du)
 

+ 4 - 7
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/metrics/SystemMetricsPublisher.java

@@ -142,8 +142,6 @@ public class SystemMetricsPublisher extends CompositeService {
   public void appAttemptRegistered(RMAppAttempt appAttempt,
       long registeredTime) {
     if (publishSystemMetrics) {
-      ContainerId container = (appAttempt.getMasterContainer() == null) ? null
-          : appAttempt.getMasterContainer().getId();
       dispatcher.getEventHandler().handle(
           new AppAttemptRegisteredEvent(
               appAttempt.getAppAttemptId(),
@@ -151,7 +149,7 @@ public class SystemMetricsPublisher extends CompositeService {
               appAttempt.getRpcPort(),
               appAttempt.getTrackingUrl(),
               appAttempt.getOriginalTrackingUrl(),
-              container,
+              appAttempt.getMasterContainer().getId(),
               registeredTime));
     }
   }
@@ -337,10 +335,9 @@ public class SystemMetricsPublisher extends CompositeService {
         event.getHost());
     eventInfo.put(AppAttemptMetricsConstants.RPC_PORT_EVENT_INFO,
         event.getRpcPort());
-    if (event.getMasterContainerId() != null) {
-      eventInfo.put(AppAttemptMetricsConstants.MASTER_CONTAINER_EVENT_INFO,
-          event.getMasterContainerId().toString());
-    }
+    eventInfo.put(
+        AppAttemptMetricsConstants.MASTER_CONTAINER_EVENT_INFO,
+        event.getMasterContainerId().toString());
     tEvent.setEventInfo(eventInfo);
     entity.addEvent(tEvent);
     putEntity(entity);

+ 6 - 28
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/metrics/TestSystemMetricsPublisher.java

@@ -193,31 +193,11 @@ public class TestSystemMetricsPublisher {
     }
   }
 
-  @Test(timeout = 10000)
-  public void testPublishAppAttemptMetricsForUnmanagedAM() throws Exception {
-    ApplicationAttemptId appAttemptId =
-        ApplicationAttemptId.newInstance(ApplicationId.newInstance(0, 1), 1);
-    RMAppAttempt appAttempt = createRMAppAttempt(appAttemptId,true);
-    metricsPublisher.appAttemptRegistered(appAttempt, Integer.MAX_VALUE + 1L);
-    RMApp app = mock(RMApp.class);
-    when(app.getFinalApplicationStatus()).thenReturn(FinalApplicationStatus.UNDEFINED);
-    metricsPublisher.appAttemptFinished(appAttempt, RMAppAttemptState.FINISHED, app,
-        Integer.MAX_VALUE + 2L);
-    TimelineEntity entity = null;
-    do {
-      entity =
-          store.getEntity(appAttemptId.toString(),
-              AppAttemptMetricsConstants.ENTITY_TYPE,
-              EnumSet.allOf(Field.class));
-      // ensure two events are both published before leaving the loop
-    } while (entity == null || entity.getEvents().size() < 2);
-  }
-
   @Test(timeout = 10000)
   public void testPublishAppAttemptMetrics() throws Exception {
     ApplicationAttemptId appAttemptId =
         ApplicationAttemptId.newInstance(ApplicationId.newInstance(0, 1), 1);
-    RMAppAttempt appAttempt = createRMAppAttempt(appAttemptId, false);
+    RMAppAttempt appAttempt = createRMAppAttempt(appAttemptId);
     metricsPublisher.appAttemptRegistered(appAttempt, Integer.MAX_VALUE + 1L);
     RMApp app = mock(RMApp.class);
     when(app.getFinalApplicationStatus()).thenReturn(FinalApplicationStatus.UNDEFINED);
@@ -376,17 +356,15 @@ public class TestSystemMetricsPublisher {
   }
 
   private static RMAppAttempt createRMAppAttempt(
-      ApplicationAttemptId appAttemptId, boolean unmanagedAMAttempt) {
+      ApplicationAttemptId appAttemptId) {
     RMAppAttempt appAttempt = mock(RMAppAttempt.class);
     when(appAttempt.getAppAttemptId()).thenReturn(appAttemptId);
     when(appAttempt.getHost()).thenReturn("test host");
     when(appAttempt.getRpcPort()).thenReturn(-100);
-    if (!unmanagedAMAttempt) {
-      Container container = mock(Container.class);
-      when(container.getId())
-          .thenReturn(ContainerId.newContainerId(appAttemptId, 1));
-      when(appAttempt.getMasterContainer()).thenReturn(container);
-    }
+    Container container = mock(Container.class);
+    when(container.getId())
+        .thenReturn(ContainerId.newContainerId(appAttemptId, 1));
+    when(appAttempt.getMasterContainer()).thenReturn(container);
     when(appAttempt.getDiagnostics()).thenReturn("test diagnostics info");
     when(appAttempt.getTrackingUrl()).thenReturn("test tracking url");
     when(appAttempt.getOriginalTrackingUrl()).thenReturn(