You are viewing a plain text version of this content. The canonical link for it is here.
Posted to yarn-commits@hadoop.apache.org by vi...@apache.org on 2014/01/28 20:49:41 UTC

svn commit: r1562180 - in /hadoop/common/branches/branch-2/hadoop-yarn-project: ./ hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-applicationhistoryservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/ hadoop-yarn/hadoop-yar...

Author: vinodkv
Date: Tue Jan 28 19:49:41 2014
New Revision: 1562180

URL: http://svn.apache.org/r1562180
Log:
YARN-1007. Enhance History Reader interface for Containers. Contributed by Mayank Bansal.
svn merge --ignore-ancestry -c 1556723 ../YARN-321

Modified:
    hadoop/common/branches/branch-2/hadoop-yarn-project/CHANGES.txt
    hadoop/common/branches/branch-2/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-applicationhistoryservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/ApplicationHistoryReader.java
    hadoop/common/branches/branch-2/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-applicationhistoryservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/MemoryApplicationHistoryStore.java
    hadoop/common/branches/branch-2/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-applicationhistoryservice/src/test/java/org/apache/hadoop/yarn/server/applicationhistoryservice/TestMemoryApplicationHistoryStore.java

Modified: hadoop/common/branches/branch-2/hadoop-yarn-project/CHANGES.txt
URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-2/hadoop-yarn-project/CHANGES.txt?rev=1562180&r1=1562179&r2=1562180&view=diff
==============================================================================
--- hadoop/common/branches/branch-2/hadoop-yarn-project/CHANGES.txt (original)
+++ hadoop/common/branches/branch-2/hadoop-yarn-project/CHANGES.txt Tue Jan 28 19:49:41 2014
@@ -474,6 +474,9 @@ Branch YARN-321: Generic ApplicationHist
   YARN-956. Added a testable in-memory HistoryStorage. (Mayank Bansal via
   vinodkv)
 
+  YARN-1007. Enhance History Reader interface for Containers. (Mayank Bansal via
+  devaraj)
+
 Release 2.2.0 - 2013-10-13
 
   INCOMPATIBLE CHANGES

Modified: hadoop/common/branches/branch-2/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-applicationhistoryservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/ApplicationHistoryReader.java
URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-2/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-applicationhistoryservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/ApplicationHistoryReader.java?rev=1562180&r1=1562179&r2=1562180&view=diff
==============================================================================
--- hadoop/common/branches/branch-2/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-applicationhistoryservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/ApplicationHistoryReader.java (original)
+++ hadoop/common/branches/branch-2/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-applicationhistoryservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/ApplicationHistoryReader.java Tue Jan 28 19:49:41 2014
@@ -94,4 +94,16 @@ public interface ApplicationHistoryReade
    */
   ContainerHistoryData getAMContainer(ApplicationAttemptId appAttemptId)
       throws IOException;
+  
+  /**
+   * This method returns Map{@link ContainerId,@link ContainerHistoryData} for
+   * specified {@link ApplicationAttemptId}.
+   * 
+   * @param {@link ApplicationAttemptId}
+   * @return Map{@link ContainerId, @link ContainerHistoryData} for
+   *         ApplicationAttemptId
+   * @throws {@link IOException}
+   */
+  Map<ContainerId, ContainerHistoryData> getContainers(
+      ApplicationAttemptId appAttemptId) throws IOException;
 }

Modified: hadoop/common/branches/branch-2/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-applicationhistoryservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/MemoryApplicationHistoryStore.java
URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-2/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-applicationhistoryservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/MemoryApplicationHistoryStore.java?rev=1562180&r1=1562179&r2=1562180&view=diff
==============================================================================
--- hadoop/common/branches/branch-2/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-applicationhistoryservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/MemoryApplicationHistoryStore.java (original)
+++ hadoop/common/branches/branch-2/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-applicationhistoryservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/MemoryApplicationHistoryStore.java Tue Jan 28 19:49:41 2014
@@ -161,4 +161,17 @@ public class MemoryApplicationHistorySto
       }
     }
   }
+
+  @Override
+  public Map<ContainerId, ContainerHistoryData> getContainers(
+      ApplicationAttemptId appAttemptId) throws IOException {
+    HashMap<ContainerId, ContainerHistoryData> containers =
+        new HashMap<ContainerId, ContainerHistoryData>();
+    for (ContainerId container : containerData.keySet()) {
+      if (container.getApplicationAttemptId().equals(appAttemptId)) {
+        containers.put(container, containerData.get(container));
+      }
+    }
+    return containers;
+  }
 }

Modified: hadoop/common/branches/branch-2/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-applicationhistoryservice/src/test/java/org/apache/hadoop/yarn/server/applicationhistoryservice/TestMemoryApplicationHistoryStore.java
URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-2/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-applicationhistoryservice/src/test/java/org/apache/hadoop/yarn/server/applicationhistoryservice/TestMemoryApplicationHistoryStore.java?rev=1562180&r1=1562179&r2=1562180&view=diff
==============================================================================
--- hadoop/common/branches/branch-2/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-applicationhistoryservice/src/test/java/org/apache/hadoop/yarn/server/applicationhistoryservice/TestMemoryApplicationHistoryStore.java (original)
+++ hadoop/common/branches/branch-2/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-applicationhistoryservice/src/test/java/org/apache/hadoop/yarn/server/applicationhistoryservice/TestMemoryApplicationHistoryStore.java Tue Jan 28 19:49:41 2014
@@ -18,6 +18,7 @@
 
 package org.apache.hadoop.yarn.server.applicationhistoryservice;
 
+import java.io.IOException;
 import java.util.HashMap;
 
 import junit.framework.Assert;
@@ -67,12 +68,21 @@ public class TestMemoryApplicationHistor
     memstore.writeContainer(container);
   }
 
+  public ContainerHistoryData writeContainer(ApplicationAttemptId appAttemptId,
+      int containerId) throws Throwable {
+    ContainerHistoryData container = new ContainerHistoryDataPBImpl();
+    container
+      .setContainerId(ContainerId.newInstance(appAttemptId, containerId));
+    memstore.writeContainer(container);
+    return container;
+  }
+  
   @After
   public void tearDown() {
   }
 
   @Test
-  public void testReadApplication() {
+  public void testReadApplication() throws Throwable {
     HashMap<ApplicationId, ApplicationHistoryData> map =
         (HashMap<ApplicationId, ApplicationHistoryData>) memstore
           .getAllApplications();
@@ -98,5 +108,13 @@ public class TestMemoryApplicationHistor
           .newInstance(ApplicationId.newInstance(1234, 1), 1), 1));
     Assert.assertEquals("container_1234_0001_01_000001", amContainer
       .getContainerId().toString());
+    ContainerHistoryData container2 =
+        writeContainer(appAttempt.getApplicationAttemptId(), 2);
+    HashMap<ContainerId, ContainerHistoryData> containers =
+        (HashMap<ContainerId, ContainerHistoryData>) memstore
+          .getContainers(appAttempt.getApplicationAttemptId());
+    Assert.assertEquals(2, containers.size());
+    Assert.assertEquals("container_1234_0001_01_000002", containers.get(
+      container2.getContainerId()).getContainerId().toString());
   }
 }