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 bo...@apache.org on 2012/11/19 17:49:28 UTC

svn commit: r1411301 - in /hadoop/common/branches/branch-0.23.5/hadoop-yarn-project: ./ hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/logaggregation/

Author: bobby
Date: Mon Nov 19 16:49:27 2012
New Revision: 1411301

URL: http://svn.apache.org/viewvc?rev=1411301&view=rev
Log:
svn merge -c 1411289 FIXES: YARN-219. NM should aggregate logs when application finishes. (bobby)

Modified:
    hadoop/common/branches/branch-0.23.5/hadoop-yarn-project/CHANGES.txt
    hadoop/common/branches/branch-0.23.5/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/logaggregation/AppLogAggregatorImpl.java

Modified: hadoop/common/branches/branch-0.23.5/hadoop-yarn-project/CHANGES.txt
URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-0.23.5/hadoop-yarn-project/CHANGES.txt?rev=1411301&r1=1411300&r2=1411301&view=diff
==============================================================================
--- hadoop/common/branches/branch-0.23.5/hadoop-yarn-project/CHANGES.txt (original)
+++ hadoop/common/branches/branch-0.23.5/hadoop-yarn-project/CHANGES.txt Mon Nov 19 16:49:27 2012
@@ -88,6 +88,8 @@ Release 0.23.5 - UNRELEASED
     YARN-144. MiniMRYarnCluster launches RM and JHS on default ports (Robert
     Parker via jlowe)
 
+    YARN-219. NM should aggregate logs when application finishes. (bobby)
+
 Release 0.23.4 - UNRELEASED
 
   INCOMPATIBLE CHANGES

Modified: hadoop/common/branches/branch-0.23.5/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/logaggregation/AppLogAggregatorImpl.java
URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-0.23.5/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/logaggregation/AppLogAggregatorImpl.java?rev=1411301&r1=1411300&r2=1411301&view=diff
==============================================================================
--- hadoop/common/branches/branch-0.23.5/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/logaggregation/AppLogAggregatorImpl.java (original)
+++ hadoop/common/branches/branch-0.23.5/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/logaggregation/AppLogAggregatorImpl.java Mon Nov 19 16:49:27 2012
@@ -149,16 +149,13 @@ public class AppLogAggregatorImpl implem
     ContainerId containerId;
 
     while (!this.appFinishing.get()) {
-      try {
-        containerId = this.pendingContainers.poll();
-        if (containerId == null) {
-          Thread.sleep(THREAD_SLEEP_TIME);
-        } else {
-          uploadLogsForContainer(containerId);
+      synchronized(this) {
+        try {
+          wait(THREAD_SLEEP_TIME);
+        } catch (InterruptedException e) {
+          LOG.warn("PendingContainers queue is interrupted");
+          this.appFinishing.set(true);
         }
-      } catch (InterruptedException e) {
-        LOG.warn("PendingContainers queue is interrupted");
-        this.appFinishing.set(true);
       }
     }
 
@@ -251,8 +248,9 @@ public class AppLogAggregatorImpl implem
   }
 
   @Override
-  public void finishLogAggregation() {
+  public synchronized void finishLogAggregation() {
     LOG.info("Application just finished : " + this.applicationId);
     this.appFinishing.set(true);
+    this.notifyAll();
   }
 }