[2/2] git commit: YARN-90. NodeManager should identify failed disks becoming good again. Contributed by Varun Vasudev (cherry picked from commit 6f2028bd1514d90b831f889fd0ee7f2ba5c15000)

2014-10-21 Thread jlowe
YARN-90. NodeManager should identify failed disks becoming good again. 
Contributed by Varun Vasudev
(cherry picked from commit 6f2028bd1514d90b831f889fd0ee7f2ba5c15000)

Conflicts:


hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/TestDirectoryCollection.java


Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/413fe4cb
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/413fe4cb
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/413fe4cb

Branch: refs/heads/branch-2.6
Commit: 413fe4cb022179c3cec6482bb3ecc7e49116f38b
Parents: fcdeba2
Author: Jason Lowe 
Authored: Tue Oct 21 17:43:22 2014 +
Committer: Jason Lowe 
Committed: Tue Oct 21 17:43:22 2014 +

--
 hadoop-yarn-project/CHANGES.txt |   3 +
 .../server/nodemanager/DirectoryCollection.java | 219 ---
 .../nodemanager/LocalDirsHandlerService.java| 176 +++--
 .../nodemanager/NodeHealthCheckerService.java   |   4 +-
 .../launcher/ContainerLaunch.java   |   2 +-
 .../localizer/ResourceLocalizationService.java  | 270 ++---
 .../logaggregation/AppLogAggregatorImpl.java|  35 +-
 .../logaggregation/LogAggregationService.java   |  13 +-
 .../loghandler/NonAggregatingLogHandler.java|  47 ++-
 .../nodemanager/TestDirectoryCollection.java|  83 +++-
 .../TestLocalDirsHandlerService.java|  43 ++-
 .../nodemanager/TestNodeHealthService.java  |   2 +-
 .../TestResourceLocalizationService.java| 312 ++-
 .../TestLogAggregationService.java  | 147 ---
 .../TestNonAggregatingLogHandler.java   | 382 +++
 15 files changed, 1445 insertions(+), 293 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hadoop/blob/413fe4cb/hadoop-yarn-project/CHANGES.txt
--
diff --git a/hadoop-yarn-project/CHANGES.txt b/hadoop-yarn-project/CHANGES.txt
index ef1e8ad..5c1dabe 100644
--- a/hadoop-yarn-project/CHANGES.txt
+++ b/hadoop-yarn-project/CHANGES.txt
@@ -312,6 +312,9 @@ Release 2.6.0 - UNRELEASED
 YARN-2582. Fixed Log CLI and Web UI for showing aggregated logs of LRS. 
(Xuan
 Gong via zjshen)
 
+YARN-90. NodeManager should identify failed disks becoming good again
+(Varun Vasudev via jlowe)
+
   OPTIMIZATIONS
 
   BUG FIXES

http://git-wip-us.apache.org/repos/asf/hadoop/blob/413fe4cb/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/DirectoryCollection.java
--
diff --git 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/DirectoryCollection.java
 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/DirectoryCollection.java
index f6ee128..279787b 100644
--- 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/DirectoryCollection.java
+++ 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/DirectoryCollection.java
@@ -21,18 +21,23 @@ package org.apache.hadoop.yarn.server.nodemanager;
 import java.io.File;
 import java.io.FileNotFoundException;
 import java.io.IOException;
+import java.util.ArrayList;
 import java.util.Collections;
+import java.util.HashMap;
 import java.util.HashSet;
 import java.util.List;
+import java.util.Map;
+import java.util.Set;
 import java.util.concurrent.CopyOnWriteArrayList;
 
+import org.apache.commons.io.FileUtils;
+import org.apache.commons.lang.RandomStringUtils;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.hadoop.fs.FileContext;
 import org.apache.hadoop.fs.Path;
 import org.apache.hadoop.fs.permission.FsPermission;
 import org.apache.hadoop.util.DiskChecker;
-import org.apache.hadoop.util.DiskChecker.DiskErrorException;
 
 /**
  * Manages a list of local storage directories.
@@ -40,9 +45,38 @@ import org.apache.hadoop.util.DiskChecker.DiskErrorException;
 class DirectoryCollection {
   private static final Log LOG = LogFactory.getLog(DirectoryCollection.class);
 
+  public enum DiskErrorCause {
+DISK_FULL, OTHER
+  }
+
+  static class DiskErrorInformation {
+DiskErrorCause cause;
+String message;
+
+DiskErrorInformation(DiskErrorCause cause, String message) {
+  this.cause = cause;
+  this.message = message

[1/2] YARN-90. NodeManager should identify failed disks becoming good again. Contributed by Varun Vasudev (cherry picked from commit 6f2028bd1514d90b831f889fd0ee7f2ba5c15000)

2014-10-21 Thread jlowe
Repository: hadoop
Updated Branches:
  refs/heads/branch-2.6 fcdeba204 -> 413fe4cb0


http://git-wip-us.apache.org/repos/asf/hadoop/blob/413fe4cb/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/logaggregation/TestLogAggregationService.java
--
diff --git 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/logaggregation/TestLogAggregationService.java
 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/logaggregation/TestLogAggregationService.java
index ab86a18..8a5441a 100644
--- 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/logaggregation/TestLogAggregationService.java
+++ 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/logaggregation/TestLogAggregationService.java
@@ -25,6 +25,7 @@ import static org.mockito.Matchers.anyMap;
 import static org.mockito.Matchers.eq;
 import static org.mockito.Matchers.isA;
 import static org.mockito.Mockito.atLeast;
+import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.doThrow;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.never;
@@ -58,6 +59,8 @@ import org.junit.Assert;
 import org.apache.commons.lang.StringUtils;
 import org.apache.commons.logging.LogFactory;
 import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.fs.AbstractFileSystem;
+import org.apache.hadoop.fs.FileContext;
 import org.apache.hadoop.fs.FileContext;
 import org.apache.hadoop.fs.FileStatus;
 import org.apache.hadoop.fs.FileSystem;
@@ -105,6 +108,7 @@ import 
org.apache.hadoop.yarn.server.nodemanager.containermanager.TestContainerM
 import 
org.apache.hadoop.yarn.server.nodemanager.containermanager.application.Application;
 import 
org.apache.hadoop.yarn.server.nodemanager.containermanager.application.ApplicationEvent;
 import 
org.apache.hadoop.yarn.server.nodemanager.containermanager.application.ApplicationEventType;
+import 
org.apache.hadoop.yarn.server.nodemanager.containermanager.loghandler.TestNonAggregatingLogHandler;
 import 
org.apache.hadoop.yarn.server.nodemanager.containermanager.container.Container;
 import 
org.apache.hadoop.yarn.server.nodemanager.containermanager.loghandler.event.LogHandlerAppFinishedEvent;
 import 
org.apache.hadoop.yarn.server.nodemanager.containermanager.loghandler.event.LogHandlerAppStartedEvent;
@@ -136,12 +140,19 @@ public class TestLogAggregationService extends 
BaseContainerManagerTest {
 super();
 this.remoteRootLogDir.mkdir();
   }
+  
+  DrainDispatcher dispatcher;
+  EventHandler appEventHandler;
 
   @Override
+  @SuppressWarnings("unchecked")
   public void setup() throws IOException {
 super.setup();
 NodeId nodeId = NodeId.newInstance("0.0.0.0", );
 ((NMContext)context).setNodeId(nodeId);
+dispatcher = createDispatcher();
+appEventHandler = mock(EventHandler.class);
+dispatcher.register(ApplicationEventType.class, appEventHandler);
   }
 
   @Override
@@ -149,10 +160,12 @@ public class TestLogAggregationService extends 
BaseContainerManagerTest {
 super.tearDown();
 createContainerExecutor().deleteAsUser(user,
 new Path(remoteRootLogDir.getAbsolutePath()), new Path[] {});
+dispatcher.await();
+dispatcher.stop();
+dispatcher.close();
   }
 
   @Test
-  @SuppressWarnings("unchecked")
   public void testLocalFileDeletionAfterUpload() throws Exception {
 this.delSrvc = new DeletionService(createContainerExecutor());
 delSrvc = spy(delSrvc);
@@ -161,10 +174,6 @@ public class TestLogAggregationService extends 
BaseContainerManagerTest {
 this.conf.set(YarnConfiguration.NM_REMOTE_APP_LOG_DIR,
 this.remoteRootLogDir.getAbsolutePath());
 
-DrainDispatcher dispatcher = createDispatcher();
-EventHandler appEventHandler = mock(EventHandler.class);
-dispatcher.register(ApplicationEventType.class, appEventHandler);
-
 LogAggregationService logAggregationService = spy(
 new LogAggregationService(dispatcher, this.context, this.delSrvc,
   super.dirsHandler));
@@ -236,16 +245,11 @@ public class TestLogAggregationService extends 
BaseContainerManagerTest {
   }
 
   @Test
-  @SuppressWarnings("unchecked")
   public void testNoContainerOnNode() throws Exception {
 this.conf.set(YarnConfiguration.NM_LOG_DIRS, 
localLogDir.getAbsolutePath());
 this.conf.set(YarnConfiguration.NM_REMOTE_APP_LOG_DIR,
 this.remoteRootLogDir.getAbsolutePath());
 

git commit: HADOOP-9740. Fix FsShell '-text' command to be able to read Avro files stored in HDFS and other filesystems. Contributed by Allan Yan

2014-10-29 Thread jlowe
Repository: hadoop
Updated Branches:
  refs/heads/branch-2 112d69408 -> 0c15130db


HADOOP-9740. Fix FsShell '-text' command to be able to read Avro files stored 
in HDFS and other filesystems. Contributed by Allan Yan


Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/0c15130d
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/0c15130d
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/0c15130d

Branch: refs/heads/branch-2
Commit: 0c15130db2a127ffe2ddc767dc9519567ae8c756
Parents: 112d694
Author: Jason Lowe 
Authored: Wed Oct 29 20:19:33 2014 +
Committer: Jason Lowe 
Committed: Wed Oct 29 20:23:17 2014 +

--
 hadoop-common-project/hadoop-common/CHANGES.txt |   3 +
 .../org/apache/hadoop/fs/shell/Display.java |   5 +-
 .../apache/hadoop/fs/shell/TestTextCommand.java | 218 +++
 3 files changed, 225 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/hadoop/blob/0c15130d/hadoop-common-project/hadoop-common/CHANGES.txt
--
diff --git a/hadoop-common-project/hadoop-common/CHANGES.txt 
b/hadoop-common-project/hadoop-common/CHANGES.txt
index acc8d66..da197f5 100644
--- a/hadoop-common-project/hadoop-common/CHANGES.txt
+++ b/hadoop-common-project/hadoop-common/CHANGES.txt
@@ -683,6 +683,9 @@ Release 2.6.0 - UNRELEASED
 HADOOP-11068. Match hadoop.auth cookie format to jetty output.
 (Gregory Chanan via cnauroth)
 
+HADOOP-9740. Fix FsShell '-text' command to be able to read Avro
+files stored in HDFS and other filesystems. (Allan Yan via jlowe)
+
 Release 2.5.1 - 2014-09-05
 
   INCOMPATIBLE CHANGES

http://git-wip-us.apache.org/repos/asf/hadoop/blob/0c15130d/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/shell/Display.java
--
diff --git 
a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/shell/Display.java
 
b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/shell/Display.java
index 3d607e4..9289d91 100644
--- 
a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/shell/Display.java
+++ 
b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/shell/Display.java
@@ -36,8 +36,10 @@ import org.apache.avro.io.JsonEncoder;
 import org.apache.hadoop.classification.InterfaceAudience;
 import org.apache.hadoop.classification.InterfaceStability;
 import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.fs.AvroFSInput;
 import org.apache.hadoop.fs.FSDataInputStream;
 import org.apache.hadoop.fs.FileChecksum;
+import org.apache.hadoop.fs.FileContext;
 import org.apache.hadoop.fs.FileStatus;
 import org.apache.hadoop.fs.Path;
 import org.apache.hadoop.fs.PathIsDirectoryException;
@@ -270,8 +272,9 @@ class Display extends FsCommand {
   pos = 0;
   buffer = new byte[0];
   GenericDatumReader reader = new GenericDatumReader();
+  FileContext fc = FileContext.getFileContext(new Configuration());
   fileReader =
-DataFileReader.openReader(new File(status.getPath().toUri()), reader);
+DataFileReader.openReader(new AvroFSInput(fc, 
status.getPath()),reader);
   Schema schema = fileReader.getSchema();
   writer = new GenericDatumWriter(schema);
   output = new ByteArrayOutputStream();

http://git-wip-us.apache.org/repos/asf/hadoop/blob/0c15130d/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/fs/shell/TestTextCommand.java
--
diff --git 
a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/fs/shell/TestTextCommand.java
 
b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/fs/shell/TestTextCommand.java
new file mode 100644
index 000..49da6e1
--- /dev/null
+++ 
b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/fs/shell/TestTextCommand.java
@@ -0,0 +1,218 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the 

git commit: HADOOP-9740. Fix FsShell '-text' command to be able to read Avro files stored in HDFS and other filesystems. Contributed by Allan Yan (cherry picked from commit 0c15130db2a127ffe2ddc767dc9

2014-10-29 Thread jlowe
Repository: hadoop
Updated Branches:
  refs/heads/branch-2.6 5a0285fa9 -> ba86f06cf


HADOOP-9740. Fix FsShell '-text' command to be able to read Avro files stored 
in HDFS and other filesystems. Contributed by Allan Yan
(cherry picked from commit 0c15130db2a127ffe2ddc767dc9519567ae8c756)


Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/ba86f06c
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/ba86f06c
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/ba86f06c

Branch: refs/heads/branch-2.6
Commit: ba86f06cf7a7a243fac7c6ded2e3da96fac67862
Parents: 5a0285f
Author: Jason Lowe 
Authored: Wed Oct 29 20:19:33 2014 +
Committer: Jason Lowe 
Committed: Wed Oct 29 20:25:25 2014 +

--
 hadoop-common-project/hadoop-common/CHANGES.txt |   3 +
 .../org/apache/hadoop/fs/shell/Display.java |   5 +-
 .../apache/hadoop/fs/shell/TestTextCommand.java | 218 +++
 3 files changed, 225 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/hadoop/blob/ba86f06c/hadoop-common-project/hadoop-common/CHANGES.txt
--
diff --git a/hadoop-common-project/hadoop-common/CHANGES.txt 
b/hadoop-common-project/hadoop-common/CHANGES.txt
index f1941e4..a85fb0c 100644
--- a/hadoop-common-project/hadoop-common/CHANGES.txt
+++ b/hadoop-common-project/hadoop-common/CHANGES.txt
@@ -650,6 +650,9 @@ Release 2.6.0 - UNRELEASED
 HADOOP-11068. Match hadoop.auth cookie format to jetty output.
 (Gregory Chanan via cnauroth)
 
+HADOOP-9740. Fix FsShell '-text' command to be able to read Avro
+files stored in HDFS and other filesystems. (Allan Yan via jlowe)
+
 Release 2.5.1 - 2014-09-05
 
   INCOMPATIBLE CHANGES

http://git-wip-us.apache.org/repos/asf/hadoop/blob/ba86f06c/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/shell/Display.java
--
diff --git 
a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/shell/Display.java
 
b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/shell/Display.java
index 3d607e4..9289d91 100644
--- 
a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/shell/Display.java
+++ 
b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/shell/Display.java
@@ -36,8 +36,10 @@ import org.apache.avro.io.JsonEncoder;
 import org.apache.hadoop.classification.InterfaceAudience;
 import org.apache.hadoop.classification.InterfaceStability;
 import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.fs.AvroFSInput;
 import org.apache.hadoop.fs.FSDataInputStream;
 import org.apache.hadoop.fs.FileChecksum;
+import org.apache.hadoop.fs.FileContext;
 import org.apache.hadoop.fs.FileStatus;
 import org.apache.hadoop.fs.Path;
 import org.apache.hadoop.fs.PathIsDirectoryException;
@@ -270,8 +272,9 @@ class Display extends FsCommand {
   pos = 0;
   buffer = new byte[0];
   GenericDatumReader reader = new GenericDatumReader();
+  FileContext fc = FileContext.getFileContext(new Configuration());
   fileReader =
-DataFileReader.openReader(new File(status.getPath().toUri()), reader);
+DataFileReader.openReader(new AvroFSInput(fc, 
status.getPath()),reader);
   Schema schema = fileReader.getSchema();
   writer = new GenericDatumWriter(schema);
   output = new ByteArrayOutputStream();

http://git-wip-us.apache.org/repos/asf/hadoop/blob/ba86f06c/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/fs/shell/TestTextCommand.java
--
diff --git 
a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/fs/shell/TestTextCommand.java
 
b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/fs/shell/TestTextCommand.java
new file mode 100644
index 000..49da6e1
--- /dev/null
+++ 
b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/fs/shell/TestTextCommand.java
@@ -0,0 +1,218 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDIT

git commit: YARN-2755. NM fails to clean up usercache_DEL_ dirs after YARN-661. Contributed by Siqi Li

2014-10-30 Thread jlowe
Repository: hadoop
Updated Branches:
  refs/heads/trunk 179cab81e -> 73e626ad9


YARN-2755. NM fails to clean up usercache_DEL_ dirs after YARN-661. 
Contributed by Siqi Li


Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/73e626ad
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/73e626ad
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/73e626ad

Branch: refs/heads/trunk
Commit: 73e626ad91cd5c06a005068d8432fd16e06fe6a0
Parents: 179cab8
Author: Jason Lowe 
Authored: Thu Oct 30 15:10:27 2014 +
Committer: Jason Lowe 
Committed: Thu Oct 30 15:10:27 2014 +

--
 hadoop-yarn-project/CHANGES.txt |  3 +
 .../localizer/ResourceLocalizationService.java  |  2 +-
 .../nodemanager/TestNodeManagerReboot.java  | 66 +++-
 3 files changed, 54 insertions(+), 17 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hadoop/blob/73e626ad/hadoop-yarn-project/CHANGES.txt
--
diff --git a/hadoop-yarn-project/CHANGES.txt b/hadoop-yarn-project/CHANGES.txt
index f4e4afa..0e06661 100644
--- a/hadoop-yarn-project/CHANGES.txt
+++ b/hadoop-yarn-project/CHANGES.txt
@@ -801,6 +801,9 @@ Release 2.6.0 - UNRELEASED
 YARN-2769. Fixed the problem that timeline domain is not set in 
distributed shell
 AM when using shell_command on Windows. (Varun Vasudev via zjshen)
 
+YARN-2755. NM fails to clean up usercache_DEL_ dirs after
+YARN-661 (Siqi Li via jlowe)
+
 Release 2.5.1 - 2014-09-05
 
   INCOMPATIBLE CHANGES

http://git-wip-us.apache.org/repos/asf/hadoop/blob/73e626ad/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/localizer/ResourceLocalizationService.java
--
diff --git 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/localizer/ResourceLocalizationService.java
 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/localizer/ResourceLocalizationService.java
index 549d8e7..08ed3a1 100644
--- 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/localizer/ResourceLocalizationService.java
+++ 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/localizer/ResourceLocalizationService.java
@@ -1324,7 +1324,7 @@ public class ResourceLocalizationService extends 
CompositeService
 RemoteIterator userDirStatus = lfs.listStatus(userDirPath);
 FileDeletionTask dependentDeletionTask =
 del.createFileDeletionTask(null, userDirPath, new Path[] {});
-if (userDirStatus != null) {
+if (userDirStatus != null && userDirStatus.hasNext()) {
   List deletionTasks = new ArrayList();
   while (userDirStatus.hasNext()) {
 FileStatus status = userDirStatus.next();

http://git-wip-us.apache.org/repos/asf/hadoop/blob/73e626ad/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/TestNodeManagerReboot.java
--
diff --git 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/TestNodeManagerReboot.java
 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/TestNodeManagerReboot.java
index e69170e..e9aea0e 100644
--- 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/TestNodeManagerReboot.java
+++ 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/TestNodeManagerReboot.java
@@ -35,7 +35,9 @@ import java.util.Map;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.hadoop.fs.FileContext;
+import org.apache.hadoop.fs.FileStatus;
 import org.apache.hadoop.fs.Path;
+import org.apache.hadoop.fs.RemoteIterator;
 import org.apache.hadoop.fs.UnsupportedFileSystemException;
 import org.apache.hadoop.security.UserGroupInformation;
 import org.apache.hadoop.yarn.api.ContainerManagementProtocol;
@@ -190,17 +192,41 @@ public class TestNodeMa

git commit: YARN-2755. NM fails to clean up usercache_DEL_ dirs after YARN-661. Contributed by Siqi Li (cherry picked from commit 73e626ad91cd5c06a005068d8432fd16e06fe6a0)

2014-10-30 Thread jlowe
Repository: hadoop
Updated Branches:
  refs/heads/branch-2 d2ba115f0 -> 3e8544c5f


YARN-2755. NM fails to clean up usercache_DEL_ dirs after YARN-661. 
Contributed by Siqi Li
(cherry picked from commit 73e626ad91cd5c06a005068d8432fd16e06fe6a0)


Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/3e8544c5
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/3e8544c5
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/3e8544c5

Branch: refs/heads/branch-2
Commit: 3e8544c5f2d6c6bece2fb89830a75f03560d7dc2
Parents: d2ba115
Author: Jason Lowe 
Authored: Thu Oct 30 15:10:27 2014 +
Committer: Jason Lowe 
Committed: Thu Oct 30 15:11:57 2014 +

--
 hadoop-yarn-project/CHANGES.txt |  3 +
 .../localizer/ResourceLocalizationService.java  |  2 +-
 .../nodemanager/TestNodeManagerReboot.java  | 66 +++-
 3 files changed, 54 insertions(+), 17 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hadoop/blob/3e8544c5/hadoop-yarn-project/CHANGES.txt
--
diff --git a/hadoop-yarn-project/CHANGES.txt b/hadoop-yarn-project/CHANGES.txt
index da29754..ec86979 100644
--- a/hadoop-yarn-project/CHANGES.txt
+++ b/hadoop-yarn-project/CHANGES.txt
@@ -771,6 +771,9 @@ Release 2.6.0 - UNRELEASED
 YARN-2769. Fixed the problem that timeline domain is not set in 
distributed shell
 AM when using shell_command on Windows. (Varun Vasudev via zjshen)
 
+YARN-2755. NM fails to clean up usercache_DEL_ dirs after
+YARN-661 (Siqi Li via jlowe)
+
 Release 2.5.1 - 2014-09-05
 
   INCOMPATIBLE CHANGES

http://git-wip-us.apache.org/repos/asf/hadoop/blob/3e8544c5/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/localizer/ResourceLocalizationService.java
--
diff --git 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/localizer/ResourceLocalizationService.java
 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/localizer/ResourceLocalizationService.java
index 549d8e7..08ed3a1 100644
--- 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/localizer/ResourceLocalizationService.java
+++ 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/localizer/ResourceLocalizationService.java
@@ -1324,7 +1324,7 @@ public class ResourceLocalizationService extends 
CompositeService
 RemoteIterator userDirStatus = lfs.listStatus(userDirPath);
 FileDeletionTask dependentDeletionTask =
 del.createFileDeletionTask(null, userDirPath, new Path[] {});
-if (userDirStatus != null) {
+if (userDirStatus != null && userDirStatus.hasNext()) {
   List deletionTasks = new ArrayList();
   while (userDirStatus.hasNext()) {
 FileStatus status = userDirStatus.next();

http://git-wip-us.apache.org/repos/asf/hadoop/blob/3e8544c5/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/TestNodeManagerReboot.java
--
diff --git 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/TestNodeManagerReboot.java
 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/TestNodeManagerReboot.java
index e69170e..e9aea0e 100644
--- 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/TestNodeManagerReboot.java
+++ 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/TestNodeManagerReboot.java
@@ -35,7 +35,9 @@ import java.util.Map;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.hadoop.fs.FileContext;
+import org.apache.hadoop.fs.FileStatus;
 import org.apache.hadoop.fs.Path;
+import org.apache.hadoop.fs.RemoteIterator;
 import org.apache.hadoop.fs.UnsupportedFileSystemException;
 import org.apache.hadoop.security.UserGroupInformati

git commit: YARN-2755. NM fails to clean up usercache_DEL_ dirs after YARN-661. Contributed by Siqi Li (cherry picked from commit 73e626ad91cd5c06a005068d8432fd16e06fe6a0)

2014-10-30 Thread jlowe
Repository: hadoop
Updated Branches:
  refs/heads/branch-2.6 2f313cfae -> 773ba8b60


YARN-2755. NM fails to clean up usercache_DEL_ dirs after YARN-661. 
Contributed by Siqi Li
(cherry picked from commit 73e626ad91cd5c06a005068d8432fd16e06fe6a0)


Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/773ba8b6
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/773ba8b6
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/773ba8b6

Branch: refs/heads/branch-2.6
Commit: 773ba8b6063545f0f225802c363424b9066d25d6
Parents: 2f313cf
Author: Jason Lowe 
Authored: Thu Oct 30 15:10:27 2014 +
Committer: Jason Lowe 
Committed: Thu Oct 30 15:12:35 2014 +

--
 hadoop-yarn-project/CHANGES.txt |  3 +
 .../localizer/ResourceLocalizationService.java  |  2 +-
 .../nodemanager/TestNodeManagerReboot.java  | 66 +++-
 3 files changed, 54 insertions(+), 17 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hadoop/blob/773ba8b6/hadoop-yarn-project/CHANGES.txt
--
diff --git a/hadoop-yarn-project/CHANGES.txt b/hadoop-yarn-project/CHANGES.txt
index 2cc7a67..f8b9454 100644
--- a/hadoop-yarn-project/CHANGES.txt
+++ b/hadoop-yarn-project/CHANGES.txt
@@ -729,6 +729,9 @@ Release 2.6.0 - UNRELEASED
 YARN-2769. Fixed the problem that timeline domain is not set in 
distributed shell
 AM when using shell_command on Windows. (Varun Vasudev via zjshen)
 
+YARN-2755. NM fails to clean up usercache_DEL_ dirs after
+YARN-661 (Siqi Li via jlowe)
+
 Release 2.5.1 - 2014-09-05
 
   INCOMPATIBLE CHANGES

http://git-wip-us.apache.org/repos/asf/hadoop/blob/773ba8b6/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/localizer/ResourceLocalizationService.java
--
diff --git 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/localizer/ResourceLocalizationService.java
 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/localizer/ResourceLocalizationService.java
index 549d8e7..08ed3a1 100644
--- 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/localizer/ResourceLocalizationService.java
+++ 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/localizer/ResourceLocalizationService.java
@@ -1324,7 +1324,7 @@ public class ResourceLocalizationService extends 
CompositeService
 RemoteIterator userDirStatus = lfs.listStatus(userDirPath);
 FileDeletionTask dependentDeletionTask =
 del.createFileDeletionTask(null, userDirPath, new Path[] {});
-if (userDirStatus != null) {
+if (userDirStatus != null && userDirStatus.hasNext()) {
   List deletionTasks = new ArrayList();
   while (userDirStatus.hasNext()) {
 FileStatus status = userDirStatus.next();

http://git-wip-us.apache.org/repos/asf/hadoop/blob/773ba8b6/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/TestNodeManagerReboot.java
--
diff --git 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/TestNodeManagerReboot.java
 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/TestNodeManagerReboot.java
index e69170e..e9aea0e 100644
--- 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/TestNodeManagerReboot.java
+++ 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/TestNodeManagerReboot.java
@@ -35,7 +35,9 @@ import java.util.Map;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.hadoop.fs.FileContext;
+import org.apache.hadoop.fs.FileStatus;
 import org.apache.hadoop.fs.Path;
+import org.apache.hadoop.fs.RemoteIterator;
 import org.apache.hadoop.fs.UnsupportedFileSystemException;
 import org.apache.hadoop.security.UserGroupInformati

git commit: YARN-2707. Potential null dereference in FSDownload. Contributed by Gera Shegalov

2014-10-31 Thread jlowe
Repository: hadoop
Updated Branches:
  refs/heads/trunk 6ce32f593 -> 7bc179f9f


YARN-2707. Potential null dereference in FSDownload. Contributed by Gera 
Shegalov


Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/7bc179f9
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/7bc179f9
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/7bc179f9

Branch: refs/heads/trunk
Commit: 7bc179f9f5e1e270fd5e6f1ad29b0f32fe371d15
Parents: 6ce32f5
Author: Jason Lowe 
Authored: Fri Oct 31 22:53:04 2014 +
Committer: Jason Lowe 
Committed: Fri Oct 31 22:53:04 2014 +

--
 hadoop-yarn-project/CHANGES.txt|  3 +++
 .../java/org/apache/hadoop/yarn/util/FSDownload.java   | 13 +
 .../org/apache/hadoop/yarn/util/TestFSDownload.java|  3 +--
 3 files changed, 9 insertions(+), 10 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hadoop/blob/7bc179f9/hadoop-yarn-project/CHANGES.txt
--
diff --git a/hadoop-yarn-project/CHANGES.txt b/hadoop-yarn-project/CHANGES.txt
index 8816b29..0aab364 100644
--- a/hadoop-yarn-project/CHANGES.txt
+++ b/hadoop-yarn-project/CHANGES.txt
@@ -826,6 +826,9 @@ Release 2.6.0 - UNRELEASED
 modified in YARN-2698 so that tests in YARN frameworks don't break. (Wangda
 Tan via vinodkv)
 
+YARN-2707. Potential null dereference in FSDownload (Gera Shegalov via
+    jlowe)
+
 Release 2.5.1 - 2014-09-05
 
   INCOMPATIBLE CHANGES

http://git-wip-us.apache.org/repos/asf/hadoop/blob/7bc179f9/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/util/FSDownload.java
--
diff --git 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/util/FSDownload.java
 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/util/FSDownload.java
index 8cc5ed3..fb37701 100644
--- 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/util/FSDownload.java
+++ 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/util/FSDownload.java
@@ -266,7 +266,7 @@ public class FSDownload implements Callable {
 return dCopy;
   }
 
-  private long unpack(File localrsrc, File dst, Pattern pattern) throws 
IOException {
+  private long unpack(File localrsrc, File dst) throws IOException {
 switch (resource.getType()) {
 case ARCHIVE: {
   String lowerDst = dst.getName().toLowerCase();
@@ -290,7 +290,9 @@ public class FSDownload implements Callable {
 case PATTERN: {
   String lowerDst = dst.getName().toLowerCase();
   if (lowerDst.endsWith(".jar")) {
-RunJar.unJar(localrsrc, dst, pattern);
+String p = resource.getPattern();
+RunJar.unJar(localrsrc, dst,
+p == null ? RunJar.MATCH_ANY : Pattern.compile(p));
 File newDst = new File(dst, dst.getName());
 if (!dst.exists() && !dst.mkdir()) {
   throw new IOException("Unable to create directory: [" + dst + "]");
@@ -356,12 +358,7 @@ public class FSDownload implements Callable {
   return files.makeQualified(copy(sCopy, dst_work));
 };
   });
-  Pattern pattern = null;
-  String p = resource.getPattern();
-  if (p != null) {
-pattern = Pattern.compile(p);
-  }
-  unpack(new File(dTmp.toUri()), new File(dFinal.toUri()), pattern);
+  unpack(new File(dTmp.toUri()), new File(dFinal.toUri()));
   changePermissions(dFinal.getFileSystem(conf), dFinal);
   files.rename(dst_work, destDirPath, Rename.OVERWRITE);
 } catch (Exception e) {

http://git-wip-us.apache.org/repos/asf/hadoop/blob/7bc179f9/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/test/java/org/apache/hadoop/yarn/util/TestFSDownload.java
--
diff --git 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/test/java/org/apache/hadoop/yarn/util/TestFSDownload.java
 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/test/java/org/apache/hadoop/yarn/util/TestFSDownload.java
index 02ba5fa..07dd630 100644
--- 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/test/java/org/apache/hadoop/yarn/util/TestFSDownload.java
+++ 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/test/java/org/apache/hadoop/yarn/util/TestFSDownload.java
@@ -500,9 +500,8 @@ public class TestFSDownload {
 pending.put(rsrc, exec.submit(fsd));
 exec.shutdown();
 while (!exec.awaitTermination(1000, TimeUnit.MILLISECONDS));
-Assert.assertTrue(pending.get(rsrc).isDone());
-
 try {
+

git commit: YARN-2707. Potential null dereference in FSDownload. Contributed by Gera Shegalov (cherry picked from commit 7bc179f9f5e1e270fd5e6f1ad29b0f32fe371d15)

2014-10-31 Thread jlowe
Repository: hadoop
Updated Branches:
  refs/heads/branch-2 6d4a04a03 -> ada40aa93


YARN-2707. Potential null dereference in FSDownload. Contributed by Gera 
Shegalov
(cherry picked from commit 7bc179f9f5e1e270fd5e6f1ad29b0f32fe371d15)


Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/ada40aa9
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/ada40aa9
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/ada40aa9

Branch: refs/heads/branch-2
Commit: ada40aa9339acf09864edb1b2669da8f3d033b5f
Parents: 6d4a04a
Author: Jason Lowe 
Authored: Fri Oct 31 22:53:04 2014 +
Committer: Jason Lowe 
Committed: Fri Oct 31 22:54:49 2014 +

--
 hadoop-yarn-project/CHANGES.txt|  3 +++
 .../java/org/apache/hadoop/yarn/util/FSDownload.java   | 13 +
 .../org/apache/hadoop/yarn/util/TestFSDownload.java|  3 +--
 3 files changed, 9 insertions(+), 10 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hadoop/blob/ada40aa9/hadoop-yarn-project/CHANGES.txt
--
diff --git a/hadoop-yarn-project/CHANGES.txt b/hadoop-yarn-project/CHANGES.txt
index bf42142..96e5b2b 100644
--- a/hadoop-yarn-project/CHANGES.txt
+++ b/hadoop-yarn-project/CHANGES.txt
@@ -796,6 +796,9 @@ Release 2.6.0 - UNRELEASED
 modified in YARN-2698 so that tests in YARN frameworks don't break. (Wangda
 Tan via vinodkv)
 
+YARN-2707. Potential null dereference in FSDownload (Gera Shegalov via
+    jlowe)
+
 Release 2.5.1 - 2014-09-05
 
   INCOMPATIBLE CHANGES

http://git-wip-us.apache.org/repos/asf/hadoop/blob/ada40aa9/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/util/FSDownload.java
--
diff --git 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/util/FSDownload.java
 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/util/FSDownload.java
index 8cc5ed3..fb37701 100644
--- 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/util/FSDownload.java
+++ 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/util/FSDownload.java
@@ -266,7 +266,7 @@ public class FSDownload implements Callable {
 return dCopy;
   }
 
-  private long unpack(File localrsrc, File dst, Pattern pattern) throws 
IOException {
+  private long unpack(File localrsrc, File dst) throws IOException {
 switch (resource.getType()) {
 case ARCHIVE: {
   String lowerDst = dst.getName().toLowerCase();
@@ -290,7 +290,9 @@ public class FSDownload implements Callable {
 case PATTERN: {
   String lowerDst = dst.getName().toLowerCase();
   if (lowerDst.endsWith(".jar")) {
-RunJar.unJar(localrsrc, dst, pattern);
+String p = resource.getPattern();
+RunJar.unJar(localrsrc, dst,
+p == null ? RunJar.MATCH_ANY : Pattern.compile(p));
 File newDst = new File(dst, dst.getName());
 if (!dst.exists() && !dst.mkdir()) {
   throw new IOException("Unable to create directory: [" + dst + "]");
@@ -356,12 +358,7 @@ public class FSDownload implements Callable {
   return files.makeQualified(copy(sCopy, dst_work));
 };
   });
-  Pattern pattern = null;
-  String p = resource.getPattern();
-  if (p != null) {
-pattern = Pattern.compile(p);
-  }
-  unpack(new File(dTmp.toUri()), new File(dFinal.toUri()), pattern);
+  unpack(new File(dTmp.toUri()), new File(dFinal.toUri()));
   changePermissions(dFinal.getFileSystem(conf), dFinal);
   files.rename(dst_work, destDirPath, Rename.OVERWRITE);
 } catch (Exception e) {

http://git-wip-us.apache.org/repos/asf/hadoop/blob/ada40aa9/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/test/java/org/apache/hadoop/yarn/util/TestFSDownload.java
--
diff --git 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/test/java/org/apache/hadoop/yarn/util/TestFSDownload.java
 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/test/java/org/apache/hadoop/yarn/util/TestFSDownload.java
index 02ba5fa..07dd630 100644
--- 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/test/java/org/apache/hadoop/yarn/util/TestFSDownload.java
+++ 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/test/java/org/apache/hadoop/yarn/util/TestFSDownload.java
@@ -500,9 +500,8 @@ public class TestFSDownload {
 pending.put(rsrc, exec.submit(fsd));
 exec.shutdown();
 while (!exec.awaitTermination(1000, TimeUnit.MILLISECO

git commit: YARN-2707. Potential null dereference in FSDownload. Contributed by Gera Shegalov (cherry picked from commit 7bc179f9f5e1e270fd5e6f1ad29b0f32fe371d15)

2014-10-31 Thread jlowe
Repository: hadoop
Updated Branches:
  refs/heads/branch-2.6 f71d940e4 -> 239c4cc57


YARN-2707. Potential null dereference in FSDownload. Contributed by Gera 
Shegalov
(cherry picked from commit 7bc179f9f5e1e270fd5e6f1ad29b0f32fe371d15)


Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/239c4cc5
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/239c4cc5
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/239c4cc5

Branch: refs/heads/branch-2.6
Commit: 239c4cc57286656d28114f320cf4bc172fcef178
Parents: f71d940
Author: Jason Lowe 
Authored: Fri Oct 31 22:53:04 2014 +
Committer: Jason Lowe 
Committed: Fri Oct 31 22:55:06 2014 +

--
 hadoop-yarn-project/CHANGES.txt|  3 +++
 .../java/org/apache/hadoop/yarn/util/FSDownload.java   | 13 +
 .../org/apache/hadoop/yarn/util/TestFSDownload.java|  3 +--
 3 files changed, 9 insertions(+), 10 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hadoop/blob/239c4cc5/hadoop-yarn-project/CHANGES.txt
--
diff --git a/hadoop-yarn-project/CHANGES.txt b/hadoop-yarn-project/CHANGES.txt
index b8e5fe5..1087545 100644
--- a/hadoop-yarn-project/CHANGES.txt
+++ b/hadoop-yarn-project/CHANGES.txt
@@ -751,6 +751,9 @@ Release 2.6.0 - UNRELEASED
 modified in YARN-2698 so that tests in YARN frameworks don't break. (Wangda
 Tan via vinodkv)
 
+YARN-2707. Potential null dereference in FSDownload (Gera Shegalov via
+    jlowe)
+
 Release 2.5.1 - 2014-09-05
 
   INCOMPATIBLE CHANGES

http://git-wip-us.apache.org/repos/asf/hadoop/blob/239c4cc5/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/util/FSDownload.java
--
diff --git 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/util/FSDownload.java
 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/util/FSDownload.java
index 8cc5ed3..fb37701 100644
--- 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/util/FSDownload.java
+++ 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/util/FSDownload.java
@@ -266,7 +266,7 @@ public class FSDownload implements Callable {
 return dCopy;
   }
 
-  private long unpack(File localrsrc, File dst, Pattern pattern) throws 
IOException {
+  private long unpack(File localrsrc, File dst) throws IOException {
 switch (resource.getType()) {
 case ARCHIVE: {
   String lowerDst = dst.getName().toLowerCase();
@@ -290,7 +290,9 @@ public class FSDownload implements Callable {
 case PATTERN: {
   String lowerDst = dst.getName().toLowerCase();
   if (lowerDst.endsWith(".jar")) {
-RunJar.unJar(localrsrc, dst, pattern);
+String p = resource.getPattern();
+RunJar.unJar(localrsrc, dst,
+p == null ? RunJar.MATCH_ANY : Pattern.compile(p));
 File newDst = new File(dst, dst.getName());
 if (!dst.exists() && !dst.mkdir()) {
   throw new IOException("Unable to create directory: [" + dst + "]");
@@ -356,12 +358,7 @@ public class FSDownload implements Callable {
   return files.makeQualified(copy(sCopy, dst_work));
 };
   });
-  Pattern pattern = null;
-  String p = resource.getPattern();
-  if (p != null) {
-pattern = Pattern.compile(p);
-  }
-  unpack(new File(dTmp.toUri()), new File(dFinal.toUri()), pattern);
+  unpack(new File(dTmp.toUri()), new File(dFinal.toUri()));
   changePermissions(dFinal.getFileSystem(conf), dFinal);
   files.rename(dst_work, destDirPath, Rename.OVERWRITE);
 } catch (Exception e) {

http://git-wip-us.apache.org/repos/asf/hadoop/blob/239c4cc5/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/test/java/org/apache/hadoop/yarn/util/TestFSDownload.java
--
diff --git 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/test/java/org/apache/hadoop/yarn/util/TestFSDownload.java
 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/test/java/org/apache/hadoop/yarn/util/TestFSDownload.java
index 02ba5fa..07dd630 100644
--- 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/test/java/org/apache/hadoop/yarn/util/TestFSDownload.java
+++ 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/test/java/org/apache/hadoop/yarn/util/TestFSDownload.java
@@ -500,9 +500,8 @@ public class TestFSDownload {
 pending.put(rsrc, exec.submit(fsd));
 exec.shutdown();
 while (!exec.awaitTermination(1000, TimeUnit.MILL

git commit: YARN-2730. DefaultContainerExecutor runs only one localizer at a time. Contributed by Siqi Li

2014-11-03 Thread jlowe
Repository: hadoop
Updated Branches:
  refs/heads/trunk 67f13b58e -> 6157ace54


YARN-2730. DefaultContainerExecutor runs only one localizer at a time. 
Contributed by Siqi Li


Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/6157ace5
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/6157ace5
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/6157ace5

Branch: refs/heads/trunk
Commit: 6157ace5475fff8d2513fd3cd99134b532b0b406
Parents: 67f13b5
Author: Jason Lowe 
Authored: Mon Nov 3 20:37:47 2014 +
Committer: Jason Lowe 
Committed: Mon Nov 3 20:37:47 2014 +

--
 hadoop-yarn-project/CHANGES.txt  |  3 +++
 .../nodemanager/DefaultContainerExecutor.java| 19 ---
 2 files changed, 15 insertions(+), 7 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hadoop/blob/6157ace5/hadoop-yarn-project/CHANGES.txt
--
diff --git a/hadoop-yarn-project/CHANGES.txt b/hadoop-yarn-project/CHANGES.txt
index 6f91bd8..1bb116b 100644
--- a/hadoop-yarn-project/CHANGES.txt
+++ b/hadoop-yarn-project/CHANGES.txt
@@ -839,6 +839,9 @@ Release 2.6.0 - UNRELEASED
 YARN-2785. Fixed intermittent TestContainerResourceUsage failure. (Varun 
Vasudev
 via zjshen)
 
+YARN-2730. DefaultContainerExecutor runs only one localizer at a time
+(Siqi Li via jlowe)
+
 Release 2.5.1 - 2014-09-05
 
   INCOMPATIBLE CHANGES

http://git-wip-us.apache.org/repos/asf/hadoop/blob/6157ace5/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/DefaultContainerExecutor.java
--
diff --git 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/DefaultContainerExecutor.java
 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/DefaultContainerExecutor.java
index 834b138..cc2de99 100644
--- 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/DefaultContainerExecutor.java
+++ 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/DefaultContainerExecutor.java
@@ -94,7 +94,7 @@ public class DefaultContainerExecutor extends 
ContainerExecutor {
   }
 
   @Override
-  public synchronized void startLocalizer(Path nmPrivateContainerTokensPath,
+  public void startLocalizer(Path nmPrivateContainerTokensPath,
   InetSocketAddress nmAddr, String user, String appId, String locId,
   LocalDirsHandlerService dirsHandler)
   throws IOException, InterruptedException {
@@ -102,10 +102,6 @@ public class DefaultContainerExecutor extends 
ContainerExecutor {
 List localDirs = dirsHandler.getLocalDirs();
 List logDirs = dirsHandler.getLogDirs();
 
-ContainerLocalizer localizer =
-new ContainerLocalizer(lfs, user, appId, locId, getPaths(localDirs),
-RecordFactoryProvider.getRecordFactory(getConf()));
-
 createUserLocalDirs(localDirs, user);
 createUserCacheDirs(localDirs, user);
 createAppDirs(localDirs, user, appId);
@@ -118,8 +114,17 @@ public class DefaultContainerExecutor extends 
ContainerExecutor {
 Path tokenDst = new Path(appStorageDir, tokenFn);
 copyFile(nmPrivateContainerTokensPath, tokenDst, user);
 LOG.info("Copying from " + nmPrivateContainerTokensPath + " to " + 
tokenDst);
-lfs.setWorkingDirectory(appStorageDir);
-LOG.info("CWD set to " + appStorageDir + " = " + 
lfs.getWorkingDirectory());
+
+
+FileContext localizerFc = FileContext.getFileContext(
+lfs.getDefaultFileSystem(), getConf());
+localizerFc.setUMask(lfs.getUMask());
+localizerFc.setWorkingDirectory(appStorageDir);
+LOG.info("Localizer CWD set to " + appStorageDir + " = " 
++ localizerFc.getWorkingDirectory());
+ContainerLocalizer localizer =
+new ContainerLocalizer(localizerFc, user, appId, locId, 
+getPaths(localDirs), 
RecordFactoryProvider.getRecordFactory(getConf()));
 // TODO: DO it over RPC for maintaining similarity?
 localizer.runLocalization(nmAddr);
   }



git commit: YARN-2730. DefaultContainerExecutor runs only one localizer at a time. Contributed by Siqi Li (cherry picked from commit 6157ace5475fff8d2513fd3cd99134b532b0b406)

2014-11-03 Thread jlowe
Repository: hadoop
Updated Branches:
  refs/heads/branch-2 c8648bd27 -> 8091ea54d


YARN-2730. DefaultContainerExecutor runs only one localizer at a time. 
Contributed by Siqi Li
(cherry picked from commit 6157ace5475fff8d2513fd3cd99134b532b0b406)


Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/8091ea54
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/8091ea54
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/8091ea54

Branch: refs/heads/branch-2
Commit: 8091ea54d5e5c47da95ac1b1d921134399a5f066
Parents: c8648bd
Author: Jason Lowe 
Authored: Mon Nov 3 20:37:47 2014 +
Committer: Jason Lowe 
Committed: Mon Nov 3 20:39:14 2014 +

--
 hadoop-yarn-project/CHANGES.txt  |  3 +++
 .../nodemanager/DefaultContainerExecutor.java| 19 ---
 2 files changed, 15 insertions(+), 7 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hadoop/blob/8091ea54/hadoop-yarn-project/CHANGES.txt
--
diff --git a/hadoop-yarn-project/CHANGES.txt b/hadoop-yarn-project/CHANGES.txt
index 9ae57e4..56359e5 100644
--- a/hadoop-yarn-project/CHANGES.txt
+++ b/hadoop-yarn-project/CHANGES.txt
@@ -809,6 +809,9 @@ Release 2.6.0 - UNRELEASED
 YARN-2785. Fixed intermittent TestContainerResourceUsage failure. (Varun 
Vasudev
 via zjshen)
 
+YARN-2730. DefaultContainerExecutor runs only one localizer at a time
+(Siqi Li via jlowe)
+
 Release 2.5.1 - 2014-09-05
 
   INCOMPATIBLE CHANGES

http://git-wip-us.apache.org/repos/asf/hadoop/blob/8091ea54/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/DefaultContainerExecutor.java
--
diff --git 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/DefaultContainerExecutor.java
 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/DefaultContainerExecutor.java
index 834b138..cc2de99 100644
--- 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/DefaultContainerExecutor.java
+++ 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/DefaultContainerExecutor.java
@@ -94,7 +94,7 @@ public class DefaultContainerExecutor extends 
ContainerExecutor {
   }
 
   @Override
-  public synchronized void startLocalizer(Path nmPrivateContainerTokensPath,
+  public void startLocalizer(Path nmPrivateContainerTokensPath,
   InetSocketAddress nmAddr, String user, String appId, String locId,
   LocalDirsHandlerService dirsHandler)
   throws IOException, InterruptedException {
@@ -102,10 +102,6 @@ public class DefaultContainerExecutor extends 
ContainerExecutor {
 List localDirs = dirsHandler.getLocalDirs();
 List logDirs = dirsHandler.getLogDirs();
 
-ContainerLocalizer localizer =
-new ContainerLocalizer(lfs, user, appId, locId, getPaths(localDirs),
-RecordFactoryProvider.getRecordFactory(getConf()));
-
 createUserLocalDirs(localDirs, user);
 createUserCacheDirs(localDirs, user);
 createAppDirs(localDirs, user, appId);
@@ -118,8 +114,17 @@ public class DefaultContainerExecutor extends 
ContainerExecutor {
 Path tokenDst = new Path(appStorageDir, tokenFn);
 copyFile(nmPrivateContainerTokensPath, tokenDst, user);
 LOG.info("Copying from " + nmPrivateContainerTokensPath + " to " + 
tokenDst);
-lfs.setWorkingDirectory(appStorageDir);
-LOG.info("CWD set to " + appStorageDir + " = " + 
lfs.getWorkingDirectory());
+
+
+FileContext localizerFc = FileContext.getFileContext(
+lfs.getDefaultFileSystem(), getConf());
+localizerFc.setUMask(lfs.getUMask());
+localizerFc.setWorkingDirectory(appStorageDir);
+LOG.info("Localizer CWD set to " + appStorageDir + " = " 
++ localizerFc.getWorkingDirectory());
+ContainerLocalizer localizer =
+new ContainerLocalizer(localizerFc, user, appId, locId, 
+getPaths(localDirs), 
RecordFactoryProvider.getRecordFactory(getConf()));
 // TODO: DO it over RPC for maintaining similarity?
 localizer.runLocalization(nmAddr);
   }



git commit: YARN-2730. DefaultContainerExecutor runs only one localizer at a time. Contributed by Siqi Li (cherry picked from commit 6157ace5475fff8d2513fd3cd99134b532b0b406)

2014-11-03 Thread jlowe
Repository: hadoop
Updated Branches:
  refs/heads/branch-2.6 3e4182863 -> 2098c68ac


YARN-2730. DefaultContainerExecutor runs only one localizer at a time. 
Contributed by Siqi Li
(cherry picked from commit 6157ace5475fff8d2513fd3cd99134b532b0b406)


Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/2098c68a
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/2098c68a
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/2098c68a

Branch: refs/heads/branch-2.6
Commit: 2098c68acbcdf8cc412e0c2d43eddbfc1dfe3e79
Parents: 3e41828
Author: Jason Lowe 
Authored: Mon Nov 3 20:37:47 2014 +
Committer: Jason Lowe 
Committed: Mon Nov 3 20:40:02 2014 +

--
 hadoop-yarn-project/CHANGES.txt  |  3 +++
 .../nodemanager/DefaultContainerExecutor.java| 19 ---
 2 files changed, 15 insertions(+), 7 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hadoop/blob/2098c68a/hadoop-yarn-project/CHANGES.txt
--
diff --git a/hadoop-yarn-project/CHANGES.txt b/hadoop-yarn-project/CHANGES.txt
index b84fc1e..cba4b34 100644
--- a/hadoop-yarn-project/CHANGES.txt
+++ b/hadoop-yarn-project/CHANGES.txt
@@ -764,6 +764,9 @@ Release 2.6.0 - UNRELEASED
 YARN-2785. Fixed intermittent TestContainerResourceUsage failure. (Varun 
Vasudev
 via zjshen)
 
+YARN-2730. DefaultContainerExecutor runs only one localizer at a time
+(Siqi Li via jlowe)
+
 Release 2.5.1 - 2014-09-05
 
   INCOMPATIBLE CHANGES

http://git-wip-us.apache.org/repos/asf/hadoop/blob/2098c68a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/DefaultContainerExecutor.java
--
diff --git 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/DefaultContainerExecutor.java
 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/DefaultContainerExecutor.java
index 3e212bf..5bf8cec 100644
--- 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/DefaultContainerExecutor.java
+++ 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/DefaultContainerExecutor.java
@@ -94,7 +94,7 @@ public class DefaultContainerExecutor extends 
ContainerExecutor {
   }
 
   @Override
-  public synchronized void startLocalizer(Path nmPrivateContainerTokensPath,
+  public void startLocalizer(Path nmPrivateContainerTokensPath,
   InetSocketAddress nmAddr, String user, String appId, String locId,
   LocalDirsHandlerService dirsHandler)
   throws IOException, InterruptedException {
@@ -102,10 +102,6 @@ public class DefaultContainerExecutor extends 
ContainerExecutor {
 List localDirs = dirsHandler.getLocalDirs();
 List logDirs = dirsHandler.getLogDirs();
 
-ContainerLocalizer localizer =
-new ContainerLocalizer(lfs, user, appId, locId, getPaths(localDirs),
-RecordFactoryProvider.getRecordFactory(getConf()));
-
 createUserLocalDirs(localDirs, user);
 createUserCacheDirs(localDirs, user);
 createAppDirs(localDirs, user, appId);
@@ -118,8 +114,17 @@ public class DefaultContainerExecutor extends 
ContainerExecutor {
 Path tokenDst = new Path(appStorageDir, tokenFn);
 copyFile(nmPrivateContainerTokensPath, tokenDst, user);
 LOG.info("Copying from " + nmPrivateContainerTokensPath + " to " + 
tokenDst);
-lfs.setWorkingDirectory(appStorageDir);
-LOG.info("CWD set to " + appStorageDir + " = " + 
lfs.getWorkingDirectory());
+
+
+FileContext localizerFc = FileContext.getFileContext(
+lfs.getDefaultFileSystem(), getConf());
+localizerFc.setUMask(lfs.getUMask());
+localizerFc.setWorkingDirectory(appStorageDir);
+LOG.info("Localizer CWD set to " + appStorageDir + " = " 
++ localizerFc.getWorkingDirectory());
+ContainerLocalizer localizer =
+new ContainerLocalizer(localizerFc, user, appId, locId, 
+getPaths(localDirs), 
RecordFactoryProvider.getRecordFactory(getConf()));
 // TODO: DO it over RPC for maintaining similarity?
 localizer.runLocalization(nmAddr);
   }



git commit: MAPREDUCE-5960. JobSubmitter's check whether job.jar is local is incorrect with no authority in job jar path. Contributed by Gera Shegalov

2014-11-06 Thread jlowe
Repository: hadoop
Updated Branches:
  refs/heads/trunk 80d7d183c -> 10f9f5101


MAPREDUCE-5960. JobSubmitter's check whether job.jar is local is incorrect with 
no authority in job jar path. Contributed by Gera Shegalov


Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/10f9f510
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/10f9f510
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/10f9f510

Branch: refs/heads/trunk
Commit: 10f9f5101c44be7c675a44ded4aad212627ecdee
Parents: 80d7d18
Author: Jason Lowe 
Authored: Thu Nov 6 15:10:40 2014 +
Committer: Jason Lowe 
Committed: Thu Nov 6 15:10:40 2014 +

--
 .../java/org/apache/hadoop/fs/FileContext.java  |  3 ++
 hadoop-mapreduce-project/CHANGES.txt|  3 ++
 .../v2/app/job/impl/TaskAttemptImpl.java|  8 ++--
 .../apache/hadoop/mapreduce/JobSubmitter.java   |  9 ++---
 .../org/apache/hadoop/mapred/YARNRunner.java|  5 ++-
 .../apache/hadoop/mapreduce/v2/TestMRJobs.java  | 41 
 .../apache/hadoop/mapreduce/v2/TestUberAM.java  | 40 +++
 7 files changed, 56 insertions(+), 53 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hadoop/blob/10f9f510/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FileContext.java
--
diff --git 
a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FileContext.java
 
b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FileContext.java
index 2323650..85f8136 100644
--- 
a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FileContext.java
+++ 
b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FileContext.java
@@ -430,6 +430,9 @@ public class FileContext {
   final Configuration aConf) throws UnsupportedFileSystemException {
 UserGroupInformation currentUser = null;
 AbstractFileSystem defaultAfs = null;
+if (defaultFsUri.getScheme() == null) {
+  return getFileContext(aConf);
+}
 try {
   currentUser = UserGroupInformation.getCurrentUser();
   defaultAfs = getAbstractFileSystem(currentUser, defaultFsUri, aConf);

http://git-wip-us.apache.org/repos/asf/hadoop/blob/10f9f510/hadoop-mapreduce-project/CHANGES.txt
--
diff --git a/hadoop-mapreduce-project/CHANGES.txt 
b/hadoop-mapreduce-project/CHANGES.txt
index bbe96c2..fd42f82 100644
--- a/hadoop-mapreduce-project/CHANGES.txt
+++ b/hadoop-mapreduce-project/CHANGES.txt
@@ -459,6 +459,9 @@ Release 2.6.0 - UNRELEASED
 MAPREDUCE-6048. Fixed TestJavaSerialization failure. (Varun Vasudev via
 jianhe)
 
+MAPREDUCE-5960. JobSubmitter's check whether job.jar is local is incorrect
+with no authority in job jar path. (Gera Shegalov via jlowe)
+
 Release 2.5.2 - UNRELEASED
 
   INCOMPATIBLE CHANGES

http://git-wip-us.apache.org/repos/asf/hadoop/blob/10f9f510/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapreduce/v2/app/job/impl/TaskAttemptImpl.java
--
diff --git 
a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapreduce/v2/app/job/impl/TaskAttemptImpl.java
 
b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapreduce/v2/app/job/impl/TaskAttemptImpl.java
index 288e18e..dfc6a3f 100644
--- 
a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapreduce/v2/app/job/impl/TaskAttemptImpl.java
+++ 
b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapreduce/v2/app/job/impl/TaskAttemptImpl.java
@@ -657,9 +657,11 @@ public abstract class TaskAttemptImpl implements
   //  Set up JobJar to be localized properly on the remote NM.
   String jobJar = conf.get(MRJobConfig.JAR);
   if (jobJar != null) {
-Path remoteJobJar = (new Path(jobJar)).makeQualified(remoteFS
-.getUri(), remoteFS.getWorkingDirectory());
-LocalResource rc = createLocalResource(remoteFS, remoteJobJar,
+final Path jobJarPath = new Path(jobJar);
+final FileSystem jobJarFs = FileSystem.get(jobJarPath.toUri(), conf);
+Path remoteJobJar = jobJarPath.makeQualified(jobJarFs.getUri(),
+jobJarFs.getWorkingDirectory());
+LocalResource rc = createLocalResource(jobJarFs, remoteJobJar,
 LocalResourceType.PATTERN, LocalResourceVisibility.APPLICATION);
 String pattern = co

git commit: MAPREDUCE-5960. JobSubmitter's check whether job.jar is local is incorrect with no authority in job jar path. Contributed by Gera Shegalov (cherry picked from commit 10f9f5101c44be7c675a44

2014-11-06 Thread jlowe
Repository: hadoop
Updated Branches:
  refs/heads/branch-2 5c8b55856 -> c0bbb7291


MAPREDUCE-5960. JobSubmitter's check whether job.jar is local is incorrect with 
no authority in job jar path. Contributed by Gera Shegalov
(cherry picked from commit 10f9f5101c44be7c675a44ded4aad212627ecdee)


Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/c0bbb729
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/c0bbb729
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/c0bbb729

Branch: refs/heads/branch-2
Commit: c0bbb72912b8e9c1de28bc82ba4b541cd0b222a8
Parents: 5c8b558
Author: Jason Lowe 
Authored: Thu Nov 6 15:10:40 2014 +
Committer: Jason Lowe 
Committed: Thu Nov 6 15:12:06 2014 +

--
 .../java/org/apache/hadoop/fs/FileContext.java  |  3 ++
 hadoop-mapreduce-project/CHANGES.txt|  3 ++
 .../v2/app/job/impl/TaskAttemptImpl.java|  8 ++--
 .../apache/hadoop/mapreduce/JobSubmitter.java   |  9 ++---
 .../org/apache/hadoop/mapred/YARNRunner.java|  5 ++-
 .../apache/hadoop/mapreduce/v2/TestMRJobs.java  | 41 
 .../apache/hadoop/mapreduce/v2/TestUberAM.java  | 40 +++
 7 files changed, 56 insertions(+), 53 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hadoop/blob/c0bbb729/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FileContext.java
--
diff --git 
a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FileContext.java
 
b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FileContext.java
index 57bd3b5..40d271d 100644
--- 
a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FileContext.java
+++ 
b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FileContext.java
@@ -440,6 +440,9 @@ public class FileContext {
   final Configuration aConf) throws UnsupportedFileSystemException {
 UserGroupInformation currentUser = null;
 AbstractFileSystem defaultAfs = null;
+if (defaultFsUri.getScheme() == null) {
+  return getFileContext(aConf);
+}
 try {
   currentUser = UserGroupInformation.getCurrentUser();
   defaultAfs = getAbstractFileSystem(currentUser, defaultFsUri, aConf);

http://git-wip-us.apache.org/repos/asf/hadoop/blob/c0bbb729/hadoop-mapreduce-project/CHANGES.txt
--
diff --git a/hadoop-mapreduce-project/CHANGES.txt 
b/hadoop-mapreduce-project/CHANGES.txt
index e51dfb3..c9f9ed2 100644
--- a/hadoop-mapreduce-project/CHANGES.txt
+++ b/hadoop-mapreduce-project/CHANGES.txt
@@ -240,6 +240,9 @@ Release 2.6.0 - UNRELEASED
 MAPREDUCE-6048. Fixed TestJavaSerialization failure. (Varun Vasudev via
 jianhe)
 
+MAPREDUCE-5960. JobSubmitter's check whether job.jar is local is incorrect
+with no authority in job jar path. (Gera Shegalov via jlowe)
+
 Release 2.5.2 - UNRELEASED
 
   INCOMPATIBLE CHANGES

http://git-wip-us.apache.org/repos/asf/hadoop/blob/c0bbb729/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapreduce/v2/app/job/impl/TaskAttemptImpl.java
--
diff --git 
a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapreduce/v2/app/job/impl/TaskAttemptImpl.java
 
b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapreduce/v2/app/job/impl/TaskAttemptImpl.java
index 58a8537..5a8a658 100644
--- 
a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapreduce/v2/app/job/impl/TaskAttemptImpl.java
+++ 
b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapreduce/v2/app/job/impl/TaskAttemptImpl.java
@@ -653,9 +653,11 @@ public abstract class TaskAttemptImpl implements
   //  Set up JobJar to be localized properly on the remote NM.
   String jobJar = conf.get(MRJobConfig.JAR);
   if (jobJar != null) {
-Path remoteJobJar = (new Path(jobJar)).makeQualified(remoteFS
-.getUri(), remoteFS.getWorkingDirectory());
-LocalResource rc = createLocalResource(remoteFS, remoteJobJar,
+final Path jobJarPath = new Path(jobJar);
+final FileSystem jobJarFs = FileSystem.get(jobJarPath.toUri(), conf);
+Path remoteJobJar = jobJarPath.makeQualified(jobJarFs.getUri(),
+jobJarFs.getWorkingDirectory());
+LocalResource rc = createLocalResource(jobJarFs, remoteJobJar,
 LocalResourc

git commit: MAPREDUCE-5960. JobSubmitter's check whether job.jar is local is incorrect with no authority in job jar path. Contributed by Gera Shegalov (cherry picked from commit 10f9f5101c44be7c675a44

2014-11-06 Thread jlowe
Repository: hadoop
Updated Branches:
  refs/heads/branch-2.6 43854764a -> 7be74ea09


MAPREDUCE-5960. JobSubmitter's check whether job.jar is local is incorrect with 
no authority in job jar path. Contributed by Gera Shegalov
(cherry picked from commit 10f9f5101c44be7c675a44ded4aad212627ecdee)


Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/7be74ea0
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/7be74ea0
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/7be74ea0

Branch: refs/heads/branch-2.6
Commit: 7be74ea09a4721b39f78df47c11b9ceca1b34d1b
Parents: 4385476
Author: Jason Lowe 
Authored: Thu Nov 6 15:10:40 2014 +
Committer: Jason Lowe 
Committed: Thu Nov 6 15:12:37 2014 +

--
 .../java/org/apache/hadoop/fs/FileContext.java  |  3 ++
 hadoop-mapreduce-project/CHANGES.txt|  3 ++
 .../v2/app/job/impl/TaskAttemptImpl.java|  8 ++--
 .../apache/hadoop/mapreduce/JobSubmitter.java   |  9 ++---
 .../org/apache/hadoop/mapred/YARNRunner.java|  5 ++-
 .../apache/hadoop/mapreduce/v2/TestMRJobs.java  | 41 
 .../apache/hadoop/mapreduce/v2/TestUberAM.java  | 40 +++
 7 files changed, 56 insertions(+), 53 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hadoop/blob/7be74ea0/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FileContext.java
--
diff --git 
a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FileContext.java
 
b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FileContext.java
index 57bd3b5..40d271d 100644
--- 
a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FileContext.java
+++ 
b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FileContext.java
@@ -440,6 +440,9 @@ public class FileContext {
   final Configuration aConf) throws UnsupportedFileSystemException {
 UserGroupInformation currentUser = null;
 AbstractFileSystem defaultAfs = null;
+if (defaultFsUri.getScheme() == null) {
+  return getFileContext(aConf);
+}
 try {
   currentUser = UserGroupInformation.getCurrentUser();
   defaultAfs = getAbstractFileSystem(currentUser, defaultFsUri, aConf);

http://git-wip-us.apache.org/repos/asf/hadoop/blob/7be74ea0/hadoop-mapreduce-project/CHANGES.txt
--
diff --git a/hadoop-mapreduce-project/CHANGES.txt 
b/hadoop-mapreduce-project/CHANGES.txt
index bc70c89..bf758c4 100644
--- a/hadoop-mapreduce-project/CHANGES.txt
+++ b/hadoop-mapreduce-project/CHANGES.txt
@@ -225,6 +225,9 @@ Release 2.6.0 - UNRELEASED
 MAPREDUCE-6048. Fixed TestJavaSerialization failure. (Varun Vasudev via
 jianhe)
 
+MAPREDUCE-5960. JobSubmitter's check whether job.jar is local is incorrect
+with no authority in job jar path. (Gera Shegalov via jlowe)
+
 Release 2.5.2 - UNRELEASED
 
   INCOMPATIBLE CHANGES

http://git-wip-us.apache.org/repos/asf/hadoop/blob/7be74ea0/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapreduce/v2/app/job/impl/TaskAttemptImpl.java
--
diff --git 
a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapreduce/v2/app/job/impl/TaskAttemptImpl.java
 
b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapreduce/v2/app/job/impl/TaskAttemptImpl.java
index 58a8537..5a8a658 100644
--- 
a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapreduce/v2/app/job/impl/TaskAttemptImpl.java
+++ 
b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapreduce/v2/app/job/impl/TaskAttemptImpl.java
@@ -653,9 +653,11 @@ public abstract class TaskAttemptImpl implements
   //  Set up JobJar to be localized properly on the remote NM.
   String jobJar = conf.get(MRJobConfig.JAR);
   if (jobJar != null) {
-Path remoteJobJar = (new Path(jobJar)).makeQualified(remoteFS
-.getUri(), remoteFS.getWorkingDirectory());
-LocalResource rc = createLocalResource(remoteFS, remoteJobJar,
+final Path jobJarPath = new Path(jobJar);
+final FileSystem jobJarFs = FileSystem.get(jobJarPath.toUri(), conf);
+Path remoteJobJar = jobJarPath.makeQualified(jobJarFs.getUri(),
+jobJarFs.getWorkingDirectory());
+LocalResource rc = createLocalResource(jobJarFs, remoteJobJar,
 LocalResourc

hadoop git commit: YARN-2825. Container leak on NM. Contributed by Jian He

2014-11-07 Thread jlowe
Repository: hadoop
Updated Branches:
  refs/heads/trunk 68db5b373 -> c3d475070


YARN-2825. Container leak on NM. Contributed by Jian He


Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/c3d47507
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/c3d47507
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/c3d47507

Branch: refs/heads/trunk
Commit: c3d475070a1ec54c4b05923f4782cef204effd2c
Parents: 68db5b3
Author: Jason Lowe 
Authored: Fri Nov 7 23:16:37 2014 +
Committer: Jason Lowe 
Committed: Fri Nov 7 23:16:37 2014 +

--
 hadoop-yarn-project/CHANGES.txt |  2 +
 .../nodemanager/NodeStatusUpdaterImpl.java  | 27 ++
 .../nodemanager/TestNodeStatusUpdater.java  | 54 ++--
 3 files changed, 71 insertions(+), 12 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hadoop/blob/c3d47507/hadoop-yarn-project/CHANGES.txt
--
diff --git a/hadoop-yarn-project/CHANGES.txt b/hadoop-yarn-project/CHANGES.txt
index 6e5f59a..e4b116d 100644
--- a/hadoop-yarn-project/CHANGES.txt
+++ b/hadoop-yarn-project/CHANGES.txt
@@ -906,6 +906,8 @@ Release 2.6.0 - UNRELEASED
 YARN-2753. Fixed a bunch of bugs in the NodeLabelsManager classes. (Zhihai 
xu
 via vinodkv)
 
+YARN-2825. Container leak on NM (Jian He via jlowe)
+
 Release 2.5.2 - UNRELEASED
 
   INCOMPATIBLE CHANGES

http://git-wip-us.apache.org/repos/asf/hadoop/blob/c3d47507/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/NodeStatusUpdaterImpl.java
--
diff --git 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/NodeStatusUpdaterImpl.java
 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/NodeStatusUpdaterImpl.java
index ebbe503..fcdd2c1 100644
--- 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/NodeStatusUpdaterImpl.java
+++ 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/NodeStatusUpdaterImpl.java
@@ -66,8 +66,8 @@ import org.apache.hadoop.yarn.server.api.records.NodeAction;
 import org.apache.hadoop.yarn.server.api.records.NodeHealthStatus;
 import org.apache.hadoop.yarn.server.api.records.NodeStatus;
 import org.apache.hadoop.yarn.server.nodemanager.NodeManager.NMContext;
-import 
org.apache.hadoop.yarn.server.nodemanager.containermanager.application.ApplicationState;
 import 
org.apache.hadoop.yarn.server.nodemanager.containermanager.ContainerManagerImpl;
+import 
org.apache.hadoop.yarn.server.nodemanager.containermanager.application.ApplicationState;
 import 
org.apache.hadoop.yarn.server.nodemanager.containermanager.container.Container;
 import org.apache.hadoop.yarn.server.nodemanager.metrics.NodeManagerMetrics;
 import org.apache.hadoop.yarn.util.YarnVersionInfo;
@@ -115,6 +115,7 @@ public class NodeStatusUpdaterImpl extends AbstractService 
implements
   private Runnable statusUpdaterRunnable;
   private Thread  statusUpdater;
   private long rmIdentifier = ResourceManagerConstants.RM_INVALID_IDENTIFIER;
+  Set pendingContainersToRemove = new HashSet();
 
   public NodeStatusUpdaterImpl(Context context, Dispatcher dispatcher,
   NodeHealthCheckerService healthChecker, NodeManagerMetrics metrics) {
@@ -446,19 +447,27 @@ public class NodeStatusUpdaterImpl extends 
AbstractService implements
 
   @VisibleForTesting
   @Private
-  public void removeCompletedContainersFromContext(
+  public void removeOrTrackCompletedContainersFromContext(
   List containerIds) throws IOException {
 Set removedContainers = new HashSet();
 
-// If the AM has pulled the completedContainer it can be removed
-for (ContainerId containerId : containerIds) {
-  context.getContainers().remove(containerId);
-  removedContainers.add(containerId);
+pendingContainersToRemove.addAll(containerIds);
+Iterator iter = pendingContainersToRemove.iterator();
+while (iter.hasNext()) {
+  ContainerId containerId = iter.next();
+  // remove the container only if the container is at DONE state
+  Container nmContainer = context.getContainers().get(containerId);
+  if (nmContainer != null && nmContainer.getContainerState().equals(
+
org.apache.hadoop.yarn.server.nodemanager.containermanager.container.ContainerState.DONE))
 {
+context.getContainers().remove(

hadoop git commit: YARN-2825. Container leak on NM. Contributed by Jian He (cherry picked from commit c3d475070a1ec54c4b05923f4782cef204effd2c)

2014-11-07 Thread jlowe
Repository: hadoop
Updated Branches:
  refs/heads/branch-2 3ef876712 -> a5764cb78


YARN-2825. Container leak on NM. Contributed by Jian He
(cherry picked from commit c3d475070a1ec54c4b05923f4782cef204effd2c)


Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/a5764cb7
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/a5764cb7
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/a5764cb7

Branch: refs/heads/branch-2
Commit: a5764cb7831d20848de444e870a6ed0fd52b3515
Parents: 3ef8767
Author: Jason Lowe 
Authored: Fri Nov 7 23:16:37 2014 +
Committer: Jason Lowe 
Committed: Fri Nov 7 23:17:34 2014 +

--
 hadoop-yarn-project/CHANGES.txt |  2 +
 .../nodemanager/NodeStatusUpdaterImpl.java  | 27 ++
 .../nodemanager/TestNodeStatusUpdater.java  | 54 ++--
 3 files changed, 71 insertions(+), 12 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hadoop/blob/a5764cb7/hadoop-yarn-project/CHANGES.txt
--
diff --git a/hadoop-yarn-project/CHANGES.txt b/hadoop-yarn-project/CHANGES.txt
index 162b2ff..530492f 100644
--- a/hadoop-yarn-project/CHANGES.txt
+++ b/hadoop-yarn-project/CHANGES.txt
@@ -879,6 +879,8 @@ Release 2.6.0 - UNRELEASED
 YARN-2753. Fixed a bunch of bugs in the NodeLabelsManager classes. (Zhihai 
xu
 via vinodkv)
 
+YARN-2825. Container leak on NM (Jian He via jlowe)
+
 Release 2.5.2 - UNRELEASED
 
   INCOMPATIBLE CHANGES

http://git-wip-us.apache.org/repos/asf/hadoop/blob/a5764cb7/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/NodeStatusUpdaterImpl.java
--
diff --git 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/NodeStatusUpdaterImpl.java
 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/NodeStatusUpdaterImpl.java
index ebbe503..fcdd2c1 100644
--- 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/NodeStatusUpdaterImpl.java
+++ 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/NodeStatusUpdaterImpl.java
@@ -66,8 +66,8 @@ import org.apache.hadoop.yarn.server.api.records.NodeAction;
 import org.apache.hadoop.yarn.server.api.records.NodeHealthStatus;
 import org.apache.hadoop.yarn.server.api.records.NodeStatus;
 import org.apache.hadoop.yarn.server.nodemanager.NodeManager.NMContext;
-import 
org.apache.hadoop.yarn.server.nodemanager.containermanager.application.ApplicationState;
 import 
org.apache.hadoop.yarn.server.nodemanager.containermanager.ContainerManagerImpl;
+import 
org.apache.hadoop.yarn.server.nodemanager.containermanager.application.ApplicationState;
 import 
org.apache.hadoop.yarn.server.nodemanager.containermanager.container.Container;
 import org.apache.hadoop.yarn.server.nodemanager.metrics.NodeManagerMetrics;
 import org.apache.hadoop.yarn.util.YarnVersionInfo;
@@ -115,6 +115,7 @@ public class NodeStatusUpdaterImpl extends AbstractService 
implements
   private Runnable statusUpdaterRunnable;
   private Thread  statusUpdater;
   private long rmIdentifier = ResourceManagerConstants.RM_INVALID_IDENTIFIER;
+  Set pendingContainersToRemove = new HashSet();
 
   public NodeStatusUpdaterImpl(Context context, Dispatcher dispatcher,
   NodeHealthCheckerService healthChecker, NodeManagerMetrics metrics) {
@@ -446,19 +447,27 @@ public class NodeStatusUpdaterImpl extends 
AbstractService implements
 
   @VisibleForTesting
   @Private
-  public void removeCompletedContainersFromContext(
+  public void removeOrTrackCompletedContainersFromContext(
   List containerIds) throws IOException {
 Set removedContainers = new HashSet();
 
-// If the AM has pulled the completedContainer it can be removed
-for (ContainerId containerId : containerIds) {
-  context.getContainers().remove(containerId);
-  removedContainers.add(containerId);
+pendingContainersToRemove.addAll(containerIds);
+Iterator iter = pendingContainersToRemove.iterator();
+while (iter.hasNext()) {
+  ContainerId containerId = iter.next();
+  // remove the container only if the container is at DONE state
+  Container nmContainer = context.getContainers().get(containerId);
+  if (nmContainer != null && nmContainer.getContainerSta

hadoop git commit: YARN-2825. Container leak on NM. Contributed by Jian He (cherry picked from commit c3d475070a1ec54c4b05923f4782cef204effd2c)

2014-11-07 Thread jlowe
Repository: hadoop
Updated Branches:
  refs/heads/branch-2.6 a07f478b4 -> e5c0fa2c9


YARN-2825. Container leak on NM. Contributed by Jian He
(cherry picked from commit c3d475070a1ec54c4b05923f4782cef204effd2c)


Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/e5c0fa2c
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/e5c0fa2c
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/e5c0fa2c

Branch: refs/heads/branch-2.6
Commit: e5c0fa2c956a2db4f93ac8ea9b592e6791665a06
Parents: a07f478
Author: Jason Lowe 
Authored: Fri Nov 7 23:16:37 2014 +
Committer: Jason Lowe 
Committed: Fri Nov 7 23:17:49 2014 +

--
 hadoop-yarn-project/CHANGES.txt |  2 +
 .../nodemanager/NodeStatusUpdaterImpl.java  | 27 ++
 .../nodemanager/TestNodeStatusUpdater.java  | 54 ++--
 3 files changed, 71 insertions(+), 12 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hadoop/blob/e5c0fa2c/hadoop-yarn-project/CHANGES.txt
--
diff --git a/hadoop-yarn-project/CHANGES.txt b/hadoop-yarn-project/CHANGES.txt
index 0577123..9e09317 100644
--- a/hadoop-yarn-project/CHANGES.txt
+++ b/hadoop-yarn-project/CHANGES.txt
@@ -834,6 +834,8 @@ Release 2.6.0 - UNRELEASED
 YARN-2753. Fixed a bunch of bugs in the NodeLabelsManager classes. (Zhihai 
xu
 via vinodkv)
 
+YARN-2825. Container leak on NM (Jian He via jlowe)
+
 Release 2.5.2 - UNRELEASED
 
   INCOMPATIBLE CHANGES

http://git-wip-us.apache.org/repos/asf/hadoop/blob/e5c0fa2c/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/NodeStatusUpdaterImpl.java
--
diff --git 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/NodeStatusUpdaterImpl.java
 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/NodeStatusUpdaterImpl.java
index ebbe503..fcdd2c1 100644
--- 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/NodeStatusUpdaterImpl.java
+++ 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/NodeStatusUpdaterImpl.java
@@ -66,8 +66,8 @@ import org.apache.hadoop.yarn.server.api.records.NodeAction;
 import org.apache.hadoop.yarn.server.api.records.NodeHealthStatus;
 import org.apache.hadoop.yarn.server.api.records.NodeStatus;
 import org.apache.hadoop.yarn.server.nodemanager.NodeManager.NMContext;
-import 
org.apache.hadoop.yarn.server.nodemanager.containermanager.application.ApplicationState;
 import 
org.apache.hadoop.yarn.server.nodemanager.containermanager.ContainerManagerImpl;
+import 
org.apache.hadoop.yarn.server.nodemanager.containermanager.application.ApplicationState;
 import 
org.apache.hadoop.yarn.server.nodemanager.containermanager.container.Container;
 import org.apache.hadoop.yarn.server.nodemanager.metrics.NodeManagerMetrics;
 import org.apache.hadoop.yarn.util.YarnVersionInfo;
@@ -115,6 +115,7 @@ public class NodeStatusUpdaterImpl extends AbstractService 
implements
   private Runnable statusUpdaterRunnable;
   private Thread  statusUpdater;
   private long rmIdentifier = ResourceManagerConstants.RM_INVALID_IDENTIFIER;
+  Set pendingContainersToRemove = new HashSet();
 
   public NodeStatusUpdaterImpl(Context context, Dispatcher dispatcher,
   NodeHealthCheckerService healthChecker, NodeManagerMetrics metrics) {
@@ -446,19 +447,27 @@ public class NodeStatusUpdaterImpl extends 
AbstractService implements
 
   @VisibleForTesting
   @Private
-  public void removeCompletedContainersFromContext(
+  public void removeOrTrackCompletedContainersFromContext(
   List containerIds) throws IOException {
 Set removedContainers = new HashSet();
 
-// If the AM has pulled the completedContainer it can be removed
-for (ContainerId containerId : containerIds) {
-  context.getContainers().remove(containerId);
-  removedContainers.add(containerId);
+pendingContainersToRemove.addAll(containerIds);
+Iterator iter = pendingContainersToRemove.iterator();
+while (iter.hasNext()) {
+  ContainerId containerId = iter.next();
+  // remove the container only if the container is at DONE state
+  Container nmContainer = context.getContainers().get(containerId);
+  if (nmContainer != null && nmContainer.getContainerSta

hadoop git commit: YARN-2632. Document NM Restart feature. Contributed by Junping Du and Vinod Kumar Vavilapalli

2014-11-07 Thread jlowe
Repository: hadoop
Updated Branches:
  refs/heads/trunk c3d475070 -> 1e215e8ba


YARN-2632. Document NM Restart feature. Contributed by Junping Du and Vinod 
Kumar Vavilapalli


Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/1e215e8b
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/1e215e8b
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/1e215e8b

Branch: refs/heads/trunk
Commit: 1e215e8ba2e801eb26f16c307daee756d6b2ca66
Parents: c3d4750
Author: Jason Lowe 
Authored: Fri Nov 7 23:40:22 2014 +
Committer: Jason Lowe 
Committed: Fri Nov 7 23:40:22 2014 +

--
 hadoop-project/src/site/site.xml|  1 +
 hadoop-yarn-project/CHANGES.txt |  3 +
 .../src/site/apt/NodeManagerRestart.apt.vm  | 86 
 3 files changed, 90 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/hadoop/blob/1e215e8b/hadoop-project/src/site/site.xml
--
diff --git a/hadoop-project/src/site/site.xml b/hadoop-project/src/site/site.xml
index e1d4c92..6a61a83 100644
--- a/hadoop-project/src/site/site.xml
+++ b/hadoop-project/src/site/site.xml
@@ -123,6 +123,7 @@
   
   
   
+  
 
 
 

http://git-wip-us.apache.org/repos/asf/hadoop/blob/1e215e8b/hadoop-yarn-project/CHANGES.txt
--
diff --git a/hadoop-yarn-project/CHANGES.txt b/hadoop-yarn-project/CHANGES.txt
index e4b116d..df7e3ea 100644
--- a/hadoop-yarn-project/CHANGES.txt
+++ b/hadoop-yarn-project/CHANGES.txt
@@ -195,6 +195,9 @@ Release 2.6.0 - UNRELEASED
 YARN-2647. Added a queue CLI for getting queue information. (Sunil Govind 
via
 vinodkv)
 
+YARN-2632. Document NM Restart feature. (Junping Du and Vinod Kumar
+Vavilapalli via jlowe)
+
   IMPROVEMENTS
 
 YARN-2197. Add a link to YARN CHANGES.txt in the left side of doc

http://git-wip-us.apache.org/repos/asf/hadoop/blob/1e215e8b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-site/src/site/apt/NodeManagerRestart.apt.vm
--
diff --git 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-site/src/site/apt/NodeManagerRestart.apt.vm
 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-site/src/site/apt/NodeManagerRestart.apt.vm
new file mode 100644
index 000..ba03f4e
--- /dev/null
+++ 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-site/src/site/apt/NodeManagerRestart.apt.vm
@@ -0,0 +1,86 @@
+~~ Licensed under the Apache License, Version 2.0 (the "License");
+~~ you may not use this file except in compliance with the License.
+~~ You may obtain a copy of the License at
+~~
+~~   http://www.apache.org/licenses/LICENSE-2.0
+~~
+~~ Unless required by applicable law or agreed to in writing, software
+~~ distributed under the License is distributed on an "AS IS" BASIS,
+~~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+~~ See the License for the specific language governing permissions and
+~~ limitations under the License. See accompanying LICENSE file.
+
+  ---
+  NodeManager Restart
+  ---
+  ---
+  ${maven.build.timestamp}
+
+NodeManager Restart
+
+* Introduction
+
+  This document gives an overview of NodeManager (NM) restart, a feature that
+  enables the NodeManager to be restarted without losing 
+  the active containers running on the node. At a high level, the NM stores 
any 
+  necessary state to a local state-store as it processes container-management
+  requests. When the NM restarts, it recovers by first loading state for
+  various subsystems and then letting those subsystems perform recovery using
+  the loaded state.
+
+* Enabling NM Restart
+
+  [[1]] To enable NM Restart functionality, set the following property in 
<> to true:
+
+*--+--+
+|| Property|| Value
|
+*--+--+
+| <<>> | |
+| | <<>>, (default value is set to false) |
+*--+--+
 
+
+  [[2]] Configure a path to the local file-system directory where the
+  NodeManager can save its run state
+
+*--+--+
+|| Property|| Description|
+*--+--+
+| <<>> | |
+| | The local filesystem directory in which the node manager will store state |
+| | when recovery is enabled.  |
+| | The def

hadoop git commit: YARN-2632. Document NM Restart feature. Contributed by Junping Du and Vinod Kumar Vavilapalli (cherry picked from commit 1e215e8ba2e801eb26f16c307daee756d6b2ca66)

2014-11-07 Thread jlowe
Repository: hadoop
Updated Branches:
  refs/heads/branch-2 a5764cb78 -> 944723552


YARN-2632. Document NM Restart feature. Contributed by Junping Du and Vinod 
Kumar Vavilapalli
(cherry picked from commit 1e215e8ba2e801eb26f16c307daee756d6b2ca66)


Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/94472355
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/94472355
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/94472355

Branch: refs/heads/branch-2
Commit: 9447235527b262605e932065a6f6ac891ec9a338
Parents: a5764cb
Author: Jason Lowe 
Authored: Fri Nov 7 23:40:22 2014 +
Committer: Jason Lowe 
Committed: Fri Nov 7 23:41:29 2014 +

--
 hadoop-project/src/site/site.xml|  1 +
 hadoop-yarn-project/CHANGES.txt |  3 +
 .../src/site/apt/NodeManagerRestart.apt.vm  | 86 
 3 files changed, 90 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/hadoop/blob/94472355/hadoop-project/src/site/site.xml
--
diff --git a/hadoop-project/src/site/site.xml b/hadoop-project/src/site/site.xml
index 2fd1532..4a2c221 100644
--- a/hadoop-project/src/site/site.xml
+++ b/hadoop-project/src/site/site.xml
@@ -124,6 +124,7 @@
   
   
   
+  
 
 
 

http://git-wip-us.apache.org/repos/asf/hadoop/blob/94472355/hadoop-yarn-project/CHANGES.txt
--
diff --git a/hadoop-yarn-project/CHANGES.txt b/hadoop-yarn-project/CHANGES.txt
index 530492f..f3c9d4e 100644
--- a/hadoop-yarn-project/CHANGES.txt
+++ b/hadoop-yarn-project/CHANGES.txt
@@ -168,6 +168,9 @@ Release 2.6.0 - UNRELEASED
 YARN-2647. Added a queue CLI for getting queue information. (Sunil Govind 
via
 vinodkv)
 
+YARN-2632. Document NM Restart feature. (Junping Du and Vinod Kumar
+Vavilapalli via jlowe)
+
   IMPROVEMENTS
 
 YARN-2242. Improve exception information on AM launch crashes. (Li Lu 

http://git-wip-us.apache.org/repos/asf/hadoop/blob/94472355/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-site/src/site/apt/NodeManagerRestart.apt.vm
--
diff --git 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-site/src/site/apt/NodeManagerRestart.apt.vm
 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-site/src/site/apt/NodeManagerRestart.apt.vm
new file mode 100644
index 000..ba03f4e
--- /dev/null
+++ 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-site/src/site/apt/NodeManagerRestart.apt.vm
@@ -0,0 +1,86 @@
+~~ Licensed under the Apache License, Version 2.0 (the "License");
+~~ you may not use this file except in compliance with the License.
+~~ You may obtain a copy of the License at
+~~
+~~   http://www.apache.org/licenses/LICENSE-2.0
+~~
+~~ Unless required by applicable law or agreed to in writing, software
+~~ distributed under the License is distributed on an "AS IS" BASIS,
+~~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+~~ See the License for the specific language governing permissions and
+~~ limitations under the License. See accompanying LICENSE file.
+
+  ---
+  NodeManager Restart
+  ---
+  ---
+  ${maven.build.timestamp}
+
+NodeManager Restart
+
+* Introduction
+
+  This document gives an overview of NodeManager (NM) restart, a feature that
+  enables the NodeManager to be restarted without losing 
+  the active containers running on the node. At a high level, the NM stores 
any 
+  necessary state to a local state-store as it processes container-management
+  requests. When the NM restarts, it recovers by first loading state for
+  various subsystems and then letting those subsystems perform recovery using
+  the loaded state.
+
+* Enabling NM Restart
+
+  [[1]] To enable NM Restart functionality, set the following property in 
<> to true:
+
+*--+--+
+|| Property|| Value
|
+*--+--+
+| <<>> | |
+| | <<>>, (default value is set to false) |
+*--+--+
 
+
+  [[2]] Configure a path to the local file-system directory where the
+  NodeManager can save its run state
+
+*--+--+
+|| Property|| Description|
+*--+--+
+| <<>> | |
+| | The local filesystem directory in which the node manager will store state |
+

hadoop git commit: YARN-2632. Document NM Restart feature. Contributed by Junping Du and Vinod Kumar Vavilapalli (cherry picked from commit 1e215e8ba2e801eb26f16c307daee756d6b2ca66)

2014-11-07 Thread jlowe
Repository: hadoop
Updated Branches:
  refs/heads/branch-2.6 e5c0fa2c9 -> dcc1ab15a


YARN-2632. Document NM Restart feature. Contributed by Junping Du and Vinod 
Kumar Vavilapalli
(cherry picked from commit 1e215e8ba2e801eb26f16c307daee756d6b2ca66)


Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/dcc1ab15
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/dcc1ab15
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/dcc1ab15

Branch: refs/heads/branch-2.6
Commit: dcc1ab15ab4276a36fdb4f5376e65880ed8349ec
Parents: e5c0fa2
Author: Jason Lowe 
Authored: Fri Nov 7 23:40:22 2014 +
Committer: Jason Lowe 
Committed: Fri Nov 7 23:42:26 2014 +

--
 hadoop-project/src/site/site.xml|  1 +
 hadoop-yarn-project/CHANGES.txt |  3 +
 .../src/site/apt/NodeManagerRestart.apt.vm  | 86 
 3 files changed, 90 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/hadoop/blob/dcc1ab15/hadoop-project/src/site/site.xml
--
diff --git a/hadoop-project/src/site/site.xml b/hadoop-project/src/site/site.xml
index 2fd1532..4a2c221 100644
--- a/hadoop-project/src/site/site.xml
+++ b/hadoop-project/src/site/site.xml
@@ -124,6 +124,7 @@
   
   
   
+  
 
 
 

http://git-wip-us.apache.org/repos/asf/hadoop/blob/dcc1ab15/hadoop-yarn-project/CHANGES.txt
--
diff --git a/hadoop-yarn-project/CHANGES.txt b/hadoop-yarn-project/CHANGES.txt
index 9e09317..12c9af9 100644
--- a/hadoop-yarn-project/CHANGES.txt
+++ b/hadoop-yarn-project/CHANGES.txt
@@ -123,6 +123,9 @@ Release 2.6.0 - UNRELEASED
 YARN-2647. Added a queue CLI for getting queue information. (Sunil Govind 
via
 vinodkv)
 
+YARN-2632. Document NM Restart feature. (Junping Du and Vinod Kumar
+Vavilapalli via jlowe)
+
   IMPROVEMENTS
 
 YARN-2242. Improve exception information on AM launch crashes. (Li Lu 

http://git-wip-us.apache.org/repos/asf/hadoop/blob/dcc1ab15/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-site/src/site/apt/NodeManagerRestart.apt.vm
--
diff --git 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-site/src/site/apt/NodeManagerRestart.apt.vm
 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-site/src/site/apt/NodeManagerRestart.apt.vm
new file mode 100644
index 000..ba03f4e
--- /dev/null
+++ 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-site/src/site/apt/NodeManagerRestart.apt.vm
@@ -0,0 +1,86 @@
+~~ Licensed under the Apache License, Version 2.0 (the "License");
+~~ you may not use this file except in compliance with the License.
+~~ You may obtain a copy of the License at
+~~
+~~   http://www.apache.org/licenses/LICENSE-2.0
+~~
+~~ Unless required by applicable law or agreed to in writing, software
+~~ distributed under the License is distributed on an "AS IS" BASIS,
+~~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+~~ See the License for the specific language governing permissions and
+~~ limitations under the License. See accompanying LICENSE file.
+
+  ---
+  NodeManager Restart
+  ---
+  ---
+  ${maven.build.timestamp}
+
+NodeManager Restart
+
+* Introduction
+
+  This document gives an overview of NodeManager (NM) restart, a feature that
+  enables the NodeManager to be restarted without losing 
+  the active containers running on the node. At a high level, the NM stores 
any 
+  necessary state to a local state-store as it processes container-management
+  requests. When the NM restarts, it recovers by first loading state for
+  various subsystems and then letting those subsystems perform recovery using
+  the loaded state.
+
+* Enabling NM Restart
+
+  [[1]] To enable NM Restart functionality, set the following property in 
<> to true:
+
+*--+--+
+|| Property|| Value
|
+*--+--+
+| <<>> | |
+| | <<>>, (default value is set to false) |
+*--+--+
 
+
+  [[2]] Configure a path to the local file-system directory where the
+  NodeManager can save its run state
+
+*--+--+
+|| Property|| Description|
+*--+--+
+| <<>> | |
+| | The local filesystem directory in which the node manager will store state 

hadoop git commit: YARN-2780. Log aggregated resource allocation in rm-appsummary.log. Contributed by Eric Payne (cherry picked from commit f8aefa5e9c8c6d2817205b5ed8d914db31f56ae7)

2014-11-12 Thread jlowe
Repository: hadoop
Updated Branches:
  refs/heads/branch-2 d863f54f5 -> 6984d899e


YARN-2780. Log aggregated resource allocation in rm-appsummary.log. Contributed 
by Eric Payne
(cherry picked from commit f8aefa5e9c8c6d2817205b5ed8d914db31f56ae7)


Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/6984d899
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/6984d899
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/6984d899

Branch: refs/heads/branch-2
Commit: 6984d899e35ecf2a32f4d50ff2aa5356b043bc02
Parents: d863f54
Author: Jason Lowe 
Authored: Wed Nov 12 17:01:15 2014 +
Committer: Jason Lowe 
Committed: Wed Nov 12 17:02:30 2014 +

--
 hadoop-yarn-project/CHANGES.txt |  3 +++
 .../yarn/server/resourcemanager/RMAppManager.java   |  9 -
 .../yarn/server/resourcemanager/TestAppManager.java | 12 +++-
 3 files changed, 22 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hadoop/blob/6984d899/hadoop-yarn-project/CHANGES.txt
--
diff --git a/hadoop-yarn-project/CHANGES.txt b/hadoop-yarn-project/CHANGES.txt
index 51413ca..f9a00fa 100644
--- a/hadoop-yarn-project/CHANGES.txt
+++ b/hadoop-yarn-project/CHANGES.txt
@@ -41,6 +41,9 @@ Release 2.7.0 - UNRELEASED
 YARN-570. Time strings are formated in different timezone. 
 (Akira Ajisaka and Peng Zhang via kasha)
 
+YARN-2780. Log aggregated resource allocation in rm-appsummary.log (Eric
+Payne via jlowe)
+
   OPTIMIZATIONS
 
   BUG FIXES

http://git-wip-us.apache.org/repos/asf/hadoop/blob/6984d899/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/RMAppManager.java
--
diff --git 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/RMAppManager.java
 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/RMAppManager.java
index 02c6d2f..ab8df62 100644
--- 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/RMAppManager.java
+++ 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/RMAppManager.java
@@ -47,6 +47,7 @@ import 
org.apache.hadoop.yarn.server.resourcemanager.rmapp.RMApp;
 import org.apache.hadoop.yarn.server.resourcemanager.rmapp.RMAppEvent;
 import org.apache.hadoop.yarn.server.resourcemanager.rmapp.RMAppEventType;
 import org.apache.hadoop.yarn.server.resourcemanager.rmapp.RMAppImpl;
+import org.apache.hadoop.yarn.server.resourcemanager.rmapp.RMAppMetrics;
 import org.apache.hadoop.yarn.server.resourcemanager.rmapp.RMAppRecoverEvent;
 import org.apache.hadoop.yarn.server.resourcemanager.rmapp.RMAppRejectedEvent;
 import org.apache.hadoop.yarn.server.resourcemanager.rmapp.RMAppState;
@@ -155,6 +156,7 @@ public class RMAppManager implements 
EventHandler,
 trackingUrl = attempt.getTrackingUrl();
 host = attempt.getHost();
   }
+  RMAppMetrics metrics = app.getRMAppMetrics();
   SummaryBuilder summary = new SummaryBuilder()
   .add("appId", app.getApplicationId())
   .add("name", app.getName())
@@ -165,7 +167,12 @@ public class RMAppManager implements 
EventHandler,
   .add("appMasterHost", host)
   .add("startTime", app.getStartTime())
   .add("finishTime", app.getFinishTime())
-  .add("finalStatus", app.getFinalApplicationStatus());
+  .add("finalStatus", app.getFinalApplicationStatus())
+  .add("memorySeconds", metrics.getMemorySeconds())
+  .add("vcoreSeconds", metrics.getVcoreSeconds())
+  .add("preemptedAMContainers", metrics.getNumAMContainersPreempted())
+  .add("preemptedNonAMContainers", 
metrics.getNumNonAMContainersPreempted())
+  .add("preemptedResources", metrics.getResourcePreempted());
   return summary;
 }
 

http://git-wip-us.apache.org/repos/asf/hadoop/blob/6984d899/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/TestAppManager.java
--
diff --git 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-ser

hadoop git commit: YARN-2780. Log aggregated resource allocation in rm-appsummary.log. Contributed by Eric Payne

2014-11-12 Thread jlowe
Repository: hadoop
Updated Branches:
  refs/heads/trunk 53f64ee51 -> f8aefa5e9


YARN-2780. Log aggregated resource allocation in rm-appsummary.log. Contributed 
by Eric Payne


Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/f8aefa5e
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/f8aefa5e
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/f8aefa5e

Branch: refs/heads/trunk
Commit: f8aefa5e9c8c6d2817205b5ed8d914db31f56ae7
Parents: 53f64ee
Author: Jason Lowe 
Authored: Wed Nov 12 17:01:15 2014 +
Committer: Jason Lowe 
Committed: Wed Nov 12 17:01:15 2014 +

--
 hadoop-yarn-project/CHANGES.txt |  3 +++
 .../yarn/server/resourcemanager/RMAppManager.java   |  9 -
 .../yarn/server/resourcemanager/TestAppManager.java | 12 +++-
 3 files changed, 22 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hadoop/blob/f8aefa5e/hadoop-yarn-project/CHANGES.txt
--
diff --git a/hadoop-yarn-project/CHANGES.txt b/hadoop-yarn-project/CHANGES.txt
index c3bdf3d..05bb8f6 100644
--- a/hadoop-yarn-project/CHANGES.txt
+++ b/hadoop-yarn-project/CHANGES.txt
@@ -68,6 +68,9 @@ Release 2.7.0 - UNRELEASED
 YARN-570. Time strings are formated in different timezone. 
 (Akira Ajisaka and Peng Zhang via kasha)
 
+YARN-2780. Log aggregated resource allocation in rm-appsummary.log (Eric
+Payne via jlowe)
+
   OPTIMIZATIONS
 
   BUG FIXES

http://git-wip-us.apache.org/repos/asf/hadoop/blob/f8aefa5e/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/RMAppManager.java
--
diff --git 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/RMAppManager.java
 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/RMAppManager.java
index 02c6d2f..ab8df62 100644
--- 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/RMAppManager.java
+++ 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/RMAppManager.java
@@ -47,6 +47,7 @@ import 
org.apache.hadoop.yarn.server.resourcemanager.rmapp.RMApp;
 import org.apache.hadoop.yarn.server.resourcemanager.rmapp.RMAppEvent;
 import org.apache.hadoop.yarn.server.resourcemanager.rmapp.RMAppEventType;
 import org.apache.hadoop.yarn.server.resourcemanager.rmapp.RMAppImpl;
+import org.apache.hadoop.yarn.server.resourcemanager.rmapp.RMAppMetrics;
 import org.apache.hadoop.yarn.server.resourcemanager.rmapp.RMAppRecoverEvent;
 import org.apache.hadoop.yarn.server.resourcemanager.rmapp.RMAppRejectedEvent;
 import org.apache.hadoop.yarn.server.resourcemanager.rmapp.RMAppState;
@@ -155,6 +156,7 @@ public class RMAppManager implements 
EventHandler,
 trackingUrl = attempt.getTrackingUrl();
 host = attempt.getHost();
   }
+  RMAppMetrics metrics = app.getRMAppMetrics();
   SummaryBuilder summary = new SummaryBuilder()
   .add("appId", app.getApplicationId())
   .add("name", app.getName())
@@ -165,7 +167,12 @@ public class RMAppManager implements 
EventHandler,
   .add("appMasterHost", host)
   .add("startTime", app.getStartTime())
   .add("finishTime", app.getFinishTime())
-  .add("finalStatus", app.getFinalApplicationStatus());
+  .add("finalStatus", app.getFinalApplicationStatus())
+  .add("memorySeconds", metrics.getMemorySeconds())
+  .add("vcoreSeconds", metrics.getVcoreSeconds())
+  .add("preemptedAMContainers", metrics.getNumAMContainersPreempted())
+  .add("preemptedNonAMContainers", 
metrics.getNumNonAMContainersPreempted())
+  .add("preemptedResources", metrics.getResourcePreempted());
   return summary;
 }
 

http://git-wip-us.apache.org/repos/asf/hadoop/blob/f8aefa5e/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/TestAppManager.java
--
diff --git 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourceman

hadoop git commit: MAPREDUCE-6156. Fetcher - connect() doesn't handle connection refused correctly. Contributed by Junping Du

2014-11-13 Thread jlowe
Repository: hadoop
Updated Branches:
  refs/heads/trunk 7dae5b5a8 -> 177e8090f


MAPREDUCE-6156. Fetcher - connect() doesn't handle connection refused 
correctly. Contributed by Junping Du


Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/177e8090
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/177e8090
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/177e8090

Branch: refs/heads/trunk
Commit: 177e8090f5809beb3ebcb656cd0affbb3f487de8
Parents: 7dae5b5
Author: Jason Lowe 
Authored: Thu Nov 13 15:42:25 2014 +
Committer: Jason Lowe 
Committed: Thu Nov 13 15:42:25 2014 +

--
 hadoop-mapreduce-project/CHANGES.txt|  3 ++
 .../hadoop/mapreduce/task/reduce/Fetcher.java   | 39 +++-
 2 files changed, 33 insertions(+), 9 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hadoop/blob/177e8090/hadoop-mapreduce-project/CHANGES.txt
--
diff --git a/hadoop-mapreduce-project/CHANGES.txt 
b/hadoop-mapreduce-project/CHANGES.txt
index 96bb690..c0105e6 100644
--- a/hadoop-mapreduce-project/CHANGES.txt
+++ b/hadoop-mapreduce-project/CHANGES.txt
@@ -465,6 +465,9 @@ Release 2.6.0 - 2014-11-15
 MAPREDUCE-5958. Wrong reduce task progress if map output is compressed
 (Emilio Coppa and jlowe via kihwal)
 
+MAPREDUCE-6156. Fetcher - connect() doesn't handle connection refused
+correctly (Junping Du via jlowe)
+
 Release 2.5.2 - 2014-11-10
 
   INCOMPATIBLE CHANGES

http://git-wip-us.apache.org/repos/asf/hadoop/blob/177e8090/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/task/reduce/Fetcher.java
--
diff --git 
a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/task/reduce/Fetcher.java
 
b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/task/reduce/Fetcher.java
index 796394f..3f40853 100644
--- 
a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/task/reduce/Fetcher.java
+++ 
b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/task/reduce/Fetcher.java
@@ -407,7 +407,7 @@ class Fetcher extends Thread {
 }
 if ((Time.monotonicNow() - startTime) >= this.fetchRetryTimeout) {
   LOG.warn("Failed to connect to host: " + url + "after " 
-  + fetchRetryTimeout + "milliseconds.");
+  + fetchRetryTimeout + " milliseconds.");
   throw e;
 }
 try {
@@ -596,7 +596,7 @@ class Fetcher extends Thread {
 } else {
   // timeout, prepare to be failed.
   LOG.warn("Timeout for copying MapOutput with retry on host " + host 
-  + "after " + fetchRetryTimeout + "milliseconds.");
+  + "after " + fetchRetryTimeout + " milliseconds.");
   
 }
   }
@@ -678,28 +678,49 @@ class Fetcher extends Thread {
 } else if (connectionTimeout > 0) {
   unit = Math.min(UNIT_CONNECT_TIMEOUT, connectionTimeout);
 }
+long startTime = Time.monotonicNow();
+long lastTime = startTime;
+int attempts = 0;
 // set the connect timeout to the unit-connect-timeout
 connection.setConnectTimeout(unit);
 while (true) {
   try {
+attempts++;
 connection.connect();
 break;
   } catch (IOException ioe) {
-// update the total remaining connect-timeout
-connectionTimeout -= unit;
-
+long currentTime = Time.monotonicNow();
+long retryTime = currentTime - startTime;
+long leftTime = connectionTimeout - retryTime;
+long timeSinceLastIteration = currentTime - lastTime;
 // throw an exception if we have waited for timeout amount of time
 // note that the updated value if timeout is used here
-if (connectionTimeout == 0) {
+if (leftTime <= 0) {
+  int retryTimeInSeconds = (int) retryTime/1000;
+  LOG.error("Connection retry failed with " + attempts + 
+  " attempts in " + retryTimeInSeconds + " seconds");
   throw ioe;
 }
-
 // reset the connect timeout for the last try
-if (connectionTimeout < unit) {
-  unit = connectionTimeout;
+if (leftTime < unit) {
+  unit = (int)leftTime;
   // reset the connect time out for the final connect
   connection

hadoop git commit: MAPREDUCE-6156. Fetcher - connect() doesn't handle connection refused correctly. Contributed by Junping Du (cherry picked from commit 177e8090f5809beb3ebcb656cd0affbb3f487de8)

2014-11-13 Thread jlowe
Repository: hadoop
Updated Branches:
  refs/heads/branch-2 9c94945fe -> e62a5f9d0


MAPREDUCE-6156. Fetcher - connect() doesn't handle connection refused 
correctly. Contributed by Junping Du
(cherry picked from commit 177e8090f5809beb3ebcb656cd0affbb3f487de8)


Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/e62a5f9d
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/e62a5f9d
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/e62a5f9d

Branch: refs/heads/branch-2
Commit: e62a5f9d0af481eb4cba55d39253f64a1abdff1b
Parents: 9c94945
Author: Jason Lowe 
Authored: Thu Nov 13 15:42:25 2014 +
Committer: Jason Lowe 
Committed: Thu Nov 13 15:43:28 2014 +

--
 hadoop-mapreduce-project/CHANGES.txt|  3 ++
 .../hadoop/mapreduce/task/reduce/Fetcher.java   | 39 +++-
 2 files changed, 33 insertions(+), 9 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hadoop/blob/e62a5f9d/hadoop-mapreduce-project/CHANGES.txt
--
diff --git a/hadoop-mapreduce-project/CHANGES.txt 
b/hadoop-mapreduce-project/CHANGES.txt
index 2caa828..e81d24f 100644
--- a/hadoop-mapreduce-project/CHANGES.txt
+++ b/hadoop-mapreduce-project/CHANGES.txt
@@ -246,6 +246,9 @@ Release 2.6.0 - 2014-11-15
 MAPREDUCE-5958. Wrong reduce task progress if map output is compressed
 (Emilio Coppa and jlowe via kihwal)
 
+MAPREDUCE-6156. Fetcher - connect() doesn't handle connection refused
+correctly (Junping Du via jlowe)
+
 Release 2.5.2 - 2014-11-10
 
   INCOMPATIBLE CHANGES

http://git-wip-us.apache.org/repos/asf/hadoop/blob/e62a5f9d/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/task/reduce/Fetcher.java
--
diff --git 
a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/task/reduce/Fetcher.java
 
b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/task/reduce/Fetcher.java
index 796394f..3f40853 100644
--- 
a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/task/reduce/Fetcher.java
+++ 
b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/task/reduce/Fetcher.java
@@ -407,7 +407,7 @@ class Fetcher extends Thread {
 }
 if ((Time.monotonicNow() - startTime) >= this.fetchRetryTimeout) {
   LOG.warn("Failed to connect to host: " + url + "after " 
-  + fetchRetryTimeout + "milliseconds.");
+  + fetchRetryTimeout + " milliseconds.");
   throw e;
 }
 try {
@@ -596,7 +596,7 @@ class Fetcher extends Thread {
 } else {
   // timeout, prepare to be failed.
   LOG.warn("Timeout for copying MapOutput with retry on host " + host 
-  + "after " + fetchRetryTimeout + "milliseconds.");
+  + "after " + fetchRetryTimeout + " milliseconds.");
   
 }
   }
@@ -678,28 +678,49 @@ class Fetcher extends Thread {
 } else if (connectionTimeout > 0) {
   unit = Math.min(UNIT_CONNECT_TIMEOUT, connectionTimeout);
 }
+long startTime = Time.monotonicNow();
+long lastTime = startTime;
+int attempts = 0;
 // set the connect timeout to the unit-connect-timeout
 connection.setConnectTimeout(unit);
 while (true) {
   try {
+attempts++;
 connection.connect();
 break;
   } catch (IOException ioe) {
-// update the total remaining connect-timeout
-connectionTimeout -= unit;
-
+long currentTime = Time.monotonicNow();
+long retryTime = currentTime - startTime;
+long leftTime = connectionTimeout - retryTime;
+long timeSinceLastIteration = currentTime - lastTime;
 // throw an exception if we have waited for timeout amount of time
 // note that the updated value if timeout is used here
-if (connectionTimeout == 0) {
+if (leftTime <= 0) {
+  int retryTimeInSeconds = (int) retryTime/1000;
+  LOG.error("Connection retry failed with " + attempts + 
+  " attempts in " + retryTimeInSeconds + " seconds");
   throw ioe;
 }
-
 // reset the connect timeout for the last try
-if (connectionTimeout < unit) {
-  unit = connectionTimeout;
+if (leftTime < unit) {
+  unit = (int)left

hadoop git commit: MAPREDUCE-6156. Fetcher - connect() doesn't handle connection refused correctly. Contributed by Junping Du (cherry picked from commit 177e8090f5809beb3ebcb656cd0affbb3f487de8)

2014-11-13 Thread jlowe
Repository: hadoop
Updated Branches:
  refs/heads/branch-2.6 59b2a74ea -> 9b383f681


MAPREDUCE-6156. Fetcher - connect() doesn't handle connection refused 
correctly. Contributed by Junping Du
(cherry picked from commit 177e8090f5809beb3ebcb656cd0affbb3f487de8)


Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/9b383f68
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/9b383f68
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/9b383f68

Branch: refs/heads/branch-2.6
Commit: 9b383f6813d2b455f1f2f3fb56373164a38acf5b
Parents: 59b2a74
Author: Jason Lowe 
Authored: Thu Nov 13 15:42:25 2014 +
Committer: Jason Lowe 
Committed: Thu Nov 13 15:44:00 2014 +

--
 hadoop-mapreduce-project/CHANGES.txt|  3 ++
 .../hadoop/mapreduce/task/reduce/Fetcher.java   | 39 +++-
 2 files changed, 33 insertions(+), 9 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hadoop/blob/9b383f68/hadoop-mapreduce-project/CHANGES.txt
--
diff --git a/hadoop-mapreduce-project/CHANGES.txt 
b/hadoop-mapreduce-project/CHANGES.txt
index a4e88fa..40d5167 100644
--- a/hadoop-mapreduce-project/CHANGES.txt
+++ b/hadoop-mapreduce-project/CHANGES.txt
@@ -231,6 +231,9 @@ Release 2.6.0 - 2014-11-15
 MAPREDUCE-5958. Wrong reduce task progress if map output is compressed
 (Emilio Coppa and jlowe via kihwal)
 
+MAPREDUCE-6156. Fetcher - connect() doesn't handle connection refused
+correctly (Junping Du via jlowe)
+
 Release 2.5.2 - 2014-11-10
 
   INCOMPATIBLE CHANGES

http://git-wip-us.apache.org/repos/asf/hadoop/blob/9b383f68/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/task/reduce/Fetcher.java
--
diff --git 
a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/task/reduce/Fetcher.java
 
b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/task/reduce/Fetcher.java
index 796394f..3f40853 100644
--- 
a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/task/reduce/Fetcher.java
+++ 
b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/task/reduce/Fetcher.java
@@ -407,7 +407,7 @@ class Fetcher extends Thread {
 }
 if ((Time.monotonicNow() - startTime) >= this.fetchRetryTimeout) {
   LOG.warn("Failed to connect to host: " + url + "after " 
-  + fetchRetryTimeout + "milliseconds.");
+  + fetchRetryTimeout + " milliseconds.");
   throw e;
 }
 try {
@@ -596,7 +596,7 @@ class Fetcher extends Thread {
 } else {
   // timeout, prepare to be failed.
   LOG.warn("Timeout for copying MapOutput with retry on host " + host 
-  + "after " + fetchRetryTimeout + "milliseconds.");
+  + "after " + fetchRetryTimeout + " milliseconds.");
   
 }
   }
@@ -678,28 +678,49 @@ class Fetcher extends Thread {
 } else if (connectionTimeout > 0) {
   unit = Math.min(UNIT_CONNECT_TIMEOUT, connectionTimeout);
 }
+long startTime = Time.monotonicNow();
+long lastTime = startTime;
+int attempts = 0;
 // set the connect timeout to the unit-connect-timeout
 connection.setConnectTimeout(unit);
 while (true) {
   try {
+attempts++;
 connection.connect();
 break;
   } catch (IOException ioe) {
-// update the total remaining connect-timeout
-connectionTimeout -= unit;
-
+long currentTime = Time.monotonicNow();
+long retryTime = currentTime - startTime;
+long leftTime = connectionTimeout - retryTime;
+long timeSinceLastIteration = currentTime - lastTime;
 // throw an exception if we have waited for timeout amount of time
 // note that the updated value if timeout is used here
-if (connectionTimeout == 0) {
+if (leftTime <= 0) {
+  int retryTimeInSeconds = (int) retryTime/1000;
+  LOG.error("Connection retry failed with " + attempts + 
+  " attempts in " + retryTimeInSeconds + " seconds");
   throw ioe;
 }
-
 // reset the connect timeout for the last try
-if (connectionTimeout < unit) {
-  unit = connectionTimeout;
+if (leftTime < unit) {
+  unit = (int)left

hadoop git commit: YARN-2846. Incorrect persist exit code for running containers in reacquireContainer() that interrupted by NodeManager restart. Contributed by Junping Du

2014-11-13 Thread jlowe
Repository: hadoop
Updated Branches:
  refs/heads/trunk 177e8090f -> 33ea5ae92


YARN-2846. Incorrect persist exit code for running containers in 
reacquireContainer() that interrupted by NodeManager restart. Contributed by 
Junping Du


Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/33ea5ae9
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/33ea5ae9
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/33ea5ae9

Branch: refs/heads/trunk
Commit: 33ea5ae92b9dd3abace104903d9a94d17dd75af5
Parents: 177e809
Author: Jason Lowe 
Authored: Thu Nov 13 16:11:04 2014 +
Committer: Jason Lowe 
Committed: Thu Nov 13 16:11:04 2014 +

--
 hadoop-yarn-project/CHANGES.txt |  4 
 .../server/nodemanager/ContainerExecutor.java   | 21 +++-
 .../nodemanager/LinuxContainerExecutor.java |  2 +-
 .../launcher/RecoveredContainerLaunch.java  | 20 ---
 4 files changed, 25 insertions(+), 22 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hadoop/blob/33ea5ae9/hadoop-yarn-project/CHANGES.txt
--
diff --git a/hadoop-yarn-project/CHANGES.txt b/hadoop-yarn-project/CHANGES.txt
index 01dc246..326d33c 100644
--- a/hadoop-yarn-project/CHANGES.txt
+++ b/hadoop-yarn-project/CHANGES.txt
@@ -955,6 +955,10 @@ Release 2.6.0 - 2014-11-15
 YARN-2794. Fixed log messages about distributing system-credentials. (Jian 
He via
 zjshen)
 
+YARN-2846. Incorrect persist exit code for running containers in
+reacquireContainer() that interrupted by NodeManager restart. (Junping Du
+via jlowe)
+
 Release 2.5.2 - 2014-11-10
 
   INCOMPATIBLE CHANGES

http://git-wip-us.apache.org/repos/asf/hadoop/blob/33ea5ae9/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/ContainerExecutor.java
--
diff --git 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/ContainerExecutor.java
 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/ContainerExecutor.java
index 8133413..327f882 100644
--- 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/ContainerExecutor.java
+++ 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/ContainerExecutor.java
@@ -159,9 +159,10 @@ public abstract class ContainerExecutor implements 
Configurable {
* @param containerId The ID of the container to reacquire
* @return The exit code of the pre-existing container
* @throws IOException
+   * @throws InterruptedException 
*/
   public int reacquireContainer(String user, ContainerId containerId)
-  throws IOException {
+  throws IOException, InterruptedException {
 Path pidPath = getPidFilePath(containerId);
 if (pidPath == null) {
   LOG.warn(containerId + " is not active, returning terminated error");
@@ -175,13 +176,8 @@ public abstract class ContainerExecutor implements 
Configurable {
 }
 
 LOG.info("Reacquiring " + containerId + " with pid " + pid);
-try {
-  while(isContainerProcessAlive(user, pid)) {
-Thread.sleep(1000);
-  }
-} catch (InterruptedException e) {
-  throw new IOException("Interrupted while waiting for process " + pid
-  + " to exit", e);
+while(isContainerProcessAlive(user, pid)) {
+  Thread.sleep(1000);
 }
 
 // wait for exit code file to appear
@@ -194,12 +190,9 @@ public abstract class ContainerExecutor implements 
Configurable {
 LOG.info(containerId + " was deactivated");
 return ExitCode.TERMINATED.getExitCode();
   }
-  try {
-Thread.sleep(sleepMsec);
-  } catch (InterruptedException e) {
-throw new IOException(
-"Interrupted while waiting for exit code from " + containerId, e);
-  }
+  
+  Thread.sleep(sleepMsec);
+  
   msecLeft -= sleepMsec;
 }
 if (msecLeft < 0) {

http://git-wip-us.apache.org/repos/asf/hadoop/blob/33ea5ae9/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/LinuxContainerExecutor.java
--
diff --git 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yar

hadoop git commit: YARN-2846. Incorrect persist exit code for running containers in reacquireContainer() that interrupted by NodeManager restart. Contributed by Junping Du (cherry picked from commit 3

2014-11-13 Thread jlowe
Repository: hadoop
Updated Branches:
  refs/heads/branch-2 ed3e5cb16 -> 6fd547da8


YARN-2846. Incorrect persist exit code for running containers in 
reacquireContainer() that interrupted by NodeManager restart. Contributed by 
Junping Du
(cherry picked from commit 33ea5ae92b9dd3abace104903d9a94d17dd75af5)


Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/6fd547da
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/6fd547da
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/6fd547da

Branch: refs/heads/branch-2
Commit: 6fd547da8feb71058f701eb94296cf6cace357b2
Parents: ed3e5cb
Author: Jason Lowe 
Authored: Thu Nov 13 16:11:04 2014 +
Committer: Jason Lowe 
Committed: Thu Nov 13 16:17:08 2014 +

--
 hadoop-yarn-project/CHANGES.txt |  4 
 .../server/nodemanager/ContainerExecutor.java   | 21 +++-
 .../nodemanager/LinuxContainerExecutor.java |  2 +-
 .../launcher/RecoveredContainerLaunch.java  | 20 ---
 4 files changed, 25 insertions(+), 22 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hadoop/blob/6fd547da/hadoop-yarn-project/CHANGES.txt
--
diff --git a/hadoop-yarn-project/CHANGES.txt b/hadoop-yarn-project/CHANGES.txt
index b080aeb..df04fcc 100644
--- a/hadoop-yarn-project/CHANGES.txt
+++ b/hadoop-yarn-project/CHANGES.txt
@@ -931,6 +931,10 @@ Release 2.6.0 - 2014-11-15
 YARN-2794. Fixed log messages about distributing system-credentials. (Jian 
He via
 zjshen)
 
+YARN-2846. Incorrect persist exit code for running containers in
+reacquireContainer() that interrupted by NodeManager restart. (Junping Du
+via jlowe)
+
 Release 2.5.2 - 2014-11-10
 
   INCOMPATIBLE CHANGES

http://git-wip-us.apache.org/repos/asf/hadoop/blob/6fd547da/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/ContainerExecutor.java
--
diff --git 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/ContainerExecutor.java
 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/ContainerExecutor.java
index 8133413..327f882 100644
--- 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/ContainerExecutor.java
+++ 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/ContainerExecutor.java
@@ -159,9 +159,10 @@ public abstract class ContainerExecutor implements 
Configurable {
* @param containerId The ID of the container to reacquire
* @return The exit code of the pre-existing container
* @throws IOException
+   * @throws InterruptedException 
*/
   public int reacquireContainer(String user, ContainerId containerId)
-  throws IOException {
+  throws IOException, InterruptedException {
 Path pidPath = getPidFilePath(containerId);
 if (pidPath == null) {
   LOG.warn(containerId + " is not active, returning terminated error");
@@ -175,13 +176,8 @@ public abstract class ContainerExecutor implements 
Configurable {
 }
 
 LOG.info("Reacquiring " + containerId + " with pid " + pid);
-try {
-  while(isContainerProcessAlive(user, pid)) {
-Thread.sleep(1000);
-  }
-} catch (InterruptedException e) {
-  throw new IOException("Interrupted while waiting for process " + pid
-  + " to exit", e);
+while(isContainerProcessAlive(user, pid)) {
+  Thread.sleep(1000);
 }
 
 // wait for exit code file to appear
@@ -194,12 +190,9 @@ public abstract class ContainerExecutor implements 
Configurable {
 LOG.info(containerId + " was deactivated");
 return ExitCode.TERMINATED.getExitCode();
   }
-  try {
-Thread.sleep(sleepMsec);
-  } catch (InterruptedException e) {
-throw new IOException(
-"Interrupted while waiting for exit code from " + containerId, e);
-  }
+  
+  Thread.sleep(sleepMsec);
+  
   msecLeft -= sleepMsec;
 }
 if (msecLeft < 0) {

http://git-wip-us.apache.org/repos/asf/hadoop/blob/6fd547da/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/LinuxContainerExecutor.java
--
diff --

hadoop git commit: YARN-2846. Incorrect persist exit code for running containers in reacquireContainer() that interrupted by NodeManager restart. Contributed by Junping Du (cherry picked from commit 3

2014-11-13 Thread jlowe
Repository: hadoop
Updated Branches:
  refs/heads/branch-2.6 9b383f681 -> 685790e02


YARN-2846. Incorrect persist exit code for running containers in 
reacquireContainer() that interrupted by NodeManager restart. Contributed by 
Junping Du
(cherry picked from commit 33ea5ae92b9dd3abace104903d9a94d17dd75af5)


Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/685790e0
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/685790e0
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/685790e0

Branch: refs/heads/branch-2.6
Commit: 685790e027ed24f2752cfa6b8db95b7516b9817c
Parents: 9b383f6
Author: Jason Lowe 
Authored: Thu Nov 13 16:11:04 2014 +
Committer: Jason Lowe 
Committed: Thu Nov 13 16:12:30 2014 +

--
 hadoop-yarn-project/CHANGES.txt |  4 
 .../server/nodemanager/ContainerExecutor.java   | 21 +++-
 .../nodemanager/LinuxContainerExecutor.java |  2 +-
 .../launcher/RecoveredContainerLaunch.java  | 20 ---
 4 files changed, 25 insertions(+), 22 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hadoop/blob/685790e0/hadoop-yarn-project/CHANGES.txt
--
diff --git a/hadoop-yarn-project/CHANGES.txt b/hadoop-yarn-project/CHANGES.txt
index c809fd0..6cdd648 100644
--- a/hadoop-yarn-project/CHANGES.txt
+++ b/hadoop-yarn-project/CHANGES.txt
@@ -868,6 +868,10 @@ Release 2.6.0 - 2014-11-15
 YARN-2794. Fixed log messages about distributing system-credentials. (Jian 
He via
 zjshen)
 
+YARN-2846. Incorrect persist exit code for running containers in
+reacquireContainer() that interrupted by NodeManager restart. (Junping Du
+via jlowe)
+
 Release 2.5.2 - 2014-11-10
 
   INCOMPATIBLE CHANGES

http://git-wip-us.apache.org/repos/asf/hadoop/blob/685790e0/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/ContainerExecutor.java
--
diff --git 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/ContainerExecutor.java
 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/ContainerExecutor.java
index 8133413..327f882 100644
--- 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/ContainerExecutor.java
+++ 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/ContainerExecutor.java
@@ -159,9 +159,10 @@ public abstract class ContainerExecutor implements 
Configurable {
* @param containerId The ID of the container to reacquire
* @return The exit code of the pre-existing container
* @throws IOException
+   * @throws InterruptedException 
*/
   public int reacquireContainer(String user, ContainerId containerId)
-  throws IOException {
+  throws IOException, InterruptedException {
 Path pidPath = getPidFilePath(containerId);
 if (pidPath == null) {
   LOG.warn(containerId + " is not active, returning terminated error");
@@ -175,13 +176,8 @@ public abstract class ContainerExecutor implements 
Configurable {
 }
 
 LOG.info("Reacquiring " + containerId + " with pid " + pid);
-try {
-  while(isContainerProcessAlive(user, pid)) {
-Thread.sleep(1000);
-  }
-} catch (InterruptedException e) {
-  throw new IOException("Interrupted while waiting for process " + pid
-  + " to exit", e);
+while(isContainerProcessAlive(user, pid)) {
+  Thread.sleep(1000);
 }
 
 // wait for exit code file to appear
@@ -194,12 +190,9 @@ public abstract class ContainerExecutor implements 
Configurable {
 LOG.info(containerId + " was deactivated");
 return ExitCode.TERMINATED.getExitCode();
   }
-  try {
-Thread.sleep(sleepMsec);
-  } catch (InterruptedException e) {
-throw new IOException(
-"Interrupted while waiting for exit code from " + containerId, e);
-  }
+  
+  Thread.sleep(sleepMsec);
+  
   msecLeft -= sleepMsec;
 }
 if (msecLeft < 0) {

http://git-wip-us.apache.org/repos/asf/hadoop/blob/685790e0/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/LinuxContainerExecutor.java
--
diff --

hadoop git commit: YARN-2857. ConcurrentModificationException in ContainerLogAppender. Contributed by Mohammad Kamrul Islam

2014-11-14 Thread jlowe
Repository: hadoop
Updated Branches:
  refs/heads/trunk 1a1dcce82 -> f2fe8a800


YARN-2857. ConcurrentModificationException in ContainerLogAppender. Contributed 
by Mohammad Kamrul Islam


Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/f2fe8a80
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/f2fe8a80
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/f2fe8a80

Branch: refs/heads/trunk
Commit: f2fe8a800e5b0f3875931adba9ae20c6a95aa4ff
Parents: 1a1dcce
Author: Jason Lowe 
Authored: Fri Nov 14 20:47:26 2014 +
Committer: Jason Lowe 
Committed: Fri Nov 14 20:47:26 2014 +

--
 hadoop-yarn-project/CHANGES.txt |  3 ++
 .../hadoop/yarn/ContainerLogAppender.java   |  7 ++-
 .../hadoop/yarn/TestContainerLogAppender.java   | 46 
 3 files changed, 55 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/hadoop/blob/f2fe8a80/hadoop-yarn-project/CHANGES.txt
--
diff --git a/hadoop-yarn-project/CHANGES.txt b/hadoop-yarn-project/CHANGES.txt
index 4373813..34568ff 100644
--- a/hadoop-yarn-project/CHANGES.txt
+++ b/hadoop-yarn-project/CHANGES.txt
@@ -87,6 +87,9 @@ Release 2.7.0 - UNRELEASED
 YARN-2856. Fixed RMAppImpl to handle ATTEMPT_KILLED event at ACCEPTED state
 on app recovery. (Rohith Sharmaks via jianhe)
 
+YARN-2857. ConcurrentModificationException in ContainerLogAppender
+(Mohammad Kamrul Islam via jlowe)
+
 Release 2.6.0 - 2014-11-18
 
   INCOMPATIBLE CHANGES

http://git-wip-us.apache.org/repos/asf/hadoop/blob/f2fe8a80/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/ContainerLogAppender.java
--
diff --git 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/ContainerLogAppender.java
 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/ContainerLogAppender.java
index 95876ef..0aba8b5 100644
--- 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/ContainerLogAppender.java
+++ 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/ContainerLogAppender.java
@@ -41,6 +41,7 @@ public class ContainerLogAppender extends FileAppender
   //so that log4j can configure it from the configuration(log4j.properties). 
   private int maxEvents;
   private Queue tail = null;
+  private boolean closing = false;
 
   @Override
   public void activateOptions() {
@@ -57,6 +58,9 @@ public class ContainerLogAppender extends FileAppender
   @Override
   public void append(LoggingEvent event) {
 synchronized (this) {
+  if (closing) { // When closing drop any new/transitive CLA appending
+return;
+  }
   if (tail == null) {
 super.append(event);
   } else {
@@ -77,8 +81,9 @@ public class ContainerLogAppender extends FileAppender
 
   @Override
   public synchronized void close() {
+closing = true;
 if (tail != null) {
-  for(LoggingEvent event: tail) {
+  for (LoggingEvent event : tail) {
 super.append(event);
   }
 }

http://git-wip-us.apache.org/repos/asf/hadoop/blob/f2fe8a80/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/test/java/org/apache/hadoop/yarn/TestContainerLogAppender.java
--
diff --git 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/test/java/org/apache/hadoop/yarn/TestContainerLogAppender.java
 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/test/java/org/apache/hadoop/yarn/TestContainerLogAppender.java
new file mode 100644
index 000..3b20d18
--- /dev/null
+++ 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/test/java/org/apache/hadoop/yarn/TestContainerLogAppender.java
@@ -0,0 +1,46 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package

hadoop git commit: YARN-2857. ConcurrentModificationException in ContainerLogAppender. Contributed by Mohammad Kamrul Islam (cherry picked from commit f2fe8a800e5b0f3875931adba9ae20c6a95aa4ff)

2014-11-14 Thread jlowe
Repository: hadoop
Updated Branches:
  refs/heads/branch-2 45692effe -> 00d135d75


YARN-2857. ConcurrentModificationException in ContainerLogAppender. Contributed 
by Mohammad Kamrul Islam
(cherry picked from commit f2fe8a800e5b0f3875931adba9ae20c6a95aa4ff)


Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/00d135d7
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/00d135d7
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/00d135d7

Branch: refs/heads/branch-2
Commit: 00d135d75a8e89fa00fc4f58217ed3b90959c697
Parents: 45692ef
Author: Jason Lowe 
Authored: Fri Nov 14 20:47:26 2014 +
Committer: Jason Lowe 
Committed: Fri Nov 14 20:48:51 2014 +

--
 hadoop-yarn-project/CHANGES.txt |  3 ++
 .../hadoop/yarn/ContainerLogAppender.java   |  7 ++-
 .../hadoop/yarn/TestContainerLogAppender.java   | 46 
 3 files changed, 55 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/hadoop/blob/00d135d7/hadoop-yarn-project/CHANGES.txt
--
diff --git a/hadoop-yarn-project/CHANGES.txt b/hadoop-yarn-project/CHANGES.txt
index cd096f2..2d83526 100644
--- a/hadoop-yarn-project/CHANGES.txt
+++ b/hadoop-yarn-project/CHANGES.txt
@@ -60,6 +60,9 @@ Release 2.7.0 - UNRELEASED
 YARN-2856. Fixed RMAppImpl to handle ATTEMPT_KILLED event at ACCEPTED state
 on app recovery. (Rohith Sharmaks via jianhe)
 
+YARN-2857. ConcurrentModificationException in ContainerLogAppender
+(Mohammad Kamrul Islam via jlowe)
+
 Release 2.6.0 - 2014-11-18
 
   INCOMPATIBLE CHANGES

http://git-wip-us.apache.org/repos/asf/hadoop/blob/00d135d7/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/ContainerLogAppender.java
--
diff --git 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/ContainerLogAppender.java
 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/ContainerLogAppender.java
index 95876ef..0aba8b5 100644
--- 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/ContainerLogAppender.java
+++ 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/ContainerLogAppender.java
@@ -41,6 +41,7 @@ public class ContainerLogAppender extends FileAppender
   //so that log4j can configure it from the configuration(log4j.properties). 
   private int maxEvents;
   private Queue tail = null;
+  private boolean closing = false;
 
   @Override
   public void activateOptions() {
@@ -57,6 +58,9 @@ public class ContainerLogAppender extends FileAppender
   @Override
   public void append(LoggingEvent event) {
 synchronized (this) {
+  if (closing) { // When closing drop any new/transitive CLA appending
+return;
+  }
   if (tail == null) {
 super.append(event);
   } else {
@@ -77,8 +81,9 @@ public class ContainerLogAppender extends FileAppender
 
   @Override
   public synchronized void close() {
+closing = true;
 if (tail != null) {
-  for(LoggingEvent event: tail) {
+  for (LoggingEvent event : tail) {
 super.append(event);
   }
 }

http://git-wip-us.apache.org/repos/asf/hadoop/blob/00d135d7/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/test/java/org/apache/hadoop/yarn/TestContainerLogAppender.java
--
diff --git 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/test/java/org/apache/hadoop/yarn/TestContainerLogAppender.java
 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/test/java/org/apache/hadoop/yarn/TestContainerLogAppender.java
new file mode 100644
index 000..3b20d18
--- /dev/null
+++ 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/test/java/org/apache/hadoop/yarn/TestContainerLogAppender.java
@@ -0,0 +1,46 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language go

hadoop git commit: MAPREDUCE-6161. mapred hsadmin command missing from trunk. Contributed by Allen Wittenauer

2014-11-14 Thread jlowe
Repository: hadoop
Updated Branches:
  refs/heads/trunk f95017b3e -> 3baaa4294


MAPREDUCE-6161. mapred hsadmin command missing from trunk. Contributed by Allen 
Wittenauer


Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/3baaa429
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/3baaa429
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/3baaa429

Branch: refs/heads/trunk
Commit: 3baaa42945fd432e10c547d3ead57e220f64cd57
Parents: f95017b
Author: Jason Lowe 
Authored: Fri Nov 14 21:10:06 2014 +
Committer: Jason Lowe 
Committed: Fri Nov 14 21:10:06 2014 +

--
 hadoop-mapreduce-project/CHANGES.txt |  3 +++
 hadoop-mapreduce-project/bin/mapred  | 10 +-
 2 files changed, 12 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/hadoop/blob/3baaa429/hadoop-mapreduce-project/CHANGES.txt
--
diff --git a/hadoop-mapreduce-project/CHANGES.txt 
b/hadoop-mapreduce-project/CHANGES.txt
index 28595ca..653ad44 100644
--- a/hadoop-mapreduce-project/CHANGES.txt
+++ b/hadoop-mapreduce-project/CHANGES.txt
@@ -160,6 +160,9 @@ Trunk (Unreleased)
 MAPREDUCE-5972. Fix typo 'programatically' in job.xml (and a few other
 places) (Akira AJISAKA via aw)
 
+MAPREDUCE-6161. mapred hsadmin command missing from trunk (Allen Wittenauer
+via jlowe)
+
   BREAKDOWN OF MAPREDUCE-2841 (NATIVE TASK) SUBTASKS
 
 MAPREDUCE-5985. native-task: Fix build on macosx. Contributed by

http://git-wip-us.apache.org/repos/asf/hadoop/blob/3baaa429/hadoop-mapreduce-project/bin/mapred
--
diff --git a/hadoop-mapreduce-project/bin/mapred 
b/hadoop-mapreduce-project/bin/mapred
index 1fa5d44..9131ba7 100755
--- a/hadoop-mapreduce-project/bin/mapred
+++ b/hadoop-mapreduce-project/bin/mapred
@@ -25,8 +25,9 @@ function hadoop_usage
   echo "  classpathprints the class path needed for running"
   echo "   mapreduce subcommands"
   echo "  distcp   copy file or directories recursively"
-  echo "  job  manipulate MapReduce jobs"
   echo "  historyserverrun job history servers as a standalone daemon"
+  echo "  hsadmin  job history server admin interface"
+  echo "  job  manipulate MapReduce jobs"
   echo "  pipesrun a Pipes job"
   echo "  queueget information regarding JobQueues"
   echo "  sampler  sampler"
@@ -98,8 +99,15 @@ case ${COMMAND} in
 fi
 HADOOP_DAEMON_ROOT_LOGGER=${HADOOP_JHS_LOGGER:-$HADOOP_DAEMON_ROOT_LOGGER}
   ;;
+  hsadmin)
+CLASS=org.apache.hadoop.mapreduce.v2.hs.client.HSAdmin
+hadoop_debug "Appending HADOOP_CLIENT_OPTS onto HADOOP_OPTS"
+HADOOP_OPTS="${HADOOP_OPTS} ${HADOOP_CLIENT_OPTS}"
+  ;;
   job)
 CLASS=org.apache.hadoop.mapred.JobClient
+hadoop_debug "Appending HADOOP_CLIENT_OPTS onto HADOOP_OPTS"
+HADOOP_OPTS="${HADOOP_OPTS} ${HADOOP_CLIENT_OPTS}"
   ;;
   pipes)
 CLASS=org.apache.hadoop.mapred.pipes.Submitter



hadoop git commit: YARN-2816. NM fail to start with NPE during container recovery. Contributed by Zhihai Xu

2014-11-14 Thread jlowe
Repository: hadoop
Updated Branches:
  refs/heads/trunk 3baaa4294 -> 49c38898b


YARN-2816. NM fail to start with NPE during container recovery. Contributed by 
Zhihai Xu


Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/49c38898
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/49c38898
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/49c38898

Branch: refs/heads/trunk
Commit: 49c38898b0be64fc686d039ed2fb2dea1378df02
Parents: 3baaa42
Author: Jason Lowe 
Authored: Fri Nov 14 21:25:59 2014 +
Committer: Jason Lowe 
Committed: Fri Nov 14 21:25:59 2014 +

--
 hadoop-yarn-project/CHANGES.txt |  3 +++
 .../recovery/NMLeveldbStateStoreService.java| 24 +++-
 .../TestNMLeveldbStateStoreService.java |  7 ++
 3 files changed, 33 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/hadoop/blob/49c38898/hadoop-yarn-project/CHANGES.txt
--
diff --git a/hadoop-yarn-project/CHANGES.txt b/hadoop-yarn-project/CHANGES.txt
index 34568ff..1f8af55 100644
--- a/hadoop-yarn-project/CHANGES.txt
+++ b/hadoop-yarn-project/CHANGES.txt
@@ -90,6 +90,9 @@ Release 2.7.0 - UNRELEASED
 YARN-2857. ConcurrentModificationException in ContainerLogAppender
 (Mohammad Kamrul Islam via jlowe)
 
+YARN-2816. NM fail to start with NPE during container recovery (Zhihai Xu
+via jlowe)
+
 Release 2.6.0 - 2014-11-18
 
   INCOMPATIBLE CHANGES

http://git-wip-us.apache.org/repos/asf/hadoop/blob/49c38898/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/recovery/NMLeveldbStateStoreService.java
--
diff --git 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/recovery/NMLeveldbStateStoreService.java
 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/recovery/NMLeveldbStateStoreService.java
index 7cf4921..9d54688 100644
--- 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/recovery/NMLeveldbStateStoreService.java
+++ 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/recovery/NMLeveldbStateStoreService.java
@@ -146,6 +146,8 @@ public class NMLeveldbStateStoreService extends 
NMStateStoreService {
   throws IOException {
 ArrayList containers =
 new ArrayList();
+ArrayList containersToRemove =
+  new ArrayList();
 LeveldbIterator iter = null;
 try {
   iter = new LeveldbIterator(db);
@@ -165,7 +167,14 @@ public class NMLeveldbStateStoreService extends 
NMStateStoreService {
 ContainerId containerId = ConverterUtils.toContainerId(
 key.substring(CONTAINERS_KEY_PREFIX.length(), idEndPos));
 String keyPrefix = key.substring(0, idEndPos+1);
-containers.add(loadContainerState(containerId, iter, keyPrefix));
+RecoveredContainerState rcs = loadContainerState(containerId,
+iter, keyPrefix);
+// Don't load container without StartContainerRequest
+if (rcs.startRequest != null) {
+  containers.add(rcs);
+} else {
+  containersToRemove.add(containerId);
+}
   }
 } catch (DBException e) {
   throw new IOException(e);
@@ -175,6 +184,19 @@ public class NMLeveldbStateStoreService extends 
NMStateStoreService {
   }
 }
 
+// remove container without StartContainerRequest
+for (ContainerId containerId : containersToRemove) {
+  LOG.warn("Remove container " + containerId +
+  " with incomplete records");
+  try {
+removeContainer(containerId);
+// TODO: kill and cleanup the leaked container
+  } catch (IOException e) {
+LOG.error("Unable to remove container " + containerId +
+" in store", e);
+  }
+}
+
 return containers;
   }
 

http://git-wip-us.apache.org/repos/asf/hadoop/blob/49c38898/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/recovery/TestNMLeveldbStateStoreService.java
--
diff --git 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/recovery/TestNMLevel

hadoop git commit: YARN-2816. NM fail to start with NPE during container recovery. Contributed by Zhihai Xu (cherry picked from commit 49c38898b0be64fc686d039ed2fb2dea1378df02)

2014-11-14 Thread jlowe
Repository: hadoop
Updated Branches:
  refs/heads/branch-2 5b90e428a -> ad140d1fc


YARN-2816. NM fail to start with NPE during container recovery. Contributed by 
Zhihai Xu
(cherry picked from commit 49c38898b0be64fc686d039ed2fb2dea1378df02)


Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/ad140d1f
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/ad140d1f
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/ad140d1f

Branch: refs/heads/branch-2
Commit: ad140d1fc831735fb9335e27b38d2fc040847af1
Parents: 5b90e42
Author: Jason Lowe 
Authored: Fri Nov 14 21:25:59 2014 +
Committer: Jason Lowe 
Committed: Fri Nov 14 21:27:16 2014 +

--
 hadoop-yarn-project/CHANGES.txt |  3 +++
 .../recovery/NMLeveldbStateStoreService.java| 24 +++-
 .../TestNMLeveldbStateStoreService.java |  7 ++
 3 files changed, 33 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/hadoop/blob/ad140d1f/hadoop-yarn-project/CHANGES.txt
--
diff --git a/hadoop-yarn-project/CHANGES.txt b/hadoop-yarn-project/CHANGES.txt
index 2d83526..0f3d31e 100644
--- a/hadoop-yarn-project/CHANGES.txt
+++ b/hadoop-yarn-project/CHANGES.txt
@@ -63,6 +63,9 @@ Release 2.7.0 - UNRELEASED
 YARN-2857. ConcurrentModificationException in ContainerLogAppender
 (Mohammad Kamrul Islam via jlowe)
 
+YARN-2816. NM fail to start with NPE during container recovery (Zhihai Xu
+via jlowe)
+
 Release 2.6.0 - 2014-11-18
 
   INCOMPATIBLE CHANGES

http://git-wip-us.apache.org/repos/asf/hadoop/blob/ad140d1f/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/recovery/NMLeveldbStateStoreService.java
--
diff --git 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/recovery/NMLeveldbStateStoreService.java
 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/recovery/NMLeveldbStateStoreService.java
index 7cf4921..9d54688 100644
--- 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/recovery/NMLeveldbStateStoreService.java
+++ 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/recovery/NMLeveldbStateStoreService.java
@@ -146,6 +146,8 @@ public class NMLeveldbStateStoreService extends 
NMStateStoreService {
   throws IOException {
 ArrayList containers =
 new ArrayList();
+ArrayList containersToRemove =
+  new ArrayList();
 LeveldbIterator iter = null;
 try {
   iter = new LeveldbIterator(db);
@@ -165,7 +167,14 @@ public class NMLeveldbStateStoreService extends 
NMStateStoreService {
 ContainerId containerId = ConverterUtils.toContainerId(
 key.substring(CONTAINERS_KEY_PREFIX.length(), idEndPos));
 String keyPrefix = key.substring(0, idEndPos+1);
-containers.add(loadContainerState(containerId, iter, keyPrefix));
+RecoveredContainerState rcs = loadContainerState(containerId,
+iter, keyPrefix);
+// Don't load container without StartContainerRequest
+if (rcs.startRequest != null) {
+  containers.add(rcs);
+} else {
+  containersToRemove.add(containerId);
+}
   }
 } catch (DBException e) {
   throw new IOException(e);
@@ -175,6 +184,19 @@ public class NMLeveldbStateStoreService extends 
NMStateStoreService {
   }
 }
 
+// remove container without StartContainerRequest
+for (ContainerId containerId : containersToRemove) {
+  LOG.warn("Remove container " + containerId +
+  " with incomplete records");
+  try {
+removeContainer(containerId);
+// TODO: kill and cleanup the leaked container
+  } catch (IOException e) {
+LOG.error("Unable to remove container " + containerId +
+" in store", e);
+  }
+}
+
 return containers;
   }
 

http://git-wip-us.apache.org/repos/asf/hadoop/blob/ad140d1f/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/recovery/TestNMLeveldbStateStoreService.java
--
diff --git 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodeman

hadoop git commit: YARN-2414. RM web UI: app page will crash if app is failed before any attempt has been created. Contributed by Wangda Tan

2014-11-17 Thread jlowe
Repository: hadoop
Updated Branches:
  refs/heads/trunk bd8196e85 -> 81c9d17af


YARN-2414. RM web UI: app page will crash if app is failed before any attempt 
has been created. Contributed by Wangda Tan


Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/81c9d17a
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/81c9d17a
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/81c9d17a

Branch: refs/heads/trunk
Commit: 81c9d17af84ed87b9ded7057cb726a3855ddd32d
Parents: bd8196e
Author: Jason Lowe 
Authored: Mon Nov 17 21:13:22 2014 +
Committer: Jason Lowe 
Committed: Mon Nov 17 21:15:48 2014 +

--
 hadoop-yarn-project/CHANGES.txt |  3 +
 .../server/security/ApplicationACLsManager.java |  7 ++
 .../security/QueueACLsManager.java  |  7 ++
 .../server/resourcemanager/webapp/AppBlock.java | 30 +--
 .../resourcemanager/webapp/TestAppPage.java | 90 
 5 files changed, 130 insertions(+), 7 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hadoop/blob/81c9d17a/hadoop-yarn-project/CHANGES.txt
--
diff --git a/hadoop-yarn-project/CHANGES.txt b/hadoop-yarn-project/CHANGES.txt
index b303e53..0f526dd 100644
--- a/hadoop-yarn-project/CHANGES.txt
+++ b/hadoop-yarn-project/CHANGES.txt
@@ -99,6 +99,9 @@ Release 2.7.0 - UNRELEASED
 YARN-1703. Fixed ResourceManager web-proxy to close connections correctly.
 (Rohith Sharma via vinodkv)
 
+YARN-2414. RM web UI: app page will crash if app is failed before any
+attempt has been created (Wangda Tan via jlowe)
+
 Release 2.6.0 - 2014-11-18
 
   INCOMPATIBLE CHANGES

http://git-wip-us.apache.org/repos/asf/hadoop/blob/81c9d17a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/server/security/ApplicationACLsManager.java
--
diff --git 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/server/security/ApplicationACLsManager.java
 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/server/security/ApplicationACLsManager.java
index e8e3cb5..4cacfca 100644
--- 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/server/security/ApplicationACLsManager.java
+++ 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/server/security/ApplicationACLsManager.java
@@ -35,6 +35,8 @@ import 
org.apache.hadoop.yarn.api.records.ApplicationAccessType;
 import org.apache.hadoop.yarn.conf.YarnConfiguration;
 import org.apache.hadoop.yarn.security.AdminACLsManager;
 
+import com.google.common.annotations.VisibleForTesting;
+
 @InterfaceAudience.Private
 public class ApplicationACLsManager {
 
@@ -48,6 +50,11 @@ public class ApplicationACLsManager {
   private final ConcurrentMap> applicationACLS
 = new ConcurrentHashMap>();
 
+  @VisibleForTesting
+  public ApplicationACLsManager() {
+this(new Configuration());
+  }
+  
   public ApplicationACLsManager(Configuration conf) {
 this.conf = conf;
 this.adminAclsManager = new AdminACLsManager(this.conf);

http://git-wip-us.apache.org/repos/asf/hadoop/blob/81c9d17a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/security/QueueACLsManager.java
--
diff --git 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/security/QueueACLsManager.java
 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/security/QueueACLsManager.java
index eb5037a..fb8279d 100644
--- 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/security/QueueACLsManager.java
+++ 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/security/QueueACLsManager.java
@@ -24,9 +24,16 @@ import org.apache.hadoop.yarn.api.records.QueueACL;
 import org.apache.hadoop.yarn.conf.YarnConfiguration;
 import 
org.apache.hadoop.yarn.server.resourcemanager.scheduler.ResourceScheduler;
 
+import com.google.common.annotations.VisibleForTesting;
+
 public class QueueACLsManager {
   private ResourceScheduler scheduler;
   private boolean isACLsEnable;
+  
+  @VisibleForTesting
+  public QueueACLsManager() {
+this(null, new Conf

hadoop git commit: YARN-2414. RM web UI: app page will crash if app is failed before any attempt has been created. Contributed by Wangda Tan (cherry picked from commit 81c9d17af84ed87b9ded7057cb726a38

2014-11-17 Thread jlowe
Repository: hadoop
Updated Branches:
  refs/heads/branch-2 d35eba7b1 -> 242fd0e39


YARN-2414. RM web UI: app page will crash if app is failed before any attempt 
has been created. Contributed by Wangda Tan
(cherry picked from commit 81c9d17af84ed87b9ded7057cb726a3855ddd32d)


Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/242fd0e3
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/242fd0e3
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/242fd0e3

Branch: refs/heads/branch-2
Commit: 242fd0e39ad1c5d51719cd0f6c197166066e3288
Parents: d35eba7
Author: Jason Lowe 
Authored: Mon Nov 17 21:13:22 2014 +
Committer: Jason Lowe 
Committed: Mon Nov 17 21:16:54 2014 +

--
 hadoop-yarn-project/CHANGES.txt |  3 +
 .../server/security/ApplicationACLsManager.java |  7 ++
 .../security/QueueACLsManager.java  |  7 ++
 .../server/resourcemanager/webapp/AppBlock.java | 30 +--
 .../resourcemanager/webapp/TestAppPage.java | 90 
 5 files changed, 130 insertions(+), 7 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hadoop/blob/242fd0e3/hadoop-yarn-project/CHANGES.txt
--
diff --git a/hadoop-yarn-project/CHANGES.txt b/hadoop-yarn-project/CHANGES.txt
index 208c66b..8e9db91 100644
--- a/hadoop-yarn-project/CHANGES.txt
+++ b/hadoop-yarn-project/CHANGES.txt
@@ -72,6 +72,9 @@ Release 2.7.0 - UNRELEASED
 YARN-1703. Fixed ResourceManager web-proxy to close connections correctly.
 (Rohith Sharma via vinodkv)
 
+YARN-2414. RM web UI: app page will crash if app is failed before any
+attempt has been created (Wangda Tan via jlowe)
+
 Release 2.6.0 - 2014-11-18
 
   INCOMPATIBLE CHANGES

http://git-wip-us.apache.org/repos/asf/hadoop/blob/242fd0e3/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/server/security/ApplicationACLsManager.java
--
diff --git 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/server/security/ApplicationACLsManager.java
 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/server/security/ApplicationACLsManager.java
index e8e3cb5..4cacfca 100644
--- 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/server/security/ApplicationACLsManager.java
+++ 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/server/security/ApplicationACLsManager.java
@@ -35,6 +35,8 @@ import 
org.apache.hadoop.yarn.api.records.ApplicationAccessType;
 import org.apache.hadoop.yarn.conf.YarnConfiguration;
 import org.apache.hadoop.yarn.security.AdminACLsManager;
 
+import com.google.common.annotations.VisibleForTesting;
+
 @InterfaceAudience.Private
 public class ApplicationACLsManager {
 
@@ -48,6 +50,11 @@ public class ApplicationACLsManager {
   private final ConcurrentMap> applicationACLS
 = new ConcurrentHashMap>();
 
+  @VisibleForTesting
+  public ApplicationACLsManager() {
+this(new Configuration());
+  }
+  
   public ApplicationACLsManager(Configuration conf) {
 this.conf = conf;
 this.adminAclsManager = new AdminACLsManager(this.conf);

http://git-wip-us.apache.org/repos/asf/hadoop/blob/242fd0e3/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/security/QueueACLsManager.java
--
diff --git 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/security/QueueACLsManager.java
 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/security/QueueACLsManager.java
index eb5037a..fb8279d 100644
--- 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/security/QueueACLsManager.java
+++ 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/security/QueueACLsManager.java
@@ -24,9 +24,16 @@ import org.apache.hadoop.yarn.api.records.QueueACL;
 import org.apache.hadoop.yarn.conf.YarnConfiguration;
 import 
org.apache.hadoop.yarn.server.resourcemanager.scheduler.ResourceScheduler;
 
+import com.google.common.annotations.VisibleForTesting;
+
 public class QueueACLsManager {
   private ResourceScheduler scheduler;
   private boolean isA

hadoop git commit: MAPREDUCE-6162. mapred hsadmin fails on a secure cluster. Contributed by Jason Lowe

2014-11-17 Thread jlowe
Repository: hadoop
Updated Branches:
  refs/heads/trunk 48d62fad8 -> 09b3dee12


MAPREDUCE-6162. mapred hsadmin fails on a secure cluster. Contributed by Jason 
Lowe


Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/09b3dee1
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/09b3dee1
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/09b3dee1

Branch: refs/heads/trunk
Commit: 09b3dee122ad20fae22ae8de74886dbf11c39343
Parents: 48d62fa
Author: Jason Lowe 
Authored: Mon Nov 17 22:59:59 2014 +
Committer: Jason Lowe 
Committed: Mon Nov 17 22:59:59 2014 +

--
 hadoop-mapreduce-project/CHANGES.txt|   6 +-
 .../authorize/ClientHSPolicyProvider.java   |  17 +++-
 .../hadoop-mapreduce-client-common/pom.xml  |   1 +
 .../mapreduce/v2/api/HSAdminProtocol.java   |  34 +++
 .../v2/api/HSAdminRefreshProtocol.java  |  59 +++
 .../v2/api/HSAdminRefreshProtocolPB.java|  33 ++
 .../mapreduce/v2/jobhistory/JHAdminConfig.java  |   4 +-
 .../src/main/proto/HSAdminRefreshProtocol.proto | 100 +++
 .../hadoop-mapreduce-client-hs/pom.xml  |  30 --
 .../hadoop/mapreduce/v2/hs/HSProxies.java   |   4 +-
 .../hadoop/mapreduce/v2/hs/client/HSAdmin.java  |  18 +++-
 .../v2/hs/protocol/HSAdminProtocol.java |  38 ---
 .../v2/hs/protocol/HSAdminRefreshProtocol.java  |  63 
 ...inRefreshProtocolClientSideTranslatorPB.java |   3 +-
 .../hs/protocolPB/HSAdminRefreshProtocolPB.java |  33 --
 ...inRefreshProtocolServerSideTranslatorPB.java |   3 +-
 .../mapreduce/v2/hs/server/HSAdminServer.java   |  14 ++-
 .../src/main/proto/HSAdminRefreshProtocol.proto | 100 ---
 .../v2/hs/server/TestHSAdminServer.java |  20 
 19 files changed, 303 insertions(+), 277 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hadoop/blob/09b3dee1/hadoop-mapreduce-project/CHANGES.txt
--
diff --git a/hadoop-mapreduce-project/CHANGES.txt 
b/hadoop-mapreduce-project/CHANGES.txt
index 653ad44..cd5f965 100644
--- a/hadoop-mapreduce-project/CHANGES.txt
+++ b/hadoop-mapreduce-project/CHANGES.txt
@@ -239,9 +239,11 @@ Release 2.7.0 - UNRELEASED
 
   BUG FIXES
 
-  MAPREDUCE-5918. LineRecordReader can return the same decompressor to 
CodecPool
-  multiple times (Sergey Murylev via raviprak)
+MAPREDUCE-5918. LineRecordReader can return the same decompressor to
+CodecPool multiple times (Sergey Murylev via raviprak)
 
+MAPREDUCE-6162. mapred hsadmin fails on a secure cluster (jlowe)
+ 
 Release 2.6.0 - 2014-11-18
 
   INCOMPATIBLE CHANGES

http://git-wip-us.apache.org/repos/asf/hadoop/blob/09b3dee1/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapreduce/v2/app/security/authorize/ClientHSPolicyProvider.java
--
diff --git 
a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapreduce/v2/app/security/authorize/ClientHSPolicyProvider.java
 
b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapreduce/v2/app/security/authorize/ClientHSPolicyProvider.java
index dfb7469..a3bf8ae 100644
--- 
a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapreduce/v2/app/security/authorize/ClientHSPolicyProvider.java
+++ 
b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapreduce/v2/app/security/authorize/ClientHSPolicyProvider.java
@@ -19,13 +19,17 @@ package 
org.apache.hadoop.mapreduce.v2.app.security.authorize;
 
 import org.apache.hadoop.classification.InterfaceAudience;
 import org.apache.hadoop.classification.InterfaceStability;
+import org.apache.hadoop.fs.CommonConfigurationKeys;
+import org.apache.hadoop.mapreduce.v2.api.HSAdminRefreshProtocol;
 import org.apache.hadoop.mapreduce.v2.api.HSClientProtocolPB;
 import org.apache.hadoop.mapreduce.v2.jobhistory.JHAdminConfig;
+import org.apache.hadoop.security.RefreshUserMappingsProtocol;
 import org.apache.hadoop.security.authorize.PolicyProvider;
 import org.apache.hadoop.security.authorize.Service;
+import org.apache.hadoop.tools.GetUserMappingsProtocol;
 
 /**
- * {@link PolicyProvider} for YARN MapReduce protocols.
+ * {@link PolicyProvider} for MapReduce history server protocols.
  */
 @InterfaceAudience.Private
 @InterfaceStability.Unstable
@@ -35,7 +39,16 @@ public class ClientHSPolicyProvider extends PolicyProvider {
   new Service[] {
 new Service(
 JHAdminConfig.MR_HS_SECURITY_SERVICE_AUTHORIZAT

hadoop git commit: MAPREDUCE-6162. mapred hsadmin fails on a secure cluster. Contributed by Jason Lowe (cherry picked from commit 09b3dee122ad20fae22ae8de74886dbf11c39343)

2014-11-17 Thread jlowe
Repository: hadoop
Updated Branches:
  refs/heads/branch-2 1deefa6cf -> 0b9a1a3e0


MAPREDUCE-6162. mapred hsadmin fails on a secure cluster. Contributed by Jason 
Lowe
(cherry picked from commit 09b3dee122ad20fae22ae8de74886dbf11c39343)


Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/0b9a1a3e
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/0b9a1a3e
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/0b9a1a3e

Branch: refs/heads/branch-2
Commit: 0b9a1a3e033fa2d0fec2bf0c4903cb8eacd25d4e
Parents: 1deefa6
Author: Jason Lowe 
Authored: Mon Nov 17 22:59:59 2014 +
Committer: Jason Lowe 
Committed: Mon Nov 17 23:01:16 2014 +

--
 hadoop-mapreduce-project/CHANGES.txt|   6 +-
 .../authorize/ClientHSPolicyProvider.java   |  17 +++-
 .../hadoop-mapreduce-client-common/pom.xml  |   1 +
 .../mapreduce/v2/api/HSAdminProtocol.java   |  34 +++
 .../v2/api/HSAdminRefreshProtocol.java  |  59 +++
 .../v2/api/HSAdminRefreshProtocolPB.java|  33 ++
 .../mapreduce/v2/jobhistory/JHAdminConfig.java  |   4 +-
 .../src/main/proto/HSAdminRefreshProtocol.proto | 100 +++
 .../hadoop-mapreduce-client-hs/pom.xml  |  30 --
 .../hadoop/mapreduce/v2/hs/HSProxies.java   |   4 +-
 .../hadoop/mapreduce/v2/hs/client/HSAdmin.java  |  18 +++-
 .../v2/hs/protocol/HSAdminProtocol.java |  38 ---
 .../v2/hs/protocol/HSAdminRefreshProtocol.java  |  63 
 ...inRefreshProtocolClientSideTranslatorPB.java |   3 +-
 .../hs/protocolPB/HSAdminRefreshProtocolPB.java |  33 --
 ...inRefreshProtocolServerSideTranslatorPB.java |   3 +-
 .../mapreduce/v2/hs/server/HSAdminServer.java   |  14 ++-
 .../src/main/proto/HSAdminRefreshProtocol.proto | 100 ---
 .../v2/hs/server/TestHSAdminServer.java |  20 
 19 files changed, 303 insertions(+), 277 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hadoop/blob/0b9a1a3e/hadoop-mapreduce-project/CHANGES.txt
--
diff --git a/hadoop-mapreduce-project/CHANGES.txt 
b/hadoop-mapreduce-project/CHANGES.txt
index 64ac66e..6402bbe 100644
--- a/hadoop-mapreduce-project/CHANGES.txt
+++ b/hadoop-mapreduce-project/CHANGES.txt
@@ -12,9 +12,11 @@ Release 2.7.0 - UNRELEASED
 
   BUG FIXES
 
-  MAPREDUCE-5918. LineRecordReader can return the same decompressor to 
CodecPool
-  multiple times (Sergey Murylev via raviprak)
+MAPREDUCE-5918. LineRecordReader can return the same decompressor to
+CodecPool multiple times (Sergey Murylev via raviprak)
 
+MAPREDUCE-6162. mapred hsadmin fails on a secure cluster (jlowe)
+ 
 Release 2.6.0 - 2014-11-18
 
   INCOMPATIBLE CHANGES

http://git-wip-us.apache.org/repos/asf/hadoop/blob/0b9a1a3e/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapreduce/v2/app/security/authorize/ClientHSPolicyProvider.java
--
diff --git 
a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapreduce/v2/app/security/authorize/ClientHSPolicyProvider.java
 
b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapreduce/v2/app/security/authorize/ClientHSPolicyProvider.java
index dfb7469..a3bf8ae 100644
--- 
a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapreduce/v2/app/security/authorize/ClientHSPolicyProvider.java
+++ 
b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapreduce/v2/app/security/authorize/ClientHSPolicyProvider.java
@@ -19,13 +19,17 @@ package 
org.apache.hadoop.mapreduce.v2.app.security.authorize;
 
 import org.apache.hadoop.classification.InterfaceAudience;
 import org.apache.hadoop.classification.InterfaceStability;
+import org.apache.hadoop.fs.CommonConfigurationKeys;
+import org.apache.hadoop.mapreduce.v2.api.HSAdminRefreshProtocol;
 import org.apache.hadoop.mapreduce.v2.api.HSClientProtocolPB;
 import org.apache.hadoop.mapreduce.v2.jobhistory.JHAdminConfig;
+import org.apache.hadoop.security.RefreshUserMappingsProtocol;
 import org.apache.hadoop.security.authorize.PolicyProvider;
 import org.apache.hadoop.security.authorize.Service;
+import org.apache.hadoop.tools.GetUserMappingsProtocol;
 
 /**
- * {@link PolicyProvider} for YARN MapReduce protocols.
+ * {@link PolicyProvider} for MapReduce history server protocols.
  */
 @InterfaceAudience.Private
 @InterfaceStability.Unstable
@@ -35,7 +39,16 @@ public class ClientHSPolicyProvider extends PolicyProvider {
   new Service[] {
 

hadoop git commit: HADOOP-11309. System class pattern package.Foo should match package.Foo$Bar, too. Contributed by Gera Shegalov

2014-11-18 Thread jlowe
Repository: hadoop
Updated Branches:
  refs/heads/trunk 7250b0bf9 -> b4ca72769


HADOOP-11309. System class pattern package.Foo should match package.Foo$Bar, 
too. Contributed by Gera Shegalov


Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/b4ca7276
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/b4ca7276
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/b4ca7276

Branch: refs/heads/trunk
Commit: b4ca7276902ad362f746ea997f7e977a7a6abd0e
Parents: 7250b0b
Author: Jason Lowe 
Authored: Tue Nov 18 17:22:21 2014 +
Committer: Jason Lowe 
Committed: Tue Nov 18 17:22:21 2014 +

--
 hadoop-common-project/hadoop-common/CHANGES.txt |  3 +++
 .../hadoop/util/ApplicationClassLoader.java | 11 ++---
 .../hadoop/util/TestApplicationClassLoader.java | 26 ++--
 3 files changed, 29 insertions(+), 11 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hadoop/blob/b4ca7276/hadoop-common-project/hadoop-common/CHANGES.txt
--
diff --git a/hadoop-common-project/hadoop-common/CHANGES.txt 
b/hadoop-common-project/hadoop-common/CHANGES.txt
index e4cc8e7..7fc29a6 100644
--- a/hadoop-common-project/hadoop-common/CHANGES.txt
+++ b/hadoop-common-project/hadoop-common/CHANGES.txt
@@ -447,6 +447,9 @@ Release 2.7.0 - UNRELEASED
 HADOOP-11311. Restrict uppercase key names from being created with JCEKS.
 (wang)
 
+HADOOP-11309. System class pattern package.Foo should match
+package.Foo$Bar, too (Gera Shegalov via jlowe)
+
 Release 2.6.0 - 2014-11-18
 
   INCOMPATIBLE CHANGES

http://git-wip-us.apache.org/repos/asf/hadoop/blob/b4ca7276/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/ApplicationClassLoader.java
--
diff --git 
a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/ApplicationClassLoader.java
 
b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/ApplicationClassLoader.java
index b18997c..d2ab015 100644
--- 
a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/ApplicationClassLoader.java
+++ 
b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/ApplicationClassLoader.java
@@ -228,10 +228,13 @@ public class ApplicationClassLoader extends 
URLClassLoader {
   c = c.substring(1);
   result = false;
 }
-if (c.endsWith(".") && canonicalName.startsWith(c)) {
-  return result;
-} else if (canonicalName.equals(c)) {
-  return result;
+if (canonicalName.startsWith(c)) {
+  if (   c.endsWith(".")   // package
+  || canonicalName.length() == c.length()  // class
+  ||canonicalName.length() > c.length()// nested
+ && canonicalName.charAt(c.length()) == '$' ) {
+return result;
+  }
 }
   }
 }

http://git-wip-us.apache.org/repos/asf/hadoop/blob/b4ca7276/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/util/TestApplicationClassLoader.java
--
diff --git 
a/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/util/TestApplicationClassLoader.java
 
b/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/util/TestApplicationClassLoader.java
index 5d0e131..cc16493 100644
--- 
a/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/util/TestApplicationClassLoader.java
+++ 
b/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/util/TestApplicationClassLoader.java
@@ -90,15 +90,27 @@ public class TestApplicationClassLoader {
   
   @Test
   public void testIsSystemClass() {
-assertFalse(isSystemClass("org.example.Foo", null));
-assertTrue(isSystemClass("org.example.Foo", classes("org.example.Foo")));
-assertTrue(isSystemClass("/org.example.Foo", classes("org.example.Foo")));
-assertTrue(isSystemClass("org.example.Foo", classes("org.example.")));
-assertTrue(isSystemClass("net.example.Foo",
+testIsSystemClassInternal("");
+  }
+
+  @Test
+  public void testIsSystemNestedClass() {
+testIsSystemClassInternal("$Klass");
+  }
+
+  private void testIsSystemClassInternal(String nestedClass) {
+assertFalse(isSystemClass("org.example.Foo" + nestedClass, null));
+assertTrue(isSystemClass("org.example.Foo" + nestedClass,
+classes("org.example.Foo")));
+assertTr

hadoop git commit: HADOOP-11309. System class pattern package.Foo should match package.Foo$Bar, too. Contributed by Gera Shegalov (cherry picked from commit b4ca7276902ad362f746ea997f7e977a7a6abd0e)

2014-11-18 Thread jlowe
Repository: hadoop
Updated Branches:
  refs/heads/branch-2 09df35e51 -> 5125a8e59


HADOOP-11309. System class pattern package.Foo should match package.Foo$Bar, 
too. Contributed by Gera Shegalov
(cherry picked from commit b4ca7276902ad362f746ea997f7e977a7a6abd0e)


Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/5125a8e5
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/5125a8e5
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/5125a8e5

Branch: refs/heads/branch-2
Commit: 5125a8e59ea7fa0680cab5cda60ddcc731f74f39
Parents: 09df35e
Author: Jason Lowe 
Authored: Tue Nov 18 17:22:21 2014 +
Committer: Jason Lowe 
Committed: Tue Nov 18 17:23:37 2014 +

--
 hadoop-common-project/hadoop-common/CHANGES.txt |  3 +++
 .../hadoop/util/ApplicationClassLoader.java | 11 ++---
 .../hadoop/util/TestApplicationClassLoader.java | 26 ++--
 3 files changed, 29 insertions(+), 11 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hadoop/blob/5125a8e5/hadoop-common-project/hadoop-common/CHANGES.txt
--
diff --git a/hadoop-common-project/hadoop-common/CHANGES.txt 
b/hadoop-common-project/hadoop-common/CHANGES.txt
index 875fd99..4935850 100644
--- a/hadoop-common-project/hadoop-common/CHANGES.txt
+++ b/hadoop-common-project/hadoop-common/CHANGES.txt
@@ -91,6 +91,9 @@ Release 2.7.0 - UNRELEASED
 HADOOP-11311. Restrict uppercase key names from being created with JCEKS.
 (wang)
 
+HADOOP-11309. System class pattern package.Foo should match
+package.Foo$Bar, too (Gera Shegalov via jlowe)
+
 Release 2.6.0 - 2014-11-18
 
   INCOMPATIBLE CHANGES

http://git-wip-us.apache.org/repos/asf/hadoop/blob/5125a8e5/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/ApplicationClassLoader.java
--
diff --git 
a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/ApplicationClassLoader.java
 
b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/ApplicationClassLoader.java
index b18997c..d2ab015 100644
--- 
a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/ApplicationClassLoader.java
+++ 
b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/ApplicationClassLoader.java
@@ -228,10 +228,13 @@ public class ApplicationClassLoader extends 
URLClassLoader {
   c = c.substring(1);
   result = false;
 }
-if (c.endsWith(".") && canonicalName.startsWith(c)) {
-  return result;
-} else if (canonicalName.equals(c)) {
-  return result;
+if (canonicalName.startsWith(c)) {
+  if (   c.endsWith(".")   // package
+  || canonicalName.length() == c.length()  // class
+  ||canonicalName.length() > c.length()// nested
+ && canonicalName.charAt(c.length()) == '$' ) {
+return result;
+  }
 }
   }
 }

http://git-wip-us.apache.org/repos/asf/hadoop/blob/5125a8e5/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/util/TestApplicationClassLoader.java
--
diff --git 
a/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/util/TestApplicationClassLoader.java
 
b/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/util/TestApplicationClassLoader.java
index 5d0e131..cc16493 100644
--- 
a/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/util/TestApplicationClassLoader.java
+++ 
b/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/util/TestApplicationClassLoader.java
@@ -90,15 +90,27 @@ public class TestApplicationClassLoader {
   
   @Test
   public void testIsSystemClass() {
-assertFalse(isSystemClass("org.example.Foo", null));
-assertTrue(isSystemClass("org.example.Foo", classes("org.example.Foo")));
-assertTrue(isSystemClass("/org.example.Foo", classes("org.example.Foo")));
-assertTrue(isSystemClass("org.example.Foo", classes("org.example.")));
-assertTrue(isSystemClass("net.example.Foo",
+testIsSystemClassInternal("");
+  }
+
+  @Test
+  public void testIsSystemNestedClass() {
+testIsSystemClassInternal("$Klass");
+  }
+
+  private void testIsSystemClassInternal(String nestedClass) {
+assertFalse(isSystemClass("org.example.Foo" + nestedClass, null));
+assertTrue(isSystemClass("org.example.Foo" + nestedClass,

git commit: MAPREDUCE-6104. TestJobHistoryParsing.testPartialJob fails in branch-2. Contributed by Mit Desai

2014-09-24 Thread jlowe
Repository: hadoop
Updated Branches:
  refs/heads/trunk 034df0e2e -> 7af4c3888


MAPREDUCE-6104. TestJobHistoryParsing.testPartialJob fails in branch-2. 
Contributed by Mit Desai


Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/7af4c388
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/7af4c388
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/7af4c388

Branch: refs/heads/trunk
Commit: 7af4c3888bf7be0822dc880170e5e3d09e9280f1
Parents: 034df0e
Author: Jason Lowe 
Authored: Wed Sep 24 16:09:33 2014 +
Committer: Jason Lowe 
Committed: Wed Sep 24 16:09:33 2014 +

--
 hadoop-mapreduce-project/CHANGES.txt  | 3 +++
 .../org/apache/hadoop/mapreduce/v2/hs/TestJobHistoryParsing.java  | 2 +-
 2 files changed, 4 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/hadoop/blob/7af4c388/hadoop-mapreduce-project/CHANGES.txt
--
diff --git a/hadoop-mapreduce-project/CHANGES.txt 
b/hadoop-mapreduce-project/CHANGES.txt
index 859c899..a71e3ef 100644
--- a/hadoop-mapreduce-project/CHANGES.txt
+++ b/hadoop-mapreduce-project/CHANGES.txt
@@ -367,6 +367,9 @@ Release 2.6.0 - UNRELEASED
 MAPREDUCE-6095. Enable DistributedCache for uber-mode Jobs (Gera Shegalov
 via jlowe)
 
+MAPREDUCE-6104. TestJobHistoryParsing.testPartialJob fails in branch-2
+(Mit Desai via jlowe)
+
 Release 2.5.1 - 2014-09-05
 
   INCOMPATIBLE CHANGES

http://git-wip-us.apache.org/repos/asf/hadoop/blob/7af4c388/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-hs/src/test/java/org/apache/hadoop/mapreduce/v2/hs/TestJobHistoryParsing.java
--
diff --git 
a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-hs/src/test/java/org/apache/hadoop/mapreduce/v2/hs/TestJobHistoryParsing.java
 
b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-hs/src/test/java/org/apache/hadoop/mapreduce/v2/hs/TestJobHistoryParsing.java
index d2f5e70..fe5706a 100644
--- 
a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-hs/src/test/java/org/apache/hadoop/mapreduce/v2/hs/TestJobHistoryParsing.java
+++ 
b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-hs/src/test/java/org/apache/hadoop/mapreduce/v2/hs/TestJobHistoryParsing.java
@@ -810,7 +810,7 @@ public class TestJobHistoryParsing {
   /**
* Simple test PartialJob
*/
-  @Test(timeout = 1000)
+  @Test(timeout = 3000)
   public void testPartialJob() throws Exception {
 JobId jobId = new JobIdPBImpl();
 jobId.setId(0);



git commit: MAPREDUCE-6104. TestJobHistoryParsing.testPartialJob fails in branch-2. Contributed by Mit Desai (cherry picked from commit 7af4c3888bf7be0822dc880170e5e3d09e9280f1)

2014-09-24 Thread jlowe
Repository: hadoop
Updated Branches:
  refs/heads/branch-2 e5a531a8a -> d5d9fd325


MAPREDUCE-6104. TestJobHistoryParsing.testPartialJob fails in branch-2. 
Contributed by Mit Desai
(cherry picked from commit 7af4c3888bf7be0822dc880170e5e3d09e9280f1)


Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/d5d9fd32
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/d5d9fd32
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/d5d9fd32

Branch: refs/heads/branch-2
Commit: d5d9fd32553aa09534f336b4976434a76126de0a
Parents: e5a531a
Author: Jason Lowe 
Authored: Wed Sep 24 16:09:33 2014 +
Committer: Jason Lowe 
Committed: Wed Sep 24 16:10:28 2014 +

--
 hadoop-mapreduce-project/CHANGES.txt  | 3 +++
 .../org/apache/hadoop/mapreduce/v2/hs/TestJobHistoryParsing.java  | 2 +-
 2 files changed, 4 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/hadoop/blob/d5d9fd32/hadoop-mapreduce-project/CHANGES.txt
--
diff --git a/hadoop-mapreduce-project/CHANGES.txt 
b/hadoop-mapreduce-project/CHANGES.txt
index 952295a..d163417 100644
--- a/hadoop-mapreduce-project/CHANGES.txt
+++ b/hadoop-mapreduce-project/CHANGES.txt
@@ -150,6 +150,9 @@ Release 2.6.0 - UNRELEASED
 MAPREDUCE-6095. Enable DistributedCache for uber-mode Jobs (Gera Shegalov
 via jlowe)
 
+MAPREDUCE-6104. TestJobHistoryParsing.testPartialJob fails in branch-2
+(Mit Desai via jlowe)
+
 Release 2.5.1 - 2014-09-05
 
   INCOMPATIBLE CHANGES

http://git-wip-us.apache.org/repos/asf/hadoop/blob/d5d9fd32/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-hs/src/test/java/org/apache/hadoop/mapreduce/v2/hs/TestJobHistoryParsing.java
--
diff --git 
a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-hs/src/test/java/org/apache/hadoop/mapreduce/v2/hs/TestJobHistoryParsing.java
 
b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-hs/src/test/java/org/apache/hadoop/mapreduce/v2/hs/TestJobHistoryParsing.java
index c2246b3..93538dc 100644
--- 
a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-hs/src/test/java/org/apache/hadoop/mapreduce/v2/hs/TestJobHistoryParsing.java
+++ 
b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-hs/src/test/java/org/apache/hadoop/mapreduce/v2/hs/TestJobHistoryParsing.java
@@ -806,7 +806,7 @@ public class TestJobHistoryParsing {
   /**
* Simple test PartialJob
*/
-  @Test(timeout = 1000)
+  @Test(timeout = 3000)
   public void testPartialJob() throws Exception {
 JobId jobId = new JobIdPBImpl();
 jobId.setId(0);



git commit: YARN-2523. ResourceManager UI showing negative value for "Decommissioned Nodes" field. Contributed by Rohith

2014-09-25 Thread jlowe
Repository: hadoop
Updated Branches:
  refs/heads/trunk 9f9aa -> 8269bfa61


YARN-2523. ResourceManager UI showing negative value for "Decommissioned Nodes" 
field. Contributed by Rohith


Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/8269bfa6
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/8269bfa6
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/8269bfa6

Branch: refs/heads/trunk
Commit: 8269bfa613999f71767de3c0369817b58cfe1416
Parents: 9f9a222
Author: Jason Lowe 
Authored: Thu Sep 25 22:37:05 2014 +
Committer: Jason Lowe 
Committed: Thu Sep 25 22:37:05 2014 +

--
 hadoop-yarn-project/CHANGES.txt |  3 +++
 .../resourcemanager/NodesListManager.java   |  1 -
 .../resourcemanager/rmnode/RMNodeImpl.java  | 13 --
 .../server/resourcemanager/TestRMRestart.java   | 26 +---
 .../TestResourceTrackerService.java | 25 +--
 5 files changed, 48 insertions(+), 20 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hadoop/blob/8269bfa6/hadoop-yarn-project/CHANGES.txt
--
diff --git a/hadoop-yarn-project/CHANGES.txt b/hadoop-yarn-project/CHANGES.txt
index aaac7b7..bbda48d 100644
--- a/hadoop-yarn-project/CHANGES.txt
+++ b/hadoop-yarn-project/CHANGES.txt
@@ -447,6 +447,9 @@ Release 2.6.0 - UNRELEASED
 YARN-2546. Made REST API for application creation/submission use numeric 
and
 boolean types instead of the string of them. (Varun Vasudev via zjshen)
 
+YARN-2523. ResourceManager UI showing negative value for "Decommissioned
+Nodes" field (Rohith via jlowe)
+
 Release 2.5.1 - 2014-09-05
 
   INCOMPATIBLE CHANGES

http://git-wip-us.apache.org/repos/asf/hadoop/blob/8269bfa6/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/NodesListManager.java
--
diff --git 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/NodesListManager.java
 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/NodesListManager.java
index d7797cc..90d7b51 100644
--- 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/NodesListManager.java
+++ 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/NodesListManager.java
@@ -121,7 +121,6 @@ public class NodesListManager extends AbstractService 
implements
   this.conf, includesFile), excludesFile.isEmpty() ? null
   : this.rmContext.getConfigurationProvider()
   .getConfigurationInputStream(this.conf, excludesFile));
-  setDecomissionedNMsMetrics();
   printConfiguredHosts();
 }
   }

http://git-wip-us.apache.org/repos/asf/hadoop/blob/8269bfa6/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/rmnode/RMNodeImpl.java
--
diff --git 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/rmnode/RMNodeImpl.java
 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/rmnode/RMNodeImpl.java
index f0ae826..1123a98 100644
--- 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/rmnode/RMNodeImpl.java
+++ 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/rmnode/RMNodeImpl.java
@@ -460,22 +460,9 @@ public class RMNodeImpl implements RMNode, 
EventHandler {
 break;
 }
 
-// Decomissioned NMs equals to the nodes missing in include list (if
-// include list not empty) or the nodes listed in excluded list.
-// DecomissionedNMs as per exclude list is set upfront when the
-// exclude list is read so that RM restart can also reflect the
-// decomissionedNMs. Note that RM is still not able to know 
decomissionedNMs
-// as per include list after it restarts as they are known when those nodes
-// come for registration.
-// Decomiss

git commit: YARN-2523. ResourceManager UI showing negative value for "Decommissioned Nodes" field. Contributed by Rohith (cherry picked from commit 8269bfa613999f71767de3c0369817b58cfe1416)

2014-09-25 Thread jlowe
Repository: hadoop
Updated Branches:
  refs/heads/branch-2 87f07e67b -> e4d46e5ff


YARN-2523. ResourceManager UI showing negative value for "Decommissioned Nodes" 
field. Contributed by Rohith
(cherry picked from commit 8269bfa613999f71767de3c0369817b58cfe1416)


Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/e4d46e5f
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/e4d46e5f
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/e4d46e5f

Branch: refs/heads/branch-2
Commit: e4d46e5ff609858e7c76b0eda7fab3882092396d
Parents: 87f07e6
Author: Jason Lowe 
Authored: Thu Sep 25 22:39:57 2014 +
Committer: Jason Lowe 
Committed: Thu Sep 25 22:39:57 2014 +

--
 hadoop-yarn-project/CHANGES.txt |  3 +++
 .../resourcemanager/NodesListManager.java   |  1 -
 .../resourcemanager/rmnode/RMNodeImpl.java  | 13 --
 .../server/resourcemanager/TestRMRestart.java   | 26 +---
 .../TestResourceTrackerService.java | 25 +--
 5 files changed, 48 insertions(+), 20 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hadoop/blob/e4d46e5f/hadoop-yarn-project/CHANGES.txt
--
diff --git a/hadoop-yarn-project/CHANGES.txt b/hadoop-yarn-project/CHANGES.txt
index 6608015..421fac6 100644
--- a/hadoop-yarn-project/CHANGES.txt
+++ b/hadoop-yarn-project/CHANGES.txt
@@ -417,6 +417,9 @@ Release 2.6.0 - UNRELEASED
 YARN-2546. Made REST API for application creation/submission use numeric 
and
 boolean types instead of the string of them. (Varun Vasudev via zjshen)
 
+YARN-2523. ResourceManager UI showing negative value for "Decommissioned
+Nodes" field (Rohith via jlowe)
+
 Release 2.5.1 - 2014-09-05
 
   INCOMPATIBLE CHANGES

http://git-wip-us.apache.org/repos/asf/hadoop/blob/e4d46e5f/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/NodesListManager.java
--
diff --git 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/NodesListManager.java
 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/NodesListManager.java
index d7797cc..90d7b51 100644
--- 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/NodesListManager.java
+++ 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/NodesListManager.java
@@ -121,7 +121,6 @@ public class NodesListManager extends AbstractService 
implements
   this.conf, includesFile), excludesFile.isEmpty() ? null
   : this.rmContext.getConfigurationProvider()
   .getConfigurationInputStream(this.conf, excludesFile));
-  setDecomissionedNMsMetrics();
   printConfiguredHosts();
 }
   }

http://git-wip-us.apache.org/repos/asf/hadoop/blob/e4d46e5f/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/rmnode/RMNodeImpl.java
--
diff --git 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/rmnode/RMNodeImpl.java
 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/rmnode/RMNodeImpl.java
index f0ae826..1123a98 100644
--- 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/rmnode/RMNodeImpl.java
+++ 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/rmnode/RMNodeImpl.java
@@ -460,22 +460,9 @@ public class RMNodeImpl implements RMNode, 
EventHandler {
 break;
 }
 
-// Decomissioned NMs equals to the nodes missing in include list (if
-// include list not empty) or the nodes listed in excluded list.
-// DecomissionedNMs as per exclude list is set upfront when the
-// exclude list is read so that RM restart can also reflect the
-// decomissionedNMs. Note that RM is still not able to know 
decomissionedNMs
-// as per include list after it restarts as th

git commit: HADOOP-11048. user/custom LogManager fails to load if the client classloader is enabled. Contributed by Sangjin Lee

2014-09-26 Thread jlowe
Repository: hadoop
Updated Branches:
  refs/heads/trunk 32870db0f -> f154ebe8c


HADOOP-11048. user/custom LogManager fails to load if the client classloader is 
enabled. Contributed by Sangjin Lee


Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/f154ebe8
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/f154ebe8
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/f154ebe8

Branch: refs/heads/trunk
Commit: f154ebe8c44e41edc443198a14e0491604cc613f
Parents: 32870db
Author: Jason Lowe 
Authored: Fri Sep 26 19:49:23 2014 +
Committer: Jason Lowe 
Committed: Fri Sep 26 19:49:23 2014 +

--
 hadoop-common-project/hadoop-common/CHANGES.txt  | 3 +++
 .../src/main/java/org/apache/hadoop/util/RunJar.java | 4 ++--
 2 files changed, 5 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hadoop/blob/f154ebe8/hadoop-common-project/hadoop-common/CHANGES.txt
--
diff --git a/hadoop-common-project/hadoop-common/CHANGES.txt 
b/hadoop-common-project/hadoop-common/CHANGES.txt
index d359698..a8c34e8 100644
--- a/hadoop-common-project/hadoop-common/CHANGES.txt
+++ b/hadoop-common-project/hadoop-common/CHANGES.txt
@@ -873,6 +873,9 @@ Release 2.6.0 - UNRELEASED
 HADOOP-11064. UnsatisifedLinkError with hadoop 2.4 JARs on hadoop-2.6 due 
to
 NativeCRC32 method changes. (cnauroth)
 
+HADOOP-11048. user/custom LogManager fails to load if the client
+classloader is enabled (Sangjin Lee via jlowe)
+
 Release 2.5.1 - 2014-09-05
 
   INCOMPATIBLE CHANGES

http://git-wip-us.apache.org/repos/asf/hadoop/blob/f154ebe8/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/RunJar.java
--
diff --git 
a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/RunJar.java
 
b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/RunJar.java
index 75b43b6..4b26b76 100644
--- 
a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/RunJar.java
+++ 
b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/RunJar.java
@@ -176,7 +176,7 @@ public class RunJar {
 }
 mainClassName = mainClassName.replaceAll("/", ".");
 
-File tmpDir = new File(new Configuration().get("hadoop.tmp.dir"));
+File tmpDir = new File(System.getProperty("java.io.tmpdir"));
 ensureDirectory(tmpDir);
 
 final File workDir;
@@ -185,7 +185,7 @@ public class RunJar {
 } catch (IOException ioe) {
   // If user has insufficient perms to write to tmpDir, default  
   // "Permission denied" message doesn't specify a filename. 
-  System.err.println("Error creating temp dir in hadoop.tmp.dir "
+  System.err.println("Error creating temp dir in java.io.tmpdir "
  + tmpDir + " due to " + ioe.getMessage());
   System.exit(-1);
   return;



git commit: HADOOP-11048. user/custom LogManager fails to load if the client classloader is enabled. Contributed by Sangjin Lee (cherry picked from commit f154ebe8c44e41edc443198a14e0491604cc613f)

2014-09-26 Thread jlowe
Repository: hadoop
Updated Branches:
  refs/heads/branch-2 6f5d555ad -> 50a5227da


HADOOP-11048. user/custom LogManager fails to load if the client classloader is 
enabled. Contributed by Sangjin Lee
(cherry picked from commit f154ebe8c44e41edc443198a14e0491604cc613f)


Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/50a5227d
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/50a5227d
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/50a5227d

Branch: refs/heads/branch-2
Commit: 50a5227dad4afb16c7bc7f92dc52732155ed0093
Parents: 6f5d555
Author: Jason Lowe 
Authored: Fri Sep 26 19:49:23 2014 +
Committer: Jason Lowe 
Committed: Fri Sep 26 19:51:18 2014 +

--
 hadoop-common-project/hadoop-common/CHANGES.txt  | 3 +++
 .../src/main/java/org/apache/hadoop/util/RunJar.java | 4 ++--
 2 files changed, 5 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hadoop/blob/50a5227d/hadoop-common-project/hadoop-common/CHANGES.txt
--
diff --git a/hadoop-common-project/hadoop-common/CHANGES.txt 
b/hadoop-common-project/hadoop-common/CHANGES.txt
index 8c6cf16..9f3cb19 100644
--- a/hadoop-common-project/hadoop-common/CHANGES.txt
+++ b/hadoop-common-project/hadoop-common/CHANGES.txt
@@ -535,6 +535,9 @@ Release 2.6.0 - UNRELEASED
 HADOOP-11064. UnsatisifedLinkError with hadoop 2.4 JARs on hadoop-2.6 due 
to
 NativeCRC32 method changes. (cnauroth)
 
+HADOOP-11048. user/custom LogManager fails to load if the client
+classloader is enabled (Sangjin Lee via jlowe)
+
 Release 2.5.1 - 2014-09-05
 
   INCOMPATIBLE CHANGES

http://git-wip-us.apache.org/repos/asf/hadoop/blob/50a5227d/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/RunJar.java
--
diff --git 
a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/RunJar.java
 
b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/RunJar.java
index 75b43b6..4b26b76 100644
--- 
a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/RunJar.java
+++ 
b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/RunJar.java
@@ -176,7 +176,7 @@ public class RunJar {
 }
 mainClassName = mainClassName.replaceAll("/", ".");
 
-File tmpDir = new File(new Configuration().get("hadoop.tmp.dir"));
+File tmpDir = new File(System.getProperty("java.io.tmpdir"));
 ensureDirectory(tmpDir);
 
 final File workDir;
@@ -185,7 +185,7 @@ public class RunJar {
 } catch (IOException ioe) {
   // If user has insufficient perms to write to tmpDir, default  
   // "Permission denied" message doesn't specify a filename. 
-  System.err.println("Error creating temp dir in hadoop.tmp.dir "
+  System.err.println("Error creating temp dir in java.io.tmpdir "
  + tmpDir + " due to " + ioe.getMessage());
   System.exit(-1);
   return;



[2/3] YARN-1769. CapacityScheduler: Improve reservations. Contributed by Thomas Graves

2014-09-29 Thread jlowe
http://git-wip-us.apache.org/repos/asf/hadoop/blob/9c220651/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/TestLeafQueue.java
--
diff --git 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/TestLeafQueue.java
 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/TestLeafQueue.java
index 083cb71..092ff83 100644
--- 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/TestLeafQueue.java
+++ 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/TestLeafQueue.java
@@ -22,6 +22,7 @@ import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
 import static org.mockito.Matchers.any;
+import static org.mockito.Matchers.anyBoolean;
 import static org.mockito.Matchers.eq;
 import static org.mockito.Mockito.doAnswer;
 import static org.mockito.Mockito.doNothing;
@@ -252,7 +253,7 @@ public class TestLeafQueue {
 doNothing().when(parent).completedContainer(
 any(Resource.class), any(FiCaSchedulerApp.class), 
any(FiCaSchedulerNode.class), 
 any(RMContainer.class), any(ContainerStatus.class), 
-any(RMContainerEventType.class), any(CSQueue.class));
+any(RMContainerEventType.class), any(CSQueue.class), anyBoolean());
 
 return queue;
   }
@@ -325,7 +326,7 @@ public class TestLeafQueue {
 // Start testing...
 
 // Only 1 container
-a.assignContainers(clusterResource, node_0);
+a.assignContainers(clusterResource, node_0, false);
 assertEquals(
 (int)(node_0.getTotalResource().getMemory() * a.getCapacity()) - 
(1*GB),
 a.getMetrics().getAvailableMB());
@@ -460,7 +461,7 @@ public class TestLeafQueue {
 // Start testing...
 
 // Only 1 container
-a.assignContainers(clusterResource, node_0);
+a.assignContainers(clusterResource, node_0, false);
 assertEquals(1*GB, a.getUsedResources().getMemory());
 assertEquals(1*GB, app_0.getCurrentConsumption().getMemory());
 assertEquals(0*GB, app_1.getCurrentConsumption().getMemory());
@@ -470,7 +471,7 @@ public class TestLeafQueue {
 
 // Also 2nd -> minCapacity = 1024 since (.1 * 8G) < minAlloc, also
 // you can get one container more than user-limit
-a.assignContainers(clusterResource, node_0);
+a.assignContainers(clusterResource, node_0, false);
 assertEquals(2*GB, a.getUsedResources().getMemory());
 assertEquals(2*GB, app_0.getCurrentConsumption().getMemory());
 assertEquals(0*GB, app_1.getCurrentConsumption().getMemory());
@@ -478,7 +479,7 @@ public class TestLeafQueue {
 assertEquals(2*GB, a.getMetrics().getAllocatedMB());
 
 // Can't allocate 3rd due to user-limit
-a.assignContainers(clusterResource, node_0);
+a.assignContainers(clusterResource, node_0, false);
 assertEquals(2*GB, a.getUsedResources().getMemory());
 assertEquals(2*GB, app_0.getCurrentConsumption().getMemory());
 assertEquals(0*GB, app_1.getCurrentConsumption().getMemory());
@@ -487,7 +488,7 @@ public class TestLeafQueue {
 
 // Bump up user-limit-factor, now allocate should work
 a.setUserLimitFactor(10);
-a.assignContainers(clusterResource, node_0);
+a.assignContainers(clusterResource, node_0, false);
 assertEquals(3*GB, a.getUsedResources().getMemory());
 assertEquals(3*GB, app_0.getCurrentConsumption().getMemory());
 assertEquals(0*GB, app_1.getCurrentConsumption().getMemory());
@@ -495,7 +496,7 @@ public class TestLeafQueue {
 assertEquals(3*GB, a.getMetrics().getAllocatedMB());
 
 // One more should work, for app_1, due to user-limit-factor
-a.assignContainers(clusterResource, node_0);
+a.assignContainers(clusterResource, node_0, false);
 assertEquals(4*GB, a.getUsedResources().getMemory());
 assertEquals(3*GB, app_0.getCurrentConsumption().getMemory());
 assertEquals(1*GB, app_1.getCurrentConsumption().getMemory());
@@ -505,7 +506,7 @@ public class TestLeafQueue {
 // Test max-capacity
 // Now - no more allocs since we are at max-cap
 a.setMaxCapacity(0.5f);
-a.assignContainers(clusterResource, node_0);
+a.assignContainers(clusterResource, node_0, false);
 assertEquals(4*GB, a.getUsedResources().getMemory());
 assertEquals(3*GB, app_0.getCurrentConsumption().getMemory());
 assertEquals(1*GB, app_1.getCurrentConsumption().getMemory());
@@ -

[1/3] YARN-1769. CapacityScheduler: Improve reservations. Contributed by Thomas Graves

2014-09-29 Thread jlowe
Repository: hadoop
Updated Branches:
  refs/heads/trunk b38e52b5e -> 9c2206510


http://git-wip-us.apache.org/repos/asf/hadoop/blob/9c220651/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/TestReservations.java
--
diff --git 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/TestReservations.java
 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/TestReservations.java
new file mode 100644
index 000..0f8290e
--- /dev/null
+++ 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/TestReservations.java
@@ -0,0 +1,1184 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.Matchers.any;
+import static org.mockito.Matchers.anyBoolean;
+import static org.mockito.Mockito.doAnswer;
+import static org.mockito.Mockito.doNothing;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.when;
+
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Map;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.hadoop.yarn.api.records.ApplicationAttemptId;
+import org.apache.hadoop.yarn.api.records.Container;
+import org.apache.hadoop.yarn.api.records.ContainerId;
+import org.apache.hadoop.yarn.api.records.ContainerStatus;
+import org.apache.hadoop.yarn.api.records.NodeId;
+import org.apache.hadoop.yarn.api.records.Priority;
+import org.apache.hadoop.yarn.api.records.QueueACL;
+import org.apache.hadoop.yarn.api.records.Resource;
+import org.apache.hadoop.yarn.api.records.ResourceRequest;
+import org.apache.hadoop.yarn.conf.YarnConfiguration;
+import org.apache.hadoop.yarn.event.DrainDispatcher;
+import org.apache.hadoop.yarn.factories.RecordFactory;
+import org.apache.hadoop.yarn.factory.providers.RecordFactoryProvider;
+import org.apache.hadoop.yarn.server.resourcemanager.RMContext;
+import 
org.apache.hadoop.yarn.server.resourcemanager.ahs.RMApplicationHistoryWriter;
+import 
org.apache.hadoop.yarn.server.resourcemanager.metrics.SystemMetricsPublisher;
+import 
org.apache.hadoop.yarn.server.resourcemanager.rmcontainer.ContainerAllocationExpirer;
+import org.apache.hadoop.yarn.server.resourcemanager.rmcontainer.RMContainer;
+import 
org.apache.hadoop.yarn.server.resourcemanager.rmcontainer.RMContainerEventType;
+import 
org.apache.hadoop.yarn.server.resourcemanager.rmcontainer.RMContainerImpl;
+import 
org.apache.hadoop.yarn.server.resourcemanager.scheduler.ActiveUsersManager;
+import 
org.apache.hadoop.yarn.server.resourcemanager.scheduler.common.fica.FiCaSchedulerApp;
+import 
org.apache.hadoop.yarn.server.resourcemanager.scheduler.common.fica.FiCaSchedulerNode;
+import 
org.apache.hadoop.yarn.server.resourcemanager.security.RMContainerTokenSecretManager;
+import org.apache.hadoop.yarn.server.utils.BuilderUtils;
+import org.apache.hadoop.yarn.util.resource.DefaultResourceCalculator;
+import org.apache.hadoop.yarn.util.resource.ResourceCalculator;
+import org.apache.hadoop.yarn.util.resource.Resources;
+import org.junit.Before;
+import org.junit.Test;
+import org.mockito.invocation.InvocationOnMock;
+import org.mockito.stubbing.Answer;
+
+public class TestReservations {
+
+  private static final Log LOG = LogFactory.getLog(TestReservations.class);
+
+  private final RecordFactory recordFactory = RecordFactoryProvider
+  .getRecordFactory(null);
+
+  RMContext rmContext;
+  CapacityScheduler cs;
+  // CapacitySchedulerConfiguration csConf;
+  CapacitySchedulerContex

[3/3] git commit: YARN-1769. CapacityScheduler: Improve reservations. Contributed by Thomas Graves

2014-09-29 Thread jlowe
YARN-1769. CapacityScheduler: Improve reservations. Contributed by Thomas Graves


Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/9c220651
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/9c220651
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/9c220651

Branch: refs/heads/trunk
Commit: 9c22065109a77681bc2534063eabe8692fbcb3cd
Parents: b38e52b
Author: Jason Lowe 
Authored: Mon Sep 29 14:12:18 2014 +
Committer: Jason Lowe 
Committed: Mon Sep 29 14:12:18 2014 +

--
 hadoop-yarn-project/CHANGES.txt |3 +
 .../dev-support/findbugs-exclude.xml|   12 +
 .../scheduler/capacity/CSQueue.java |7 +-
 .../scheduler/capacity/CapacityScheduler.java   |   15 +-
 .../CapacitySchedulerConfiguration.java |   18 +
 .../capacity/CapacitySchedulerContext.java  |6 +-
 .../scheduler/capacity/LeafQueue.java   |  349 +-
 .../scheduler/capacity/ParentQueue.java |   99 +-
 .../scheduler/common/fica/FiCaSchedulerApp.java |   27 +
 .../capacity/TestApplicationLimits.java |8 +-
 .../scheduler/capacity/TestChildQueueOrder.java |   32 +-
 .../scheduler/capacity/TestLeafQueue.java   |  148 +--
 .../scheduler/capacity/TestParentQueue.java |   81 +-
 .../scheduler/capacity/TestReservations.java| 1184 ++
 14 files changed, 1760 insertions(+), 229 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hadoop/blob/9c220651/hadoop-yarn-project/CHANGES.txt
--
diff --git a/hadoop-yarn-project/CHANGES.txt b/hadoop-yarn-project/CHANGES.txt
index 0a6500b..7fa83be 100644
--- a/hadoop-yarn-project/CHANGES.txt
+++ b/hadoop-yarn-project/CHANGES.txt
@@ -265,6 +265,9 @@ Release 2.6.0 - UNRELEASED
 YARN-668. Changed 
NMTokenIdentifier/AMRMTokenIdentifier/ContainerTokenIdentifier
 to use protobuf object as the payload. (Junping Du via jianhe)
 
+YARN-1769. CapacityScheduler: Improve reservations (Thomas Graves via
+jlowe)
+
   OPTIMIZATIONS
 
   BUG FIXES

http://git-wip-us.apache.org/repos/asf/hadoop/blob/9c220651/hadoop-yarn-project/hadoop-yarn/dev-support/findbugs-exclude.xml
--
diff --git a/hadoop-yarn-project/hadoop-yarn/dev-support/findbugs-exclude.xml 
b/hadoop-yarn-project/hadoop-yarn/dev-support/findbugs-exclude.xml
index b1dfb1e..0e6207b 100644
--- a/hadoop-yarn-project/hadoop-yarn/dev-support/findbugs-exclude.xml
+++ b/hadoop-yarn-project/hadoop-yarn/dev-support/findbugs-exclude.xml
@@ -351,4 +351,16 @@
 
 
   
+
+   
+  
+
+
+
+  
+  
+
+
+
+  
 

http://git-wip-us.apache.org/repos/asf/hadoop/blob/9c220651/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/CSQueue.java
--
diff --git 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/CSQueue.java
 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/CSQueue.java
index 04c2fd5..db893dc 100644
--- 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/CSQueue.java
+++ 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/CSQueue.java
@@ -184,10 +184,11 @@ extends 
org.apache.hadoop.yarn.server.resourcemanager.scheduler.Queue {
* Assign containers to applications in the queue or it's children (if any).
* @param clusterResource the resource of the cluster.
* @param node node on which resources are available
+   * @param needToUnreserve assign container only if it can unreserve one first
* @return the assignment
*/
   public CSAssignment assignContainers(
-  Resource clusterResource, FiCaSchedulerNode node);
+  Resource clusterResource, FiCaSchedulerNode node, boolean 
needToUnreserve);
   
   /**
* A container assigned to the queue has completed.
@@ -200,11 +201,13 @@ extends 
org.apache.hadoop.yarn.server.resourcemanager.scheduler.Queue {
*container
* @param childQueue CSQueue to reinsert in childQueues 
* @param event event to be sent to the container
+   * @param sortQueues indicates whether it should re-sort the queues
*/
   public void completedCont

[3/3] git commit: YARN-1769. CapacityScheduler: Improve reservations. Contributed by Thomas Graves (cherry picked from commit 9c22065109a77681bc2534063eabe8692fbcb3cd)

2014-09-29 Thread jlowe
YARN-1769. CapacityScheduler: Improve reservations. Contributed by Thomas Graves
(cherry picked from commit 9c22065109a77681bc2534063eabe8692fbcb3cd)


Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/4f6a3671
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/4f6a3671
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/4f6a3671

Branch: refs/heads/branch-2
Commit: 4f6a3671665f3dda5c6213d5deb2495db981cbd1
Parents: 8ebea28
Author: Jason Lowe 
Authored: Mon Sep 29 14:12:18 2014 +
Committer: Jason Lowe 
Committed: Mon Sep 29 14:13:21 2014 +

--
 hadoop-yarn-project/CHANGES.txt |3 +
 .../dev-support/findbugs-exclude.xml|   12 +
 .../scheduler/capacity/CSQueue.java |7 +-
 .../scheduler/capacity/CapacityScheduler.java   |   15 +-
 .../CapacitySchedulerConfiguration.java |   18 +
 .../capacity/CapacitySchedulerContext.java  |6 +-
 .../scheduler/capacity/LeafQueue.java   |  349 +-
 .../scheduler/capacity/ParentQueue.java |   99 +-
 .../scheduler/common/fica/FiCaSchedulerApp.java |   27 +
 .../capacity/TestApplicationLimits.java |8 +-
 .../scheduler/capacity/TestChildQueueOrder.java |   32 +-
 .../scheduler/capacity/TestLeafQueue.java   |  148 +--
 .../scheduler/capacity/TestParentQueue.java |   81 +-
 .../scheduler/capacity/TestReservations.java| 1184 ++
 14 files changed, 1760 insertions(+), 229 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hadoop/blob/4f6a3671/hadoop-yarn-project/CHANGES.txt
--
diff --git a/hadoop-yarn-project/CHANGES.txt b/hadoop-yarn-project/CHANGES.txt
index 925cefb..f55f2f6 100644
--- a/hadoop-yarn-project/CHANGES.txt
+++ b/hadoop-yarn-project/CHANGES.txt
@@ -235,6 +235,9 @@ Release 2.6.0 - UNRELEASED
 YARN-668. Changed 
NMTokenIdentifier/AMRMTokenIdentifier/ContainerTokenIdentifier
 to use protobuf object as the payload. (Junping Du via jianhe)
 
+YARN-1769. CapacityScheduler: Improve reservations (Thomas Graves via
+jlowe)
+
   OPTIMIZATIONS
 
   BUG FIXES

http://git-wip-us.apache.org/repos/asf/hadoop/blob/4f6a3671/hadoop-yarn-project/hadoop-yarn/dev-support/findbugs-exclude.xml
--
diff --git a/hadoop-yarn-project/hadoop-yarn/dev-support/findbugs-exclude.xml 
b/hadoop-yarn-project/hadoop-yarn/dev-support/findbugs-exclude.xml
index b1dfb1e..0e6207b 100644
--- a/hadoop-yarn-project/hadoop-yarn/dev-support/findbugs-exclude.xml
+++ b/hadoop-yarn-project/hadoop-yarn/dev-support/findbugs-exclude.xml
@@ -351,4 +351,16 @@
 
 
   
+
+   
+  
+
+
+
+  
+  
+
+
+
+  
 

http://git-wip-us.apache.org/repos/asf/hadoop/blob/4f6a3671/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/CSQueue.java
--
diff --git 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/CSQueue.java
 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/CSQueue.java
index 04c2fd5..db893dc 100644
--- 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/CSQueue.java
+++ 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/CSQueue.java
@@ -184,10 +184,11 @@ extends 
org.apache.hadoop.yarn.server.resourcemanager.scheduler.Queue {
* Assign containers to applications in the queue or it's children (if any).
* @param clusterResource the resource of the cluster.
* @param node node on which resources are available
+   * @param needToUnreserve assign container only if it can unreserve one first
* @return the assignment
*/
   public CSAssignment assignContainers(
-  Resource clusterResource, FiCaSchedulerNode node);
+  Resource clusterResource, FiCaSchedulerNode node, boolean 
needToUnreserve);
   
   /**
* A container assigned to the queue has completed.
@@ -200,11 +201,13 @@ extends 
org.apache.hadoop.yarn.server.resourcemanager.scheduler.Queue {
*container
* @param childQueue CSQueue to reinsert in childQueues 
* @param event event to be sent to the container
+   * @param sortQueues indicates wheth

[1/3] YARN-1769. CapacityScheduler: Improve reservations. Contributed by Thomas Graves (cherry picked from commit 9c22065109a77681bc2534063eabe8692fbcb3cd)

2014-09-29 Thread jlowe
Repository: hadoop
Updated Branches:
  refs/heads/branch-2 8ebea28b4 -> 4f6a36716


http://git-wip-us.apache.org/repos/asf/hadoop/blob/4f6a3671/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/TestReservations.java
--
diff --git 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/TestReservations.java
 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/TestReservations.java
new file mode 100644
index 000..0f8290e
--- /dev/null
+++ 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/TestReservations.java
@@ -0,0 +1,1184 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.Matchers.any;
+import static org.mockito.Matchers.anyBoolean;
+import static org.mockito.Mockito.doAnswer;
+import static org.mockito.Mockito.doNothing;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.when;
+
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Map;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.hadoop.yarn.api.records.ApplicationAttemptId;
+import org.apache.hadoop.yarn.api.records.Container;
+import org.apache.hadoop.yarn.api.records.ContainerId;
+import org.apache.hadoop.yarn.api.records.ContainerStatus;
+import org.apache.hadoop.yarn.api.records.NodeId;
+import org.apache.hadoop.yarn.api.records.Priority;
+import org.apache.hadoop.yarn.api.records.QueueACL;
+import org.apache.hadoop.yarn.api.records.Resource;
+import org.apache.hadoop.yarn.api.records.ResourceRequest;
+import org.apache.hadoop.yarn.conf.YarnConfiguration;
+import org.apache.hadoop.yarn.event.DrainDispatcher;
+import org.apache.hadoop.yarn.factories.RecordFactory;
+import org.apache.hadoop.yarn.factory.providers.RecordFactoryProvider;
+import org.apache.hadoop.yarn.server.resourcemanager.RMContext;
+import 
org.apache.hadoop.yarn.server.resourcemanager.ahs.RMApplicationHistoryWriter;
+import 
org.apache.hadoop.yarn.server.resourcemanager.metrics.SystemMetricsPublisher;
+import 
org.apache.hadoop.yarn.server.resourcemanager.rmcontainer.ContainerAllocationExpirer;
+import org.apache.hadoop.yarn.server.resourcemanager.rmcontainer.RMContainer;
+import 
org.apache.hadoop.yarn.server.resourcemanager.rmcontainer.RMContainerEventType;
+import 
org.apache.hadoop.yarn.server.resourcemanager.rmcontainer.RMContainerImpl;
+import 
org.apache.hadoop.yarn.server.resourcemanager.scheduler.ActiveUsersManager;
+import 
org.apache.hadoop.yarn.server.resourcemanager.scheduler.common.fica.FiCaSchedulerApp;
+import 
org.apache.hadoop.yarn.server.resourcemanager.scheduler.common.fica.FiCaSchedulerNode;
+import 
org.apache.hadoop.yarn.server.resourcemanager.security.RMContainerTokenSecretManager;
+import org.apache.hadoop.yarn.server.utils.BuilderUtils;
+import org.apache.hadoop.yarn.util.resource.DefaultResourceCalculator;
+import org.apache.hadoop.yarn.util.resource.ResourceCalculator;
+import org.apache.hadoop.yarn.util.resource.Resources;
+import org.junit.Before;
+import org.junit.Test;
+import org.mockito.invocation.InvocationOnMock;
+import org.mockito.stubbing.Answer;
+
+public class TestReservations {
+
+  private static final Log LOG = LogFactory.getLog(TestReservations.class);
+
+  private final RecordFactory recordFactory = RecordFactoryProvider
+  .getRecordFactory(null);
+
+  RMContext rmContext;
+  CapacityScheduler cs;
+  // CapacitySchedulerConfiguration csConf;
+  CapacitySchedulerCon

[2/3] YARN-1769. CapacityScheduler: Improve reservations. Contributed by Thomas Graves (cherry picked from commit 9c22065109a77681bc2534063eabe8692fbcb3cd)

2014-09-29 Thread jlowe
http://git-wip-us.apache.org/repos/asf/hadoop/blob/4f6a3671/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/TestLeafQueue.java
--
diff --git 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/TestLeafQueue.java
 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/TestLeafQueue.java
index 083cb71..092ff83 100644
--- 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/TestLeafQueue.java
+++ 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/TestLeafQueue.java
@@ -22,6 +22,7 @@ import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
 import static org.mockito.Matchers.any;
+import static org.mockito.Matchers.anyBoolean;
 import static org.mockito.Matchers.eq;
 import static org.mockito.Mockito.doAnswer;
 import static org.mockito.Mockito.doNothing;
@@ -252,7 +253,7 @@ public class TestLeafQueue {
 doNothing().when(parent).completedContainer(
 any(Resource.class), any(FiCaSchedulerApp.class), 
any(FiCaSchedulerNode.class), 
 any(RMContainer.class), any(ContainerStatus.class), 
-any(RMContainerEventType.class), any(CSQueue.class));
+any(RMContainerEventType.class), any(CSQueue.class), anyBoolean());
 
 return queue;
   }
@@ -325,7 +326,7 @@ public class TestLeafQueue {
 // Start testing...
 
 // Only 1 container
-a.assignContainers(clusterResource, node_0);
+a.assignContainers(clusterResource, node_0, false);
 assertEquals(
 (int)(node_0.getTotalResource().getMemory() * a.getCapacity()) - 
(1*GB),
 a.getMetrics().getAvailableMB());
@@ -460,7 +461,7 @@ public class TestLeafQueue {
 // Start testing...
 
 // Only 1 container
-a.assignContainers(clusterResource, node_0);
+a.assignContainers(clusterResource, node_0, false);
 assertEquals(1*GB, a.getUsedResources().getMemory());
 assertEquals(1*GB, app_0.getCurrentConsumption().getMemory());
 assertEquals(0*GB, app_1.getCurrentConsumption().getMemory());
@@ -470,7 +471,7 @@ public class TestLeafQueue {
 
 // Also 2nd -> minCapacity = 1024 since (.1 * 8G) < minAlloc, also
 // you can get one container more than user-limit
-a.assignContainers(clusterResource, node_0);
+a.assignContainers(clusterResource, node_0, false);
 assertEquals(2*GB, a.getUsedResources().getMemory());
 assertEquals(2*GB, app_0.getCurrentConsumption().getMemory());
 assertEquals(0*GB, app_1.getCurrentConsumption().getMemory());
@@ -478,7 +479,7 @@ public class TestLeafQueue {
 assertEquals(2*GB, a.getMetrics().getAllocatedMB());
 
 // Can't allocate 3rd due to user-limit
-a.assignContainers(clusterResource, node_0);
+a.assignContainers(clusterResource, node_0, false);
 assertEquals(2*GB, a.getUsedResources().getMemory());
 assertEquals(2*GB, app_0.getCurrentConsumption().getMemory());
 assertEquals(0*GB, app_1.getCurrentConsumption().getMemory());
@@ -487,7 +488,7 @@ public class TestLeafQueue {
 
 // Bump up user-limit-factor, now allocate should work
 a.setUserLimitFactor(10);
-a.assignContainers(clusterResource, node_0);
+a.assignContainers(clusterResource, node_0, false);
 assertEquals(3*GB, a.getUsedResources().getMemory());
 assertEquals(3*GB, app_0.getCurrentConsumption().getMemory());
 assertEquals(0*GB, app_1.getCurrentConsumption().getMemory());
@@ -495,7 +496,7 @@ public class TestLeafQueue {
 assertEquals(3*GB, a.getMetrics().getAllocatedMB());
 
 // One more should work, for app_1, due to user-limit-factor
-a.assignContainers(clusterResource, node_0);
+a.assignContainers(clusterResource, node_0, false);
 assertEquals(4*GB, a.getUsedResources().getMemory());
 assertEquals(3*GB, app_0.getCurrentConsumption().getMemory());
 assertEquals(1*GB, app_1.getCurrentConsumption().getMemory());
@@ -505,7 +506,7 @@ public class TestLeafQueue {
 // Test max-capacity
 // Now - no more allocs since we are at max-cap
 a.setMaxCapacity(0.5f);
-a.assignContainers(clusterResource, node_0);
+a.assignContainers(clusterResource, node_0, false);
 assertEquals(4*GB, a.getUsedResources().getMemory());
 assertEquals(3*GB, app_0.getCurrentConsumption().getMemory());
 assertEquals(1*GB, app_1.getCurrentConsumption().getMemory());
@@ -

git commit: HADOOP-11049. javax package system class default is too broad. Contributed by Sangjin Lee

2014-09-29 Thread jlowe
Repository: hadoop
Updated Branches:
  refs/heads/trunk 9c2206510 -> cf4631d7c


HADOOP-11049. javax package system class default is too broad. Contributed by 
Sangjin Lee


Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/cf4631d7
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/cf4631d7
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/cf4631d7

Branch: refs/heads/trunk
Commit: cf4631d7c9448205f4952341c071e1650e7922dc
Parents: 9c22065
Author: Jason Lowe 
Authored: Mon Sep 29 14:36:29 2014 +
Committer: Jason Lowe 
Committed: Mon Sep 29 14:36:29 2014 +

--
 hadoop-common-project/hadoop-common/CHANGES.txt |  3 ++
 .../hadoop/util/ApplicationClassLoader.java | 47 +++-
 ...he.hadoop.application-classloader.properties | 57 
 .../java/org/apache/hadoop/util/TestRunJar.java |  2 +-
 .../hadoop/mapreduce/v2/util/TestMRApps.java|  4 +-
 .../apache/hadoop/mapreduce/v2/TestMRJobs.java  |  2 +-
 6 files changed, 98 insertions(+), 17 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hadoop/blob/cf4631d7/hadoop-common-project/hadoop-common/CHANGES.txt
--
diff --git a/hadoop-common-project/hadoop-common/CHANGES.txt 
b/hadoop-common-project/hadoop-common/CHANGES.txt
index 14c21fa..d6be9f0 100644
--- a/hadoop-common-project/hadoop-common/CHANGES.txt
+++ b/hadoop-common-project/hadoop-common/CHANGES.txt
@@ -885,6 +885,9 @@ Release 2.6.0 - UNRELEASED
 HADOOP-11143 NetUtils.wrapException loses inner stack trace on 
BindException
 (stevel)
 
+HADOOP-11049. javax package system class default is too broad (Sangjin Lee
+via jlowe)
+
 Release 2.5.1 - 2014-09-05
 
   INCOMPATIBLE CHANGES

http://git-wip-us.apache.org/repos/asf/hadoop/blob/cf4631d7/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/ApplicationClassLoader.java
--
diff --git 
a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/ApplicationClassLoader.java
 
b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/ApplicationClassLoader.java
index 5dda10f..b18997c 100644
--- 
a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/ApplicationClassLoader.java
+++ 
b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/ApplicationClassLoader.java
@@ -20,12 +20,15 @@ package org.apache.hadoop.util;
 
 import java.io.File;
 import java.io.FilenameFilter;
+import java.io.IOException;
+import java.io.InputStream;
 import java.net.MalformedURLException;
 import java.net.URL;
 import java.net.URLClassLoader;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
+import java.util.Properties;
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
@@ -45,18 +48,12 @@ public class ApplicationClassLoader extends URLClassLoader {
* classes are considered system classes, and are not loaded by the
* application classloader.
*/
-  public static final String DEFAULT_SYSTEM_CLASSES =
-"java.," +
-"javax.," +
-"org.w3c.dom.," +
-"org.xml.sax.," +
-"org.apache.commons.logging.," +
-"org.apache.log4j.," +
-"org.apache.hadoop.," +
-"core-default.xml," +
-"hdfs-default.xml," +
-"mapred-default.xml," +
-"yarn-default.xml";
+  public static final String SYSTEM_CLASSES_DEFAULT;
+
+  private static final String PROPERTIES_FILE =
+  "org.apache.hadoop.application-classloader.properties";
+  private static final String SYSTEM_CLASSES_DEFAULT_KEY =
+  "system.classes.default";
 
   private static final Log LOG =
 LogFactory.getLog(ApplicationClassLoader.class.getName());
@@ -69,6 +66,30 @@ public class ApplicationClassLoader extends URLClassLoader {
   }
   };
 
+  static {
+InputStream is = null;
+try {
+  is = ApplicationClassLoader.class.getClassLoader().
+  getResourceAsStream(PROPERTIES_FILE);
+  if (is == null) {
+throw new ExceptionInInitializerError("properties file " +
+PROPERTIES_FILE + " is not found");
+  }
+  Properties props = new Properties();
+  props.load(is);
+  // get the system classes default
+  String systemClassesDefault =
+  props.getProperty(SYSTEM_CLASSES_DEFAULT_KEY);
+  if (systemClassesDefault == null) {
+throw new ExceptionInInitializerError("property " +
+SYSTEM_CLASSES_DEFAULT_KEY + " is not found");

git commit: HADOOP-11049. javax package system class default is too broad. Contributed by Sangjin Lee (cherry picked from commit cf4631d7c9448205f4952341c071e1650e7922dc)

2014-09-29 Thread jlowe
Repository: hadoop
Updated Branches:
  refs/heads/branch-2 4f6a36716 -> 0cfff28f5


HADOOP-11049. javax package system class default is too broad. Contributed by 
Sangjin Lee
(cherry picked from commit cf4631d7c9448205f4952341c071e1650e7922dc)


Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/0cfff28f
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/0cfff28f
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/0cfff28f

Branch: refs/heads/branch-2
Commit: 0cfff28f57811fe3dbac52a3286086b11fabfa24
Parents: 4f6a367
Author: Jason Lowe 
Authored: Mon Sep 29 14:36:29 2014 +
Committer: Jason Lowe 
Committed: Mon Sep 29 14:37:28 2014 +

--
 hadoop-common-project/hadoop-common/CHANGES.txt |  3 ++
 .../hadoop/util/ApplicationClassLoader.java | 47 +++-
 ...he.hadoop.application-classloader.properties | 57 
 .../java/org/apache/hadoop/util/TestRunJar.java |  2 +-
 .../hadoop/mapreduce/v2/util/TestMRApps.java|  4 +-
 .../apache/hadoop/mapreduce/v2/TestMRJobs.java  |  2 +-
 6 files changed, 98 insertions(+), 17 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hadoop/blob/0cfff28f/hadoop-common-project/hadoop-common/CHANGES.txt
--
diff --git a/hadoop-common-project/hadoop-common/CHANGES.txt 
b/hadoop-common-project/hadoop-common/CHANGES.txt
index 28bd6e0..2d1f400 100644
--- a/hadoop-common-project/hadoop-common/CHANGES.txt
+++ b/hadoop-common-project/hadoop-common/CHANGES.txt
@@ -547,6 +547,9 @@ Release 2.6.0 - UNRELEASED
 HADOOP-11143 NetUtils.wrapException loses inner stack trace on 
BindException
 (stevel)
 
+HADOOP-11049. javax package system class default is too broad (Sangjin Lee
+via jlowe)
+
 Release 2.5.1 - 2014-09-05
 
   INCOMPATIBLE CHANGES

http://git-wip-us.apache.org/repos/asf/hadoop/blob/0cfff28f/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/ApplicationClassLoader.java
--
diff --git 
a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/ApplicationClassLoader.java
 
b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/ApplicationClassLoader.java
index 5dda10f..b18997c 100644
--- 
a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/ApplicationClassLoader.java
+++ 
b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/ApplicationClassLoader.java
@@ -20,12 +20,15 @@ package org.apache.hadoop.util;
 
 import java.io.File;
 import java.io.FilenameFilter;
+import java.io.IOException;
+import java.io.InputStream;
 import java.net.MalformedURLException;
 import java.net.URL;
 import java.net.URLClassLoader;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
+import java.util.Properties;
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
@@ -45,18 +48,12 @@ public class ApplicationClassLoader extends URLClassLoader {
* classes are considered system classes, and are not loaded by the
* application classloader.
*/
-  public static final String DEFAULT_SYSTEM_CLASSES =
-"java.," +
-"javax.," +
-"org.w3c.dom.," +
-"org.xml.sax.," +
-"org.apache.commons.logging.," +
-"org.apache.log4j.," +
-"org.apache.hadoop.," +
-"core-default.xml," +
-"hdfs-default.xml," +
-"mapred-default.xml," +
-"yarn-default.xml";
+  public static final String SYSTEM_CLASSES_DEFAULT;
+
+  private static final String PROPERTIES_FILE =
+  "org.apache.hadoop.application-classloader.properties";
+  private static final String SYSTEM_CLASSES_DEFAULT_KEY =
+  "system.classes.default";
 
   private static final Log LOG =
 LogFactory.getLog(ApplicationClassLoader.class.getName());
@@ -69,6 +66,30 @@ public class ApplicationClassLoader extends URLClassLoader {
   }
   };
 
+  static {
+InputStream is = null;
+try {
+  is = ApplicationClassLoader.class.getClassLoader().
+  getResourceAsStream(PROPERTIES_FILE);
+  if (is == null) {
+throw new ExceptionInInitializerError("properties file " +
+PROPERTIES_FILE + " is not found");
+  }
+  Properties props = new Properties();
+  props.load(is);
+  // get the system classes default
+  String systemClassesDefault =
+  props.getProperty(SYSTEM_CLASSES_DEFAULT_KEY);
+  if (systemClassesDefault == null) {
+throw new ExceptionInInitializerError("property " +
+  

git commit: MAPREDUCE-6094. TestMRCJCFileInputFormat.testAddInputPath() fails on trunk. Contributed by Akira AJISAKA

2014-09-29 Thread jlowe
Repository: hadoop
Updated Branches:
  refs/heads/trunk 371ef4cef -> 23fbfe36c


MAPREDUCE-6094. TestMRCJCFileInputFormat.testAddInputPath() fails on trunk. 
Contributed by Akira AJISAKA


Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/23fbfe36
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/23fbfe36
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/23fbfe36

Branch: refs/heads/trunk
Commit: 23fbfe36c31674907a26c8ecc6fd47888dfcc1ea
Parents: 371ef4c
Author: Jason Lowe 
Authored: Mon Sep 29 18:11:16 2014 +
Committer: Jason Lowe 
Committed: Mon Sep 29 18:12:59 2014 +

--
 hadoop-mapreduce-project/CHANGES.txt  | 3 +++
 .../hadoop/mapreduce/lib/input/TestMRCJCFileInputFormat.java  | 3 +--
 2 files changed, 4 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hadoop/blob/23fbfe36/hadoop-mapreduce-project/CHANGES.txt
--
diff --git a/hadoop-mapreduce-project/CHANGES.txt 
b/hadoop-mapreduce-project/CHANGES.txt
index b5c7a77..2dc7b6d 100644
--- a/hadoop-mapreduce-project/CHANGES.txt
+++ b/hadoop-mapreduce-project/CHANGES.txt
@@ -396,6 +396,9 @@ Release 2.6.0 - UNRELEASED
 MRJobConfig#MR_CLIENT_TO_AM_IPC_MAX_RETRIES_ON_TIMEOUTS. Contributed by
 Akira AJISAKA. (Akira AJISAKA via jianhe)
 
+MAPREDUCE-6094. TestMRCJCFileInputFormat.testAddInputPath() fails on trunk
+(Akira AJISAKA via jlowe)
+
 Release 2.5.1 - 2014-09-05
 
   INCOMPATIBLE CHANGES

http://git-wip-us.apache.org/repos/asf/hadoop/blob/23fbfe36/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/test/java/org/apache/hadoop/mapreduce/lib/input/TestMRCJCFileInputFormat.java
--
diff --git 
a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/test/java/org/apache/hadoop/mapreduce/lib/input/TestMRCJCFileInputFormat.java
 
b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/test/java/org/apache/hadoop/mapreduce/lib/input/TestMRCJCFileInputFormat.java
index aeba171..b806630 100644
--- 
a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/test/java/org/apache/hadoop/mapreduce/lib/input/TestMRCJCFileInputFormat.java
+++ 
b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/test/java/org/apache/hadoop/mapreduce/lib/input/TestMRCJCFileInputFormat.java
@@ -47,9 +47,8 @@ public class TestMRCJCFileInputFormat {
   @Test
   public void testAddInputPath() throws IOException {
 final Configuration conf = new Configuration();
-conf.set("fs.defaultFS", "s3://abc:xyz@hostname/");
+conf.set("fs.defaultFS", "file:///abc/");
 final Job j = Job.getInstance(conf);
-j.getConfiguration().set("fs.defaultFS", "s3://abc:xyz@hostname/");
 
 //setup default fs
 final FileSystem defaultfs = FileSystem.get(conf);



git commit: MAPREDUCE-6094. TestMRCJCFileInputFormat.testAddInputPath() fails on trunk. Contributed by Akira AJISAKA (cherry picked from commit 23fbfe36c31674907a26c8ecc6fd47888dfcc1ea)

2014-09-29 Thread jlowe
Repository: hadoop
Updated Branches:
  refs/heads/branch-2 c7cf212b2 -> 7b8f2f5b1


MAPREDUCE-6094. TestMRCJCFileInputFormat.testAddInputPath() fails on trunk. 
Contributed by Akira AJISAKA
(cherry picked from commit 23fbfe36c31674907a26c8ecc6fd47888dfcc1ea)


Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/7b8f2f5b
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/7b8f2f5b
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/7b8f2f5b

Branch: refs/heads/branch-2
Commit: 7b8f2f5b1dbc0c3df2dd9e06371057395b34d6e9
Parents: c7cf212
Author: Jason Lowe 
Authored: Mon Sep 29 18:11:16 2014 +
Committer: Jason Lowe 
Committed: Mon Sep 29 18:14:11 2014 +

--
 hadoop-mapreduce-project/CHANGES.txt  | 3 +++
 .../hadoop/mapreduce/lib/input/TestMRCJCFileInputFormat.java  | 3 +--
 2 files changed, 4 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hadoop/blob/7b8f2f5b/hadoop-mapreduce-project/CHANGES.txt
--
diff --git a/hadoop-mapreduce-project/CHANGES.txt 
b/hadoop-mapreduce-project/CHANGES.txt
index 23d991f..e499d2a 100644
--- a/hadoop-mapreduce-project/CHANGES.txt
+++ b/hadoop-mapreduce-project/CHANGES.txt
@@ -177,6 +177,9 @@ Release 2.6.0 - UNRELEASED
 MRJobConfig#MR_CLIENT_TO_AM_IPC_MAX_RETRIES_ON_TIMEOUTS. Contributed by
 Akira AJISAKA. (Akira AJISAKA via jianhe)
 
+MAPREDUCE-6094. TestMRCJCFileInputFormat.testAddInputPath() fails on trunk
+(Akira AJISAKA via jlowe)
+
 Release 2.5.1 - 2014-09-05
 
   INCOMPATIBLE CHANGES

http://git-wip-us.apache.org/repos/asf/hadoop/blob/7b8f2f5b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/test/java/org/apache/hadoop/mapreduce/lib/input/TestMRCJCFileInputFormat.java
--
diff --git 
a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/test/java/org/apache/hadoop/mapreduce/lib/input/TestMRCJCFileInputFormat.java
 
b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/test/java/org/apache/hadoop/mapreduce/lib/input/TestMRCJCFileInputFormat.java
index aeba171..b806630 100644
--- 
a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/test/java/org/apache/hadoop/mapreduce/lib/input/TestMRCJCFileInputFormat.java
+++ 
b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/test/java/org/apache/hadoop/mapreduce/lib/input/TestMRCJCFileInputFormat.java
@@ -47,9 +47,8 @@ public class TestMRCJCFileInputFormat {
   @Test
   public void testAddInputPath() throws IOException {
 final Configuration conf = new Configuration();
-conf.set("fs.defaultFS", "s3://abc:xyz@hostname/");
+conf.set("fs.defaultFS", "file:///abc/");
 final Job j = Job.getInstance(conf);
-j.getConfiguration().set("fs.defaultFS", "s3://abc:xyz@hostname/");
 
 //setup default fs
 final FileSystem defaultfs = FileSystem.get(conf);



git commit: YARN-2387. Resource Manager crashes with NPE due to lack of synchronization. Contributed by Mit Desai

2014-09-30 Thread jlowe
Repository: hadoop
Updated Branches:
  refs/heads/trunk 9582a5017 -> feaf139b4


YARN-2387. Resource Manager crashes with NPE due to lack of synchronization. 
Contributed by Mit Desai


Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/feaf139b
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/feaf139b
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/feaf139b

Branch: refs/heads/trunk
Commit: feaf139b4f327d33011e5a4424c06fb44c630955
Parents: 9582a50
Author: Jason Lowe 
Authored: Tue Sep 30 22:37:28 2014 +
Committer: Jason Lowe 
Committed: Tue Sep 30 22:37:28 2014 +

--
 hadoop-yarn-project/CHANGES.txt |  3 +++
 .../records/impl/pb/ContainerStatusPBImpl.java  | 22 ++--
 2 files changed, 14 insertions(+), 11 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hadoop/blob/feaf139b/hadoop-yarn-project/CHANGES.txt
--
diff --git a/hadoop-yarn-project/CHANGES.txt b/hadoop-yarn-project/CHANGES.txt
index 6771839..be61dfe 100644
--- a/hadoop-yarn-project/CHANGES.txt
+++ b/hadoop-yarn-project/CHANGES.txt
@@ -485,6 +485,9 @@ Release 2.6.0 - UNRELEASED
 
 YARN-2610. Hamlet should close table tags. (Ray Chiang via kasha)
 
+YARN-2387. Resource Manager crashes with NPE due to lack of
+synchronization (Mit Desai via jlowe)
+
 Release 2.5.1 - 2014-09-05
 
   INCOMPATIBLE CHANGES

http://git-wip-us.apache.org/repos/asf/hadoop/blob/feaf139b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/api/records/impl/pb/ContainerStatusPBImpl.java
--
diff --git 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/api/records/impl/pb/ContainerStatusPBImpl.java
 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/api/records/impl/pb/ContainerStatusPBImpl.java
index 8e3e2cc..86f2af9 100644
--- 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/api/records/impl/pb/ContainerStatusPBImpl.java
+++ 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/api/records/impl/pb/ContainerStatusPBImpl.java
@@ -50,7 +50,7 @@ public class ContainerStatusPBImpl extends ContainerStatus {
 viaProto = true;
   }
   
-  public ContainerStatusProto getProto() {
+  public synchronized ContainerStatusProto getProto() {
   mergeLocalToProto();
 proto = viaProto ? proto : builder.build();
 viaProto = true;
@@ -90,7 +90,7 @@ public class ContainerStatusPBImpl extends ContainerStatus {
 }
   }
 
-  private void mergeLocalToProto() {
+  private synchronized void mergeLocalToProto() {
 if (viaProto) 
   maybeInitBuilder();
 mergeLocalToBuilder();
@@ -98,7 +98,7 @@ public class ContainerStatusPBImpl extends ContainerStatus {
 viaProto = true;
   }
 
-  private void maybeInitBuilder() {
+  private synchronized void maybeInitBuilder() {
 if (viaProto || builder == null) {
   builder = ContainerStatusProto.newBuilder(proto);
 }
@@ -107,7 +107,7 @@ public class ContainerStatusPBImpl extends ContainerStatus {
 
   
   @Override
-  public ContainerState getState() {
+  public synchronized ContainerState getState() {
 ContainerStatusProtoOrBuilder p = viaProto ? proto : builder;
 if (!p.hasState()) {
   return null;
@@ -116,7 +116,7 @@ public class ContainerStatusPBImpl extends ContainerStatus {
   }
 
   @Override
-  public void setState(ContainerState state) {
+  public synchronized void setState(ContainerState state) {
 maybeInitBuilder();
 if (state == null) {
   builder.clearState();
@@ -125,7 +125,7 @@ public class ContainerStatusPBImpl extends ContainerStatus {
 builder.setState(convertToProtoFormat(state));
   }
   @Override
-  public ContainerId getContainerId() {
+  public synchronized ContainerId getContainerId() {
 ContainerStatusProtoOrBuilder p = viaProto ? proto : builder;
 if (this.containerId != null) {
   return this.containerId;
@@ -138,32 +138,32 @@ public class ContainerStatusPBImpl extends 
ContainerStatus {
   }
 
   @Override
-  public void setContainerId(ContainerId containerId) {
+  public synchronized void setContainerId(ContainerId containerId) {
 maybeInitBuilder();
 if (containerId == null) 
   builder.clearContainerId();
 this.containerId = containerId;
   }
   @Override
-  public int getExitStatus() {
+  public synchronized int getExitStatus() {
 ContainerStatusProtoOrBuilder p = viaProto ? proto : builder;
 return p.getExitStatus();
   }
 
   @Override
-  public void setExitStatus(int exitStatus) {
+  public synchronized v

git commit: YARN-2387. Resource Manager crashes with NPE due to lack of synchronization. Contributed by Mit Desai (cherry picked from commit feaf139b4f327d33011e5a4424c06fb44c630955)

2014-09-30 Thread jlowe
Repository: hadoop
Updated Branches:
  refs/heads/branch-2 d977205b9 -> a0305ba3f


YARN-2387. Resource Manager crashes with NPE due to lack of synchronization. 
Contributed by Mit Desai
(cherry picked from commit feaf139b4f327d33011e5a4424c06fb44c630955)


Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/a0305ba3
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/a0305ba3
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/a0305ba3

Branch: refs/heads/branch-2
Commit: a0305ba3fcf3c7fd5285aac4117ca80538988f89
Parents: d977205
Author: Jason Lowe 
Authored: Tue Sep 30 22:37:28 2014 +
Committer: Jason Lowe 
Committed: Tue Sep 30 22:38:27 2014 +

--
 hadoop-yarn-project/CHANGES.txt |  3 +++
 .../records/impl/pb/ContainerStatusPBImpl.java  | 22 ++--
 2 files changed, 14 insertions(+), 11 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hadoop/blob/a0305ba3/hadoop-yarn-project/CHANGES.txt
--
diff --git a/hadoop-yarn-project/CHANGES.txt b/hadoop-yarn-project/CHANGES.txt
index c773145..017ce10 100644
--- a/hadoop-yarn-project/CHANGES.txt
+++ b/hadoop-yarn-project/CHANGES.txt
@@ -455,6 +455,9 @@ Release 2.6.0 - UNRELEASED
 
 YARN-2610. Hamlet should close table tags. (Ray Chiang via kasha)
 
+YARN-2387. Resource Manager crashes with NPE due to lack of
+synchronization (Mit Desai via jlowe)
+
 Release 2.5.1 - 2014-09-05
 
   INCOMPATIBLE CHANGES

http://git-wip-us.apache.org/repos/asf/hadoop/blob/a0305ba3/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/api/records/impl/pb/ContainerStatusPBImpl.java
--
diff --git 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/api/records/impl/pb/ContainerStatusPBImpl.java
 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/api/records/impl/pb/ContainerStatusPBImpl.java
index 8e3e2cc..86f2af9 100644
--- 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/api/records/impl/pb/ContainerStatusPBImpl.java
+++ 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/api/records/impl/pb/ContainerStatusPBImpl.java
@@ -50,7 +50,7 @@ public class ContainerStatusPBImpl extends ContainerStatus {
 viaProto = true;
   }
   
-  public ContainerStatusProto getProto() {
+  public synchronized ContainerStatusProto getProto() {
   mergeLocalToProto();
 proto = viaProto ? proto : builder.build();
 viaProto = true;
@@ -90,7 +90,7 @@ public class ContainerStatusPBImpl extends ContainerStatus {
 }
   }
 
-  private void mergeLocalToProto() {
+  private synchronized void mergeLocalToProto() {
 if (viaProto) 
   maybeInitBuilder();
 mergeLocalToBuilder();
@@ -98,7 +98,7 @@ public class ContainerStatusPBImpl extends ContainerStatus {
 viaProto = true;
   }
 
-  private void maybeInitBuilder() {
+  private synchronized void maybeInitBuilder() {
 if (viaProto || builder == null) {
   builder = ContainerStatusProto.newBuilder(proto);
 }
@@ -107,7 +107,7 @@ public class ContainerStatusPBImpl extends ContainerStatus {
 
   
   @Override
-  public ContainerState getState() {
+  public synchronized ContainerState getState() {
 ContainerStatusProtoOrBuilder p = viaProto ? proto : builder;
 if (!p.hasState()) {
   return null;
@@ -116,7 +116,7 @@ public class ContainerStatusPBImpl extends ContainerStatus {
   }
 
   @Override
-  public void setState(ContainerState state) {
+  public synchronized void setState(ContainerState state) {
 maybeInitBuilder();
 if (state == null) {
   builder.clearState();
@@ -125,7 +125,7 @@ public class ContainerStatusPBImpl extends ContainerStatus {
 builder.setState(convertToProtoFormat(state));
   }
   @Override
-  public ContainerId getContainerId() {
+  public synchronized ContainerId getContainerId() {
 ContainerStatusProtoOrBuilder p = viaProto ? proto : builder;
 if (this.containerId != null) {
   return this.containerId;
@@ -138,32 +138,32 @@ public class ContainerStatusPBImpl extends 
ContainerStatus {
   }
 
   @Override
-  public void setContainerId(ContainerId containerId) {
+  public synchronized void setContainerId(ContainerId containerId) {
 maybeInitBuilder();
 if (containerId == null) 
   builder.clearContainerId();
 this.containerId = containerId;
   }
   @Override
-  public int getExitStatus() {
+  public synchronized int getExitStatus() {
 ContainerStatusProtoOrBuilder p = viaProto ? proto : builder;
 return p.getExitStatus();
   }
 
   @Overr

git commit: YARN-2387. Resource Manager crashes with NPE due to lack of synchronization. Contributed by Mit Desai (cherry picked from commit feaf139b4f327d33011e5a4424c06fb44c630955)

2014-09-30 Thread jlowe
Repository: hadoop
Updated Branches:
  refs/heads/branch-2.6 b19f668f5 -> ab3cab0b5


YARN-2387. Resource Manager crashes with NPE due to lack of synchronization. 
Contributed by Mit Desai
(cherry picked from commit feaf139b4f327d33011e5a4424c06fb44c630955)


Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/ab3cab0b
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/ab3cab0b
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/ab3cab0b

Branch: refs/heads/branch-2.6
Commit: ab3cab0b536661ac6fc3e272ec18bf5735bd6339
Parents: b19f668
Author: Jason Lowe 
Authored: Tue Sep 30 22:42:53 2014 +
Committer: Jason Lowe 
Committed: Tue Sep 30 22:42:53 2014 +

--
 hadoop-yarn-project/CHANGES.txt |  3 +++
 .../records/impl/pb/ContainerStatusPBImpl.java  | 22 ++--
 2 files changed, 14 insertions(+), 11 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hadoop/blob/ab3cab0b/hadoop-yarn-project/CHANGES.txt
--
diff --git a/hadoop-yarn-project/CHANGES.txt b/hadoop-yarn-project/CHANGES.txt
index 628f64f..aaeaf85 100644
--- a/hadoop-yarn-project/CHANGES.txt
+++ b/hadoop-yarn-project/CHANGES.txt
@@ -441,6 +441,9 @@ Release 2.6.0 - UNRELEASED
 YARN-2606. Application History Server tries to access hdfs before doing
 secure login (Mit Desai via jeagles)
 
+YARN-2387. Resource Manager crashes with NPE due to lack of
+synchronization (Mit Desai via jlowe)
+
 Release 2.5.1 - 2014-09-05
 
   INCOMPATIBLE CHANGES

http://git-wip-us.apache.org/repos/asf/hadoop/blob/ab3cab0b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/api/records/impl/pb/ContainerStatusPBImpl.java
--
diff --git 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/api/records/impl/pb/ContainerStatusPBImpl.java
 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/api/records/impl/pb/ContainerStatusPBImpl.java
index 8e3e2cc..86f2af9 100644
--- 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/api/records/impl/pb/ContainerStatusPBImpl.java
+++ 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/api/records/impl/pb/ContainerStatusPBImpl.java
@@ -50,7 +50,7 @@ public class ContainerStatusPBImpl extends ContainerStatus {
 viaProto = true;
   }
   
-  public ContainerStatusProto getProto() {
+  public synchronized ContainerStatusProto getProto() {
   mergeLocalToProto();
 proto = viaProto ? proto : builder.build();
 viaProto = true;
@@ -90,7 +90,7 @@ public class ContainerStatusPBImpl extends ContainerStatus {
 }
   }
 
-  private void mergeLocalToProto() {
+  private synchronized void mergeLocalToProto() {
 if (viaProto) 
   maybeInitBuilder();
 mergeLocalToBuilder();
@@ -98,7 +98,7 @@ public class ContainerStatusPBImpl extends ContainerStatus {
 viaProto = true;
   }
 
-  private void maybeInitBuilder() {
+  private synchronized void maybeInitBuilder() {
 if (viaProto || builder == null) {
   builder = ContainerStatusProto.newBuilder(proto);
 }
@@ -107,7 +107,7 @@ public class ContainerStatusPBImpl extends ContainerStatus {
 
   
   @Override
-  public ContainerState getState() {
+  public synchronized ContainerState getState() {
 ContainerStatusProtoOrBuilder p = viaProto ? proto : builder;
 if (!p.hasState()) {
   return null;
@@ -116,7 +116,7 @@ public class ContainerStatusPBImpl extends ContainerStatus {
   }
 
   @Override
-  public void setState(ContainerState state) {
+  public synchronized void setState(ContainerState state) {
 maybeInitBuilder();
 if (state == null) {
   builder.clearState();
@@ -125,7 +125,7 @@ public class ContainerStatusPBImpl extends ContainerStatus {
 builder.setState(convertToProtoFormat(state));
   }
   @Override
-  public ContainerId getContainerId() {
+  public synchronized ContainerId getContainerId() {
 ContainerStatusProtoOrBuilder p = viaProto ? proto : builder;
 if (this.containerId != null) {
   return this.containerId;
@@ -138,32 +138,32 @@ public class ContainerStatusPBImpl extends 
ContainerStatus {
   }
 
   @Override
-  public void setContainerId(ContainerId containerId) {
+  public synchronized void setContainerId(ContainerId containerId) {
 maybeInitBuilder();
 if (containerId == null) 
   builder.clearContainerId();
 this.containerId = containerId;
   }
   @Override
-  public int getExitStatus() {
+  public synchronized int getExitStatus() {
 ContainerStatusProtoOrBuilder p = viaProto ? proto : buil

git commit: YARN-2624. Resource Localization fails on a cluster due to existing cache directories. Contributed by Anubhav Dhoot

2014-10-02 Thread jlowe
Repository: hadoop
Updated Branches:
  refs/heads/trunk 5e0b49da9 -> 29f520052


YARN-2624. Resource Localization fails on a cluster due to existing cache 
directories. Contributed by Anubhav Dhoot


Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/29f52005
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/29f52005
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/29f52005

Branch: refs/heads/trunk
Commit: 29f520052e2b02f44979980e446acc0dccd96d54
Parents: 5e0b49d
Author: Jason Lowe 
Authored: Thu Oct 2 17:39:34 2014 +
Committer: Jason Lowe 
Committed: Thu Oct 2 17:39:34 2014 +

--
 hadoop-yarn-project/CHANGES.txt |  3 +
 .../localizer/ResourceLocalizationService.java  |  2 +-
 .../recovery/NMLeveldbStateStoreService.java|  7 ++
 .../recovery/NMStateStoreService.java   |  3 +
 .../TestResourceLocalizationService.java| 76 
 .../TestNMLeveldbStateStoreService.java |  8 +++
 6 files changed, 98 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/hadoop/blob/29f52005/hadoop-yarn-project/CHANGES.txt
--
diff --git a/hadoop-yarn-project/CHANGES.txt b/hadoop-yarn-project/CHANGES.txt
index a67ff27..deedb83 100644
--- a/hadoop-yarn-project/CHANGES.txt
+++ b/hadoop-yarn-project/CHANGES.txt
@@ -521,6 +521,9 @@ Release 2.6.0 - UNRELEASED
 YARN-2617. Fixed NM to not send duplicate container status whose app is not
 running. (Jun Gong via jianhe)
 
+YARN-2624. Resource Localization fails on a cluster due to existing cache
+directories (Anubhav Dhoot via jlowe)
+
 Release 2.5.1 - 2014-09-05
 
   INCOMPATIBLE CHANGES

http://git-wip-us.apache.org/repos/asf/hadoop/blob/29f52005/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/localizer/ResourceLocalizationService.java
--
diff --git 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/localizer/ResourceLocalizationService.java
 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/localizer/ResourceLocalizationService.java
index a092b59..c2dcebf 100644
--- 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/localizer/ResourceLocalizationService.java
+++ 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/localizer/ResourceLocalizationService.java
@@ -222,7 +222,7 @@ public class ResourceLocalizationService extends 
CompositeService
   FileContext lfs = getLocalFileContext(conf);
   lfs.setUMask(new FsPermission((short)FsPermission.DEFAULT_UMASK));
 
-  if (!stateStore.canRecover()) {
+  if (!stateStore.canRecover() || stateStore.isNewlyCreated()) {
 cleanUpLocalDir(lfs,delService);
   }
 

http://git-wip-us.apache.org/repos/asf/hadoop/blob/29f52005/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/recovery/NMLeveldbStateStoreService.java
--
diff --git 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/recovery/NMLeveldbStateStoreService.java
 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/recovery/NMLeveldbStateStoreService.java
index 7c95fff..7cf4921 100644
--- 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/recovery/NMLeveldbStateStoreService.java
+++ 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/recovery/NMLeveldbStateStoreService.java
@@ -118,6 +118,7 @@ public class NMLeveldbStateStoreService extends 
NMStateStoreService {
   private static final byte[] EMPTY_VALUE = new byte[0];
 
   private DB db;
+  private boolean isNewlyCreated;
 
   public NMLeveldbStateStoreService() {
 super(NMLeveldbStateStoreService.class.getName());
@@ -134,6 +135,11 @@ public class NMLeveldbStateStoreService extends 
NMStateStoreService {
 }
   }
 
+  @Overr

git commit: YARN-2624. Resource Localization fails on a cluster due to existing cache directories. Contributed by Anubhav Dhoot (cherry picked from commit 29f520052e2b02f44979980e446acc0dccd96d54)

2014-10-02 Thread jlowe
Repository: hadoop
Updated Branches:
  refs/heads/branch-2 b6f4d1ef4 -> 531c1fd00


YARN-2624. Resource Localization fails on a cluster due to existing cache 
directories. Contributed by Anubhav Dhoot
(cherry picked from commit 29f520052e2b02f44979980e446acc0dccd96d54)


Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/531c1fd0
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/531c1fd0
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/531c1fd0

Branch: refs/heads/branch-2
Commit: 531c1fd00add260825e00284e6868c4614f8e19f
Parents: b6f4d1e
Author: Jason Lowe 
Authored: Thu Oct 2 17:39:34 2014 +
Committer: Jason Lowe 
Committed: Thu Oct 2 17:40:44 2014 +

--
 hadoop-yarn-project/CHANGES.txt |  3 +
 .../localizer/ResourceLocalizationService.java  |  2 +-
 .../recovery/NMLeveldbStateStoreService.java|  7 ++
 .../recovery/NMStateStoreService.java   |  3 +
 .../TestResourceLocalizationService.java| 76 
 .../TestNMLeveldbStateStoreService.java |  8 +++
 6 files changed, 98 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/hadoop/blob/531c1fd0/hadoop-yarn-project/CHANGES.txt
--
diff --git a/hadoop-yarn-project/CHANGES.txt b/hadoop-yarn-project/CHANGES.txt
index a6585a6..b4b0b75 100644
--- a/hadoop-yarn-project/CHANGES.txt
+++ b/hadoop-yarn-project/CHANGES.txt
@@ -491,6 +491,9 @@ Release 2.6.0 - UNRELEASED
 YARN-2617. Fixed NM to not send duplicate container status whose app is not
 running. (Jun Gong via jianhe)
 
+YARN-2624. Resource Localization fails on a cluster due to existing cache
+directories (Anubhav Dhoot via jlowe)
+
 Release 2.5.1 - 2014-09-05
 
   INCOMPATIBLE CHANGES

http://git-wip-us.apache.org/repos/asf/hadoop/blob/531c1fd0/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/localizer/ResourceLocalizationService.java
--
diff --git 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/localizer/ResourceLocalizationService.java
 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/localizer/ResourceLocalizationService.java
index a092b59..c2dcebf 100644
--- 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/localizer/ResourceLocalizationService.java
+++ 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/localizer/ResourceLocalizationService.java
@@ -222,7 +222,7 @@ public class ResourceLocalizationService extends 
CompositeService
   FileContext lfs = getLocalFileContext(conf);
   lfs.setUMask(new FsPermission((short)FsPermission.DEFAULT_UMASK));
 
-  if (!stateStore.canRecover()) {
+  if (!stateStore.canRecover() || stateStore.isNewlyCreated()) {
 cleanUpLocalDir(lfs,delService);
   }
 

http://git-wip-us.apache.org/repos/asf/hadoop/blob/531c1fd0/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/recovery/NMLeveldbStateStoreService.java
--
diff --git 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/recovery/NMLeveldbStateStoreService.java
 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/recovery/NMLeveldbStateStoreService.java
index 7c95fff..7cf4921 100644
--- 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/recovery/NMLeveldbStateStoreService.java
+++ 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/recovery/NMLeveldbStateStoreService.java
@@ -118,6 +118,7 @@ public class NMLeveldbStateStoreService extends 
NMStateStoreService {
   private static final byte[] EMPTY_VALUE = new byte[0];
 
   private DB db;
+  private boolean isNewlyCreated;
 
   public NMLeveldbStateStoreService() {
 super(NMLeveldbStateStoreService.class.getName());
@@ -134,6 +135,11 @@ public cl

git commit: YARN-2624. Resource Localization fails on a cluster due to existing cache directories. Contributed by Anubhav Dhoot (cherry picked from commit 29f520052e2b02f44979980e446acc0dccd96d54)

2014-10-02 Thread jlowe
Repository: hadoop
Updated Branches:
  refs/heads/branch-2.6 116eb0bdc -> 95757899d


YARN-2624. Resource Localization fails on a cluster due to existing cache 
directories. Contributed by Anubhav Dhoot
(cherry picked from commit 29f520052e2b02f44979980e446acc0dccd96d54)


Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/95757899
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/95757899
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/95757899

Branch: refs/heads/branch-2.6
Commit: 95757899d4f2526129dcc7bd4adef89da77055ab
Parents: 116eb0b
Author: Jason Lowe 
Authored: Thu Oct 2 17:39:34 2014 +
Committer: Jason Lowe 
Committed: Thu Oct 2 17:45:12 2014 +

--
 hadoop-yarn-project/CHANGES.txt |  3 +
 .../localizer/ResourceLocalizationService.java  |  2 +-
 .../recovery/NMLeveldbStateStoreService.java|  7 ++
 .../recovery/NMStateStoreService.java   |  3 +
 .../TestResourceLocalizationService.java| 76 
 .../TestNMLeveldbStateStoreService.java |  8 +++
 6 files changed, 98 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/hadoop/blob/95757899/hadoop-yarn-project/CHANGES.txt
--
diff --git a/hadoop-yarn-project/CHANGES.txt b/hadoop-yarn-project/CHANGES.txt
index 2719dfe..ffc9d79 100644
--- a/hadoop-yarn-project/CHANGES.txt
+++ b/hadoop-yarn-project/CHANGES.txt
@@ -464,6 +464,9 @@ Release 2.6.0 - UNRELEASED
 YARN-2617. Fixed NM to not send duplicate container status whose app is not
 running. (Jun Gong via jianhe)
 
+YARN-2624. Resource Localization fails on a cluster due to existing cache
+directories (Anubhav Dhoot via jlowe)
+
 Release 2.5.1 - 2014-09-05
 
   INCOMPATIBLE CHANGES

http://git-wip-us.apache.org/repos/asf/hadoop/blob/95757899/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/localizer/ResourceLocalizationService.java
--
diff --git 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/localizer/ResourceLocalizationService.java
 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/localizer/ResourceLocalizationService.java
index a092b59..c2dcebf 100644
--- 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/localizer/ResourceLocalizationService.java
+++ 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/localizer/ResourceLocalizationService.java
@@ -222,7 +222,7 @@ public class ResourceLocalizationService extends 
CompositeService
   FileContext lfs = getLocalFileContext(conf);
   lfs.setUMask(new FsPermission((short)FsPermission.DEFAULT_UMASK));
 
-  if (!stateStore.canRecover()) {
+  if (!stateStore.canRecover() || stateStore.isNewlyCreated()) {
 cleanUpLocalDir(lfs,delService);
   }
 

http://git-wip-us.apache.org/repos/asf/hadoop/blob/95757899/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/recovery/NMLeveldbStateStoreService.java
--
diff --git 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/recovery/NMLeveldbStateStoreService.java
 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/recovery/NMLeveldbStateStoreService.java
index 7c95fff..7cf4921 100644
--- 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/recovery/NMLeveldbStateStoreService.java
+++ 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/recovery/NMLeveldbStateStoreService.java
@@ -118,6 +118,7 @@ public class NMLeveldbStateStoreService extends 
NMStateStoreService {
   private static final byte[] EMPTY_VALUE = new byte[0];
 
   private DB db;
+  private boolean isNewlyCreated;
 
   public NMLeveldbStateStoreService() {
 super(NMLeveldbStateStoreService.class.getName());
@@ -134,6 +135,11 @@ public cl

git commit: MAPREDUCE-6029. TestCommitterEventHandler fails in trunk. Contributed by Mit Desai

2014-10-07 Thread jlowe
Repository: hadoop
Updated Branches:
  refs/heads/trunk 0fb273570 -> 2e789eb22


MAPREDUCE-6029. TestCommitterEventHandler fails in trunk. Contributed by Mit 
Desai


Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/2e789eb2
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/2e789eb2
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/2e789eb2

Branch: refs/heads/trunk
Commit: 2e789eb2261fa607489d8ae630fb77e8147d0266
Parents: 0fb2735
Author: Jason Lowe 
Authored: Tue Oct 7 14:10:39 2014 +
Committer: Jason Lowe 
Committed: Tue Oct 7 14:10:39 2014 +

--
 hadoop-mapreduce-project/CHANGES.txt| 3 +++
 .../mapreduce/v2/app/commit/TestCommitterEventHandler.java  | 9 +++--
 2 files changed, 10 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hadoop/blob/2e789eb2/hadoop-mapreduce-project/CHANGES.txt
--
diff --git a/hadoop-mapreduce-project/CHANGES.txt 
b/hadoop-mapreduce-project/CHANGES.txt
index 8bc1e53..1adf7cf 100644
--- a/hadoop-mapreduce-project/CHANGES.txt
+++ b/hadoop-mapreduce-project/CHANGES.txt
@@ -411,6 +411,9 @@ Release 2.6.0 - UNRELEASED
 MAPREDUCE-6094. TestMRCJCFileInputFormat.testAddInputPath() fails on trunk
 (Akira AJISAKA via jlowe)
 
+MAPREDUCE-6029. TestCommitterEventHandler fails in trunk (Mit Desai via
+    jlowe)
+
 Release 2.5.1 - 2014-09-05
 
   INCOMPATIBLE CHANGES

http://git-wip-us.apache.org/repos/asf/hadoop/blob/2e789eb2/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/test/java/org/apache/hadoop/mapreduce/v2/app/commit/TestCommitterEventHandler.java
--
diff --git 
a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/test/java/org/apache/hadoop/mapreduce/v2/app/commit/TestCommitterEventHandler.java
 
b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/test/java/org/apache/hadoop/mapreduce/v2/app/commit/TestCommitterEventHandler.java
index 83e43f5..a553bbd 100644
--- 
a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/test/java/org/apache/hadoop/mapreduce/v2/app/commit/TestCommitterEventHandler.java
+++ 
b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/test/java/org/apache/hadoop/mapreduce/v2/app/commit/TestCommitterEventHandler.java
@@ -58,6 +58,7 @@ import 
org.apache.hadoop.mapreduce.v2.app.job.event.JobCommitCompletedEvent;
 import org.apache.hadoop.mapreduce.v2.app.job.event.JobCommitFailedEvent;
 import org.apache.hadoop.mapreduce.v2.util.MRApps;
 import org.apache.hadoop.security.UserGroupInformation;
+import org.apache.hadoop.util.Time;
 import org.apache.hadoop.yarn.api.records.ApplicationAttemptId;
 import org.apache.hadoop.yarn.conf.YarnConfiguration;
 import org.apache.hadoop.yarn.event.Event;
@@ -84,8 +85,12 @@ public class TestCommitterEventHandler {
 
 public synchronized Event getAndClearEvent() throws InterruptedException {
   if (event == null) {
-//Wait for at most 10 ms
-wait(100);
+final long waitTime = 5000;
+long waitStartTime = Time.monotonicNow();
+while(event == null && Time.monotonicNow() - waitStartTime < waitTime) 
{
+  //Wait for at most 5 sec
+  wait(waitTime);
+}
   }
   Event e = event;
   event = null;



git commit: MAPREDUCE-6029. TestCommitterEventHandler fails in trunk. Contributed by Mit Desai (cherry picked from commit 2e789eb2261fa607489d8ae630fb77e8147d0266)

2014-10-07 Thread jlowe
Repository: hadoop
Updated Branches:
  refs/heads/branch-2 70c8cb561 -> 979b915ec


MAPREDUCE-6029. TestCommitterEventHandler fails in trunk. Contributed by Mit 
Desai
(cherry picked from commit 2e789eb2261fa607489d8ae630fb77e8147d0266)


Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/979b915e
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/979b915e
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/979b915e

Branch: refs/heads/branch-2
Commit: 979b915ecc3b74d796d91cb8594180d68cf127e2
Parents: 70c8cb5
Author: Jason Lowe 
Authored: Tue Oct 7 14:10:39 2014 +
Committer: Jason Lowe 
Committed: Tue Oct 7 14:11:48 2014 +

--
 hadoop-mapreduce-project/CHANGES.txt| 3 +++
 .../mapreduce/v2/app/commit/TestCommitterEventHandler.java  | 9 +++--
 2 files changed, 10 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hadoop/blob/979b915e/hadoop-mapreduce-project/CHANGES.txt
--
diff --git a/hadoop-mapreduce-project/CHANGES.txt 
b/hadoop-mapreduce-project/CHANGES.txt
index 32b8f15..81633f3 100644
--- a/hadoop-mapreduce-project/CHANGES.txt
+++ b/hadoop-mapreduce-project/CHANGES.txt
@@ -192,6 +192,9 @@ Release 2.6.0 - UNRELEASED
 MAPREDUCE-6094. TestMRCJCFileInputFormat.testAddInputPath() fails on trunk
 (Akira AJISAKA via jlowe)
 
+MAPREDUCE-6029. TestCommitterEventHandler fails in trunk (Mit Desai via
+    jlowe)
+
 Release 2.5.1 - 2014-09-05
 
   INCOMPATIBLE CHANGES

http://git-wip-us.apache.org/repos/asf/hadoop/blob/979b915e/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/test/java/org/apache/hadoop/mapreduce/v2/app/commit/TestCommitterEventHandler.java
--
diff --git 
a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/test/java/org/apache/hadoop/mapreduce/v2/app/commit/TestCommitterEventHandler.java
 
b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/test/java/org/apache/hadoop/mapreduce/v2/app/commit/TestCommitterEventHandler.java
index 83e43f5..a553bbd 100644
--- 
a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/test/java/org/apache/hadoop/mapreduce/v2/app/commit/TestCommitterEventHandler.java
+++ 
b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/test/java/org/apache/hadoop/mapreduce/v2/app/commit/TestCommitterEventHandler.java
@@ -58,6 +58,7 @@ import 
org.apache.hadoop.mapreduce.v2.app.job.event.JobCommitCompletedEvent;
 import org.apache.hadoop.mapreduce.v2.app.job.event.JobCommitFailedEvent;
 import org.apache.hadoop.mapreduce.v2.util.MRApps;
 import org.apache.hadoop.security.UserGroupInformation;
+import org.apache.hadoop.util.Time;
 import org.apache.hadoop.yarn.api.records.ApplicationAttemptId;
 import org.apache.hadoop.yarn.conf.YarnConfiguration;
 import org.apache.hadoop.yarn.event.Event;
@@ -84,8 +85,12 @@ public class TestCommitterEventHandler {
 
 public synchronized Event getAndClearEvent() throws InterruptedException {
   if (event == null) {
-//Wait for at most 10 ms
-wait(100);
+final long waitTime = 5000;
+long waitStartTime = Time.monotonicNow();
+while(event == null && Time.monotonicNow() - waitStartTime < waitTime) 
{
+  //Wait for at most 5 sec
+  wait(waitTime);
+}
   }
   Event e = event;
   event = null;



git commit: MAPREDUCE-6029. TestCommitterEventHandler fails in trunk. Contributed by Mit Desai (cherry picked from commit 2e789eb2261fa607489d8ae630fb77e8147d0266)

2014-10-07 Thread jlowe
Repository: hadoop
Updated Branches:
  refs/heads/branch-2.6 1bd45fa16 -> e835cb5c8


MAPREDUCE-6029. TestCommitterEventHandler fails in trunk. Contributed by Mit 
Desai
(cherry picked from commit 2e789eb2261fa607489d8ae630fb77e8147d0266)


Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/e835cb5c
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/e835cb5c
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/e835cb5c

Branch: refs/heads/branch-2.6
Commit: e835cb5c86afeb3ca052621874452c31af9735b7
Parents: 1bd45fa
Author: Jason Lowe 
Authored: Tue Oct 7 14:10:39 2014 +
Committer: Jason Lowe 
Committed: Tue Oct 7 14:13:12 2014 +

--
 hadoop-mapreduce-project/CHANGES.txt| 3 +++
 .../mapreduce/v2/app/commit/TestCommitterEventHandler.java  | 9 +++--
 2 files changed, 10 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hadoop/blob/e835cb5c/hadoop-mapreduce-project/CHANGES.txt
--
diff --git a/hadoop-mapreduce-project/CHANGES.txt 
b/hadoop-mapreduce-project/CHANGES.txt
index e499d2a..1399f4a 100644
--- a/hadoop-mapreduce-project/CHANGES.txt
+++ b/hadoop-mapreduce-project/CHANGES.txt
@@ -180,6 +180,9 @@ Release 2.6.0 - UNRELEASED
 MAPREDUCE-6094. TestMRCJCFileInputFormat.testAddInputPath() fails on trunk
 (Akira AJISAKA via jlowe)
 
+MAPREDUCE-6029. TestCommitterEventHandler fails in trunk (Mit Desai via
+    jlowe)
+
 Release 2.5.1 - 2014-09-05
 
   INCOMPATIBLE CHANGES

http://git-wip-us.apache.org/repos/asf/hadoop/blob/e835cb5c/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/test/java/org/apache/hadoop/mapreduce/v2/app/commit/TestCommitterEventHandler.java
--
diff --git 
a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/test/java/org/apache/hadoop/mapreduce/v2/app/commit/TestCommitterEventHandler.java
 
b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/test/java/org/apache/hadoop/mapreduce/v2/app/commit/TestCommitterEventHandler.java
index 83e43f5..a553bbd 100644
--- 
a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/test/java/org/apache/hadoop/mapreduce/v2/app/commit/TestCommitterEventHandler.java
+++ 
b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/test/java/org/apache/hadoop/mapreduce/v2/app/commit/TestCommitterEventHandler.java
@@ -58,6 +58,7 @@ import 
org.apache.hadoop.mapreduce.v2.app.job.event.JobCommitCompletedEvent;
 import org.apache.hadoop.mapreduce.v2.app.job.event.JobCommitFailedEvent;
 import org.apache.hadoop.mapreduce.v2.util.MRApps;
 import org.apache.hadoop.security.UserGroupInformation;
+import org.apache.hadoop.util.Time;
 import org.apache.hadoop.yarn.api.records.ApplicationAttemptId;
 import org.apache.hadoop.yarn.conf.YarnConfiguration;
 import org.apache.hadoop.yarn.event.Event;
@@ -84,8 +85,12 @@ public class TestCommitterEventHandler {
 
 public synchronized Event getAndClearEvent() throws InterruptedException {
   if (event == null) {
-//Wait for at most 10 ms
-wait(100);
+final long waitTime = 5000;
+long waitStartTime = Time.monotonicNow();
+while(event == null && Time.monotonicNow() - waitStartTime < waitTime) 
{
+  //Wait for at most 5 sec
+  wait(waitTime);
+}
   }
   Event e = event;
   event = null;



[2/2] git commit: YARN-2431. NM restart: cgroup is not removed for reacquired containers. Contributed by Jason Lowe (cherry picked from commit 3fa5f728c4d6944302621965d6a0376827af5b51)

2014-09-04 Thread jlowe
YARN-2431. NM restart: cgroup is not removed for reacquired containers. 
Contributed by Jason Lowe
(cherry picked from commit 3fa5f728c4d6944302621965d6a0376827af5b51)


Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/04d325af
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/04d325af
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/04d325af

Branch: refs/heads/branch-2
Commit: 04d325afffd3696fd1d932b1aee47856164b916f
Parents: c035365
Author: Jason Lowe 
Authored: Thu Sep 4 21:11:27 2014 +
Committer: Jason Lowe 
Committed: Thu Sep 4 21:14:20 2014 +

--
 hadoop-yarn-project/CHANGES.txt |  3 +
 .../nodemanager/LinuxContainerExecutor.java | 11 
 .../nodemanager/TestLinuxContainerExecutor.java | 60 
 3 files changed, 74 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/hadoop/blob/04d325af/hadoop-yarn-project/CHANGES.txt
--
diff --git a/hadoop-yarn-project/CHANGES.txt b/hadoop-yarn-project/CHANGES.txt
index eb38da5..7f7f367 100644
--- a/hadoop-yarn-project/CHANGES.txt
+++ b/hadoop-yarn-project/CHANGES.txt
@@ -255,6 +255,9 @@ Release 2.6.0 - UNRELEASED
 YARN-2462. 
TestNodeManagerResync#testBlockNewContainerRequestsOnStartAndResync
 should have a test timeout (Eric Payne via jlowe)
 
+YARN-2431. NM restart: cgroup is not removed for reacquired containers
+(jlowe)
+
 Release 2.5.1 - UNRELEASED
 
   INCOMPATIBLE CHANGES

http://git-wip-us.apache.org/repos/asf/hadoop/blob/04d325af/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/LinuxContainerExecutor.java
--
diff --git 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/LinuxContainerExecutor.java
 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/LinuxContainerExecutor.java
index abfa417..b182420 100644
--- 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/LinuxContainerExecutor.java
+++ 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/LinuxContainerExecutor.java
@@ -19,6 +19,7 @@
 package org.apache.hadoop.yarn.server.nodemanager;
 
 import com.google.common.base.Optional;
+
 import java.io.File;
 import java.io.IOException;
 import java.net.InetSocketAddress;
@@ -340,6 +341,16 @@ public class LinuxContainerExecutor extends 
ContainerExecutor {
   }
 
   @Override
+  public int reacquireContainer(String user, ContainerId containerId)
+  throws IOException {
+try {
+  return super.reacquireContainer(user, containerId);
+} finally {
+  resourcesHandler.postExecute(containerId);
+}
+  }
+
+  @Override
   public boolean signalContainer(String user, String pid, Signal signal)
   throws IOException {
 

http://git-wip-us.apache.org/repos/asf/hadoop/blob/04d325af/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/TestLinuxContainerExecutor.java
--
diff --git 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/TestLinuxContainerExecutor.java
 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/TestLinuxContainerExecutor.java
index 3ac132f..cea2e6b 100644
--- 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/TestLinuxContainerExecutor.java
+++ 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/TestLinuxContainerExecutor.java
@@ -30,6 +30,8 @@ import java.io.FileOutputStream;
 import java.io.IOException;
 import java.io.PrintWriter;
 import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Set;
 
 import org.junit.Assert;
 import org.apache.commons.logging.Log;
@@ -42,11 +44,15 @@ import org.apache.hadoop.fs.FileUtil;
 import org.apache.hadoop.fs.Path;
 import org.apache.hadoop.fs.permission.FsPermission;
 import org.apache.hadoop.security.UserGroupInformation;
+import org.apache.hadoop.yarn.api.records.ApplicationAttemptId;
+import

[1/2] git commit: YARN-2431. NM restart: cgroup is not removed for reacquired containers. Contributed by Jason Lowe

2014-09-04 Thread jlowe
Repository: hadoop
Updated Branches:
  refs/heads/branch-2 c03536533 -> 04d325aff
  refs/heads/trunk b44b2ee4a -> 3fa5f728c


YARN-2431. NM restart: cgroup is not removed for reacquired containers. 
Contributed by Jason Lowe


Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/3fa5f728
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/3fa5f728
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/3fa5f728

Branch: refs/heads/trunk
Commit: 3fa5f728c4d6944302621965d6a0376827af5b51
Parents: b44b2ee
Author: Jason Lowe 
Authored: Thu Sep 4 21:11:27 2014 +
Committer: Jason Lowe 
Committed: Thu Sep 4 21:11:27 2014 +

--
 hadoop-yarn-project/CHANGES.txt |  3 +
 .../nodemanager/LinuxContainerExecutor.java | 11 
 .../nodemanager/TestLinuxContainerExecutor.java | 60 
 3 files changed, 74 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/hadoop/blob/3fa5f728/hadoop-yarn-project/CHANGES.txt
--
diff --git a/hadoop-yarn-project/CHANGES.txt b/hadoop-yarn-project/CHANGES.txt
index b0e4a01..f6f5c4b 100644
--- a/hadoop-yarn-project/CHANGES.txt
+++ b/hadoop-yarn-project/CHANGES.txt
@@ -278,6 +278,9 @@ Release 2.6.0 - UNRELEASED
 YARN-2462. 
TestNodeManagerResync#testBlockNewContainerRequestsOnStartAndResync
 should have a test timeout (Eric Payne via jlowe)
 
+YARN-2431. NM restart: cgroup is not removed for reacquired containers
+(jlowe)
+
 Release 2.5.1 - UNRELEASED
 
   INCOMPATIBLE CHANGES

http://git-wip-us.apache.org/repos/asf/hadoop/blob/3fa5f728/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/LinuxContainerExecutor.java
--
diff --git 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/LinuxContainerExecutor.java
 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/LinuxContainerExecutor.java
index 804864e..6b8dd28 100644
--- 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/LinuxContainerExecutor.java
+++ 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/LinuxContainerExecutor.java
@@ -19,6 +19,7 @@
 package org.apache.hadoop.yarn.server.nodemanager;
 
 import com.google.common.base.Optional;
+
 import java.io.File;
 import java.io.IOException;
 import java.net.InetSocketAddress;
@@ -342,6 +343,16 @@ public class LinuxContainerExecutor extends 
ContainerExecutor {
   }
 
   @Override
+  public int reacquireContainer(String user, ContainerId containerId)
+  throws IOException {
+try {
+  return super.reacquireContainer(user, containerId);
+} finally {
+  resourcesHandler.postExecute(containerId);
+}
+  }
+
+  @Override
   public boolean signalContainer(String user, String pid, Signal signal)
   throws IOException {
 

http://git-wip-us.apache.org/repos/asf/hadoop/blob/3fa5f728/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/TestLinuxContainerExecutor.java
--
diff --git 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/TestLinuxContainerExecutor.java
 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/TestLinuxContainerExecutor.java
index a5ec43b..c02212e 100644
--- 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/TestLinuxContainerExecutor.java
+++ 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/TestLinuxContainerExecutor.java
@@ -30,6 +30,8 @@ import java.io.FileOutputStream;
 import java.io.IOException;
 import java.io.PrintWriter;
 import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Set;
 
 import org.junit.Assert;
 import org.apache.commons.logging.Log;
@@ -42,11 +44,15 @@ import org.apache.hadoop.fs.FileUtil;
 import org.apache.hadoop.fs.Path;
 import org.apache.hadoop.fs.permission.FsPermission;
 import org.apache.hadoop.security.UserGroupInformation;
+

[1/2] git commit: MAPREDUCE-6071. JobImpl#makeUberDecision doesn't log that Uber mode is disabled because of too much CPUs. Contributed by Tsuyoshi OZAWA

2014-09-05 Thread jlowe
Repository: hadoop
Updated Branches:
  refs/heads/branch-2 0bd0423ff -> 0b3f918b3
  refs/heads/trunk 772d1fb01 -> 45efc966e


MAPREDUCE-6071. JobImpl#makeUberDecision doesn't log that Uber mode is disabled 
because of too much CPUs. Contributed by Tsuyoshi OZAWA


Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/45efc966
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/45efc966
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/45efc966

Branch: refs/heads/trunk
Commit: 45efc966ee1a1bda0271464dcee2564862d53b1f
Parents: 772d1fb
Author: Jason Lowe 
Authored: Fri Sep 5 13:42:00 2014 +
Committer: Jason Lowe 
Committed: Fri Sep 5 13:42:00 2014 +

--
 hadoop-mapreduce-project/CHANGES.txt  | 3 +++
 .../java/org/apache/hadoop/mapreduce/v2/app/job/impl/JobImpl.java | 2 ++
 2 files changed, 5 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/hadoop/blob/45efc966/hadoop-mapreduce-project/CHANGES.txt
--
diff --git a/hadoop-mapreduce-project/CHANGES.txt 
b/hadoop-mapreduce-project/CHANGES.txt
index 0ee0731..73dd8d8 100644
--- a/hadoop-mapreduce-project/CHANGES.txt
+++ b/hadoop-mapreduce-project/CHANGES.txt
@@ -270,6 +270,9 @@ Release 2.6.0 - UNRELEASED
 MAPREDUCE-6063. Correct spill size calculation for spills wrapping the
 circular buffer. (zhihai xu via cdouglas)
 
+MAPREDUCE-6071. JobImpl#makeUberDecision doesn't log that Uber mode is
+disabled because of too much CPUs (Tsuyoshi OZAWA via jlowe)
+
 Release 2.5.1 - UNRELEASED
 
   INCOMPATIBLE CHANGES

http://git-wip-us.apache.org/repos/asf/hadoop/blob/45efc966/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapreduce/v2/app/job/impl/JobImpl.java
--
diff --git 
a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapreduce/v2/app/job/impl/JobImpl.java
 
b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapreduce/v2/app/job/impl/JobImpl.java
index c1bc17d..dff5ef4 100644
--- 
a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapreduce/v2/app/job/impl/JobImpl.java
+++ 
b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapreduce/v2/app/job/impl/JobImpl.java
@@ -1285,6 +1285,8 @@ public class JobImpl implements 
org.apache.hadoop.mapreduce.v2.app.job.Job,
 msg.append(" too many reduces;");
   if (!smallInput)
 msg.append(" too much input;");
+  if (!smallCpu)
+msg.append(" too much CPU;");
   if (!smallMemory)
 msg.append(" too much RAM;");
   if (!notChainJob)



[2/2] git commit: MAPREDUCE-6071. JobImpl#makeUberDecision doesn't log that Uber mode is disabled because of too much CPUs. Contributed by Tsuyoshi OZAWA (cherry picked from commit 45efc966ee1a1bda027

2014-09-05 Thread jlowe
MAPREDUCE-6071. JobImpl#makeUberDecision doesn't log that Uber mode is disabled 
because of too much CPUs. Contributed by Tsuyoshi OZAWA
(cherry picked from commit 45efc966ee1a1bda0271464dcee2564862d53b1f)


Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/0b3f918b
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/0b3f918b
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/0b3f918b

Branch: refs/heads/branch-2
Commit: 0b3f918b3b365406a47cf799f0db2aac48011f01
Parents: 0bd0423
Author: Jason Lowe 
Authored: Fri Sep 5 13:42:00 2014 +
Committer: Jason Lowe 
Committed: Fri Sep 5 13:48:16 2014 +

--
 hadoop-mapreduce-project/CHANGES.txt  | 3 +++
 .../java/org/apache/hadoop/mapreduce/v2/app/job/impl/JobImpl.java | 2 ++
 2 files changed, 5 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/hadoop/blob/0b3f918b/hadoop-mapreduce-project/CHANGES.txt
--
diff --git a/hadoop-mapreduce-project/CHANGES.txt 
b/hadoop-mapreduce-project/CHANGES.txt
index 0e91326..e50c4b8 100644
--- a/hadoop-mapreduce-project/CHANGES.txt
+++ b/hadoop-mapreduce-project/CHANGES.txt
@@ -121,6 +121,9 @@ Release 2.6.0 - UNRELEASED
 MAPREDUCE-6063. Correct spill size calculation for spills wrapping the
 circular buffer. (zhihai xu via cdouglas)
 
+MAPREDUCE-6071. JobImpl#makeUberDecision doesn't log that Uber mode is
+disabled because of too much CPUs (Tsuyoshi OZAWA via jlowe)
+
 Release 2.5.1 - UNRELEASED
 
   INCOMPATIBLE CHANGES

http://git-wip-us.apache.org/repos/asf/hadoop/blob/0b3f918b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapreduce/v2/app/job/impl/JobImpl.java
--
diff --git 
a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapreduce/v2/app/job/impl/JobImpl.java
 
b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapreduce/v2/app/job/impl/JobImpl.java
index c1bc17d..dff5ef4 100644
--- 
a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapreduce/v2/app/job/impl/JobImpl.java
+++ 
b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapreduce/v2/app/job/impl/JobImpl.java
@@ -1285,6 +1285,8 @@ public class JobImpl implements 
org.apache.hadoop.mapreduce.v2.app.job.Job,
 msg.append(" too many reduces;");
   if (!smallInput)
 msg.append(" too much input;");
+  if (!smallCpu)
+msg.append(" too much CPU;");
   if (!smallMemory)
 msg.append(" too much RAM;");
   if (!notChainJob)



git commit: MAPREDUCE-6075. HistoryServerFileSystemStateStore can create zero-length files. Contributed by Jason Lowe (cherry picked from commit 17a025d9dda9949f191b650e3ef96090880f568a)

2014-09-10 Thread jlowe
Repository: hadoop
Updated Branches:
  refs/heads/branch-2 88e5549d9 -> e6f108c99


MAPREDUCE-6075. HistoryServerFileSystemStateStore can create zero-length files. 
Contributed by Jason Lowe
(cherry picked from commit 17a025d9dda9949f191b650e3ef96090880f568a)


Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/e6f108c9
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/e6f108c9
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/e6f108c9

Branch: refs/heads/branch-2
Commit: e6f108c99ba1e650c450b693fa696852bd8c0891
Parents: 88e5549
Author: Jason Lowe 
Authored: Wed Sep 10 22:10:36 2014 +
Committer: Jason Lowe 
Committed: Wed Sep 10 22:12:24 2014 +

--
 hadoop-mapreduce-project/CHANGES.txt   | 3 +++
 .../v2/hs/HistoryServerFileSystemStateStoreService.java| 6 ++
 2 files changed, 9 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/hadoop/blob/e6f108c9/hadoop-mapreduce-project/CHANGES.txt
--
diff --git a/hadoop-mapreduce-project/CHANGES.txt 
b/hadoop-mapreduce-project/CHANGES.txt
index e50c4b8..d591105 100644
--- a/hadoop-mapreduce-project/CHANGES.txt
+++ b/hadoop-mapreduce-project/CHANGES.txt
@@ -124,6 +124,9 @@ Release 2.6.0 - UNRELEASED
 MAPREDUCE-6071. JobImpl#makeUberDecision doesn't log that Uber mode is
 disabled because of too much CPUs (Tsuyoshi OZAWA via jlowe)
 
+MAPREDUCE-6075. HistoryServerFileSystemStateStore can create zero-length
+    files (jlowe)
+
 Release 2.5.1 - UNRELEASED
 
   INCOMPATIBLE CHANGES

http://git-wip-us.apache.org/repos/asf/hadoop/blob/e6f108c9/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-hs/src/main/java/org/apache/hadoop/mapreduce/v2/hs/HistoryServerFileSystemStateStoreService.java
--
diff --git 
a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-hs/src/main/java/org/apache/hadoop/mapreduce/v2/hs/HistoryServerFileSystemStateStoreService.java
 
b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-hs/src/main/java/org/apache/hadoop/mapreduce/v2/hs/HistoryServerFileSystemStateStoreService.java
index dcea333..9902f5e 100644
--- 
a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-hs/src/main/java/org/apache/hadoop/mapreduce/v2/hs/HistoryServerFileSystemStateStoreService.java
+++ 
b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-hs/src/main/java/org/apache/hadoop/mapreduce/v2/hs/HistoryServerFileSystemStateStoreService.java
@@ -189,6 +189,8 @@ public class HistoryServerFileSystemStateStoreService
 DataOutputStream dataStream = new DataOutputStream(memStream);
 try {
   key.write(dataStream);
+  dataStream.close();
+  dataStream = null;
 } finally {
   IOUtils.cleanup(LOG, dataStream);
 }
@@ -260,6 +262,8 @@ public class HistoryServerFileSystemStateStoreService
 try {
   try {
 out.write(data);
+out.close();
+out = null;
   } finally {
 IOUtils.cleanup(LOG, out);
   }
@@ -299,6 +303,8 @@ public class HistoryServerFileSystemStateStoreService
 try {
   tokenId.write(dataStream);
   dataStream.writeLong(renewDate);
+  dataStream.close();
+  dataStream = null;
 } finally {
   IOUtils.cleanup(LOG, dataStream);
 }



git commit: MAPREDUCE-6075. HistoryServerFileSystemStateStore can create zero-length files. Contributed by Jason Lowe

2014-09-10 Thread jlowe
Repository: hadoop
Updated Branches:
  refs/heads/trunk 7d38ffc8d -> 7f80e1420


MAPREDUCE-6075. HistoryServerFileSystemStateStore can create zero-length files. 
Contributed by Jason Lowe


Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/7f80e142
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/7f80e142
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/7f80e142

Branch: refs/heads/trunk
Commit: 7f80e142096ab21b4852635a127589e34a747bc4
Parents: 7d38ffc
Author: Jason Lowe 
Authored: Wed Sep 10 22:10:36 2014 +
Committer: Jason Lowe 
Committed: Wed Sep 10 22:22:39 2014 +

--
 hadoop-mapreduce-project/CHANGES.txt   | 3 +++
 .../v2/hs/HistoryServerFileSystemStateStoreService.java| 6 ++
 2 files changed, 9 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/hadoop/blob/7f80e142/hadoop-mapreduce-project/CHANGES.txt
--
diff --git a/hadoop-mapreduce-project/CHANGES.txt 
b/hadoop-mapreduce-project/CHANGES.txt
index a5e5920..490c0a1 100644
--- a/hadoop-mapreduce-project/CHANGES.txt
+++ b/hadoop-mapreduce-project/CHANGES.txt
@@ -276,6 +276,9 @@ Release 2.6.0 - UNRELEASED
 MAPREDUCE-6071. JobImpl#makeUberDecision doesn't log that Uber mode is
 disabled because of too much CPUs (Tsuyoshi OZAWA via jlowe)
 
+MAPREDUCE-6075. HistoryServerFileSystemStateStore can create zero-length
+    files (jlowe)
+
 Release 2.5.1 - UNRELEASED
 
   INCOMPATIBLE CHANGES

http://git-wip-us.apache.org/repos/asf/hadoop/blob/7f80e142/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-hs/src/main/java/org/apache/hadoop/mapreduce/v2/hs/HistoryServerFileSystemStateStoreService.java
--
diff --git 
a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-hs/src/main/java/org/apache/hadoop/mapreduce/v2/hs/HistoryServerFileSystemStateStoreService.java
 
b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-hs/src/main/java/org/apache/hadoop/mapreduce/v2/hs/HistoryServerFileSystemStateStoreService.java
index dcea333..9902f5e 100644
--- 
a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-hs/src/main/java/org/apache/hadoop/mapreduce/v2/hs/HistoryServerFileSystemStateStoreService.java
+++ 
b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-hs/src/main/java/org/apache/hadoop/mapreduce/v2/hs/HistoryServerFileSystemStateStoreService.java
@@ -189,6 +189,8 @@ public class HistoryServerFileSystemStateStoreService
 DataOutputStream dataStream = new DataOutputStream(memStream);
 try {
   key.write(dataStream);
+  dataStream.close();
+  dataStream = null;
 } finally {
   IOUtils.cleanup(LOG, dataStream);
 }
@@ -260,6 +262,8 @@ public class HistoryServerFileSystemStateStoreService
 try {
   try {
 out.write(data);
+out.close();
+out = null;
   } finally {
 IOUtils.cleanup(LOG, out);
   }
@@ -299,6 +303,8 @@ public class HistoryServerFileSystemStateStoreService
 try {
   tokenId.write(dataStream);
   dataStream.writeLong(renewDate);
+  dataStream.close();
+  dataStream = null;
 } finally {
   IOUtils.cleanup(LOG, dataStream);
 }



git commit: MAPREDUCE-6070. yarn.app.am.resource.mb/cpu-vcores affects uber mode but is not documented. Contributed by Tsuyoshi OZAWA

2014-09-11 Thread jlowe
Repository: hadoop
Updated Branches:
  refs/heads/trunk 4be95175c -> 9e28e089c


MAPREDUCE-6070. yarn.app.am.resource.mb/cpu-vcores affects uber mode but is not 
documented. Contributed by Tsuyoshi OZAWA


Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/9e28e089
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/9e28e089
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/9e28e089

Branch: refs/heads/trunk
Commit: 9e28e089c6bcb0b264751bdfa1f994ce002ef2de
Parents: 4be9517
Author: Jason Lowe 
Authored: Thu Sep 11 16:19:23 2014 +
Committer: Jason Lowe 
Committed: Thu Sep 11 16:19:23 2014 +

--
 hadoop-mapreduce-project/CHANGES.txt  | 3 +++
 .../src/main/resources/mapred-default.xml | 7 ++-
 2 files changed, 9 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/hadoop/blob/9e28e089/hadoop-mapreduce-project/CHANGES.txt
--
diff --git a/hadoop-mapreduce-project/CHANGES.txt 
b/hadoop-mapreduce-project/CHANGES.txt
index 490c0a1..0c065c5 100644
--- a/hadoop-mapreduce-project/CHANGES.txt
+++ b/hadoop-mapreduce-project/CHANGES.txt
@@ -279,6 +279,9 @@ Release 2.6.0 - UNRELEASED
 MAPREDUCE-6075. HistoryServerFileSystemStateStore can create zero-length
 files (jlowe)
 
+MAPREDUCE-6070. yarn.app.am.resource.mb/cpu-vcores affects uber mode but
+is not documented (Tsuyoshi OZAWA via jlowe)
+
 Release 2.5.1 - UNRELEASED
 
   INCOMPATIBLE CHANGES

http://git-wip-us.apache.org/repos/asf/hadoop/blob/9e28e089/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/resources/mapred-default.xml
--
diff --git 
a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/resources/mapred-default.xml
 
b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/resources/mapred-default.xml
index 703a103..6cefdc9 100644
--- 
a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/resources/mapred-default.xml
+++ 
b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/resources/mapred-default.xml
@@ -508,7 +508,12 @@
   Whether to enable the small-jobs "ubertask" optimization,
   which runs "sufficiently small" jobs sequentially within a single JVM.
   "Small" is defined by the following maxmaps, maxreduces, and maxbytes
-  settings.  Users may override this value.
+  settings. Note that configurations for application masters also affect
+  the "Small" definition - yarn.app.mapreduce.am.resource.mb must be
+  larger than both mapreduce.map.memory.mb and mapreduce.reduce.memory.mb,
+  and yarn.app.mapreduce.am.resource.cpu-vcores must be larger than
+  both mapreduce.map.cpu.vcores and mapreduce.reduce.cpu.vcores to enable
+  ubertask. Users may override this value.
   
 
 



git commit: MAPREDUCE-6070. yarn.app.am.resource.mb/cpu-vcores affects uber mode but is not documented. Contributed by Tsuyoshi OZAWA

2014-09-11 Thread jlowe
Repository: hadoop
Updated Branches:
  refs/heads/branch-2 a2a61eec6 -> 6f8abe7ef


MAPREDUCE-6070. yarn.app.am.resource.mb/cpu-vcores affects uber mode but is not 
documented. Contributed by Tsuyoshi OZAWA

(cherry picked from commit 9e28e089c6bcb0b264751bdfa1f994ce002ef2de)


Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/6f8abe7e
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/6f8abe7e
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/6f8abe7e

Branch: refs/heads/branch-2
Commit: 6f8abe7efee00576e84427b9bd4a28bf250ae520
Parents: a2a61ee
Author: Jason Lowe 
Authored: Thu Sep 11 16:20:51 2014 +
Committer: Jason Lowe 
Committed: Thu Sep 11 16:20:51 2014 +

--
 hadoop-mapreduce-project/CHANGES.txt  | 3 +++
 .../src/main/resources/mapred-default.xml | 7 ++-
 2 files changed, 9 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/hadoop/blob/6f8abe7e/hadoop-mapreduce-project/CHANGES.txt
--
diff --git a/hadoop-mapreduce-project/CHANGES.txt 
b/hadoop-mapreduce-project/CHANGES.txt
index d591105..a5b2443 100644
--- a/hadoop-mapreduce-project/CHANGES.txt
+++ b/hadoop-mapreduce-project/CHANGES.txt
@@ -127,6 +127,9 @@ Release 2.6.0 - UNRELEASED
 MAPREDUCE-6075. HistoryServerFileSystemStateStore can create zero-length
 files (jlowe)
 
+MAPREDUCE-6070. yarn.app.am.resource.mb/cpu-vcores affects uber mode but
+is not documented (Tsuyoshi OZAWA via jlowe)
+
 Release 2.5.1 - UNRELEASED
 
   INCOMPATIBLE CHANGES

http://git-wip-us.apache.org/repos/asf/hadoop/blob/6f8abe7e/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/resources/mapred-default.xml
--
diff --git 
a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/resources/mapred-default.xml
 
b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/resources/mapred-default.xml
index 430c1f9..72d21a8 100644
--- 
a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/resources/mapred-default.xml
+++ 
b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/resources/mapred-default.xml
@@ -773,7 +773,12 @@
   Whether to enable the small-jobs "ubertask" optimization,
   which runs "sufficiently small" jobs sequentially within a single JVM.
   "Small" is defined by the following maxmaps, maxreduces, and maxbytes
-  settings.  Users may override this value.
+  settings. Note that configurations for application masters also affect
+  the "Small" definition - yarn.app.mapreduce.am.resource.mb must be
+  larger than both mapreduce.map.memory.mb and mapreduce.reduce.memory.mb,
+  and yarn.app.mapreduce.am.resource.cpu-vcores must be larger than
+  both mapreduce.map.cpu.vcores and mapreduce.reduce.cpu.vcores to enable
+  ubertask. Users may override this value.
   
 
 



git commit: HADOOP-11085. Excessive logging by org.apache.hadoop.util.Progress when value is NaN. Contributed by Mit Desai

2014-09-11 Thread jlowe
Repository: hadoop
Updated Branches:
  refs/heads/trunk 80ac6aabc -> 581176cdc


HADOOP-11085. Excessive logging by org.apache.hadoop.util.Progress when value 
is NaN. Contributed by Mit Desai


Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/581176cd
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/581176cd
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/581176cd

Branch: refs/heads/trunk
Commit: 581176cdc868b8701a761b5a0d52f771cbba709a
Parents: 80ac6aa
Author: Jason Lowe 
Authored: Thu Sep 11 19:53:25 2014 +
Committer: Jason Lowe 
Committed: Thu Sep 11 19:53:25 2014 +

--
 hadoop-common-project/hadoop-common/CHANGES.txt   |  3 +++
 .../src/main/java/org/apache/hadoop/util/Progress.java| 10 +-
 2 files changed, 8 insertions(+), 5 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hadoop/blob/581176cd/hadoop-common-project/hadoop-common/CHANGES.txt
--
diff --git a/hadoop-common-project/hadoop-common/CHANGES.txt 
b/hadoop-common-project/hadoop-common/CHANGES.txt
index ffb8ede..3bf92ec 100644
--- a/hadoop-common-project/hadoop-common/CHANGES.txt
+++ b/hadoop-common-project/hadoop-common/CHANGES.txt
@@ -784,6 +784,9 @@ Release 2.6.0 - UNRELEASED
 HADOOP-9989. Bug introduced in HADOOP-9374, which parses the 
-tokenCacheFile 
 as binary file but set it to the configuration as JSON file. (zxu via tucu)
 
+HADOOP-11085. Excessive logging by org.apache.hadoop.util.Progress when
+value is NaN (Mit Desai via jlowe)
+
 Release 2.5.1 - UNRELEASED
 
   INCOMPATIBLE CHANGES

http://git-wip-us.apache.org/repos/asf/hadoop/blob/581176cd/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/Progress.java
--
diff --git 
a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/Progress.java
 
b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/Progress.java
index e3445b5..3fbc935 100644
--- 
a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/Progress.java
+++ 
b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/Progress.java
@@ -162,27 +162,27 @@ public class Progress {
   public synchronized void set(float progress) {
 if (Float.isNaN(progress)) {
   progress = 0;
-  LOG.warn("Illegal progress value found, progress is Float.NaN. " +
+  LOG.debug("Illegal progress value found, progress is Float.NaN. " +
 "Progress will be changed to 0");
 }
 else if (progress == Float.NEGATIVE_INFINITY) {
   progress = 0;
-  LOG.warn("Illegal progress value found, progress is " +
+  LOG.debug("Illegal progress value found, progress is " +
 "Float.NEGATIVE_INFINITY. Progress will be changed to 0");
 }
 else if (progress < 0) {
   progress = 0;
-  LOG.warn("Illegal progress value found, progress is less than 0." +
+  LOG.debug("Illegal progress value found, progress is less than 0." +
 " Progress will be changed to 0");
 }
 else if (progress > 1) {
   progress = 1;
-  LOG.warn("Illegal progress value found, progress is larger than 1." +
+  LOG.debug("Illegal progress value found, progress is larger than 1." +
 " Progress will be changed to 1");
 }
 else if (progress == Float.POSITIVE_INFINITY) {
   progress = 1;
-  LOG.warn("Illegal progress value found, progress is " +
+  LOG.debug("Illegal progress value found, progress is " +
 "Float.POSITIVE_INFINITY. Progress will be changed to 1");
 }
 this.progress = progress;



git commit: HADOOP-11085. Excessive logging by org.apache.hadoop.util.Progress when value is NaN. Contributed by Mit Desai (cherry picked from commit 581176cdc868b8701a761b5a0d52f771cbba709a)

2014-09-11 Thread jlowe
Repository: hadoop
Updated Branches:
  refs/heads/branch-2 ac296f952 -> b4ab7aa11


HADOOP-11085. Excessive logging by org.apache.hadoop.util.Progress when value 
is NaN. Contributed by Mit Desai
(cherry picked from commit 581176cdc868b8701a761b5a0d52f771cbba709a)


Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/b4ab7aa1
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/b4ab7aa1
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/b4ab7aa1

Branch: refs/heads/branch-2
Commit: b4ab7aa110d04934cc63ae98a4db8b295804ba81
Parents: ac296f9
Author: Jason Lowe 
Authored: Thu Sep 11 19:53:25 2014 +
Committer: Jason Lowe 
Committed: Thu Sep 11 19:54:05 2014 +

--
 hadoop-common-project/hadoop-common/CHANGES.txt   |  3 +++
 .../src/main/java/org/apache/hadoop/util/Progress.java| 10 +-
 2 files changed, 8 insertions(+), 5 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hadoop/blob/b4ab7aa1/hadoop-common-project/hadoop-common/CHANGES.txt
--
diff --git a/hadoop-common-project/hadoop-common/CHANGES.txt 
b/hadoop-common-project/hadoop-common/CHANGES.txt
index 2d1375f..8d03b01 100644
--- a/hadoop-common-project/hadoop-common/CHANGES.txt
+++ b/hadoop-common-project/hadoop-common/CHANGES.txt
@@ -454,6 +454,9 @@ Release 2.6.0 - UNRELEASED
 HADOOP-9989. Bug introduced in HADOOP-9374, which parses the 
-tokenCacheFile 
 as binary file but set it to the configuration as JSON file. (zxu via tucu)
 
+HADOOP-11085. Excessive logging by org.apache.hadoop.util.Progress when
+value is NaN (Mit Desai via jlowe)
+
 Release 2.5.1 - UNRELEASED
 
   INCOMPATIBLE CHANGES

http://git-wip-us.apache.org/repos/asf/hadoop/blob/b4ab7aa1/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/Progress.java
--
diff --git 
a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/Progress.java
 
b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/Progress.java
index e3445b5..3fbc935 100644
--- 
a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/Progress.java
+++ 
b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/Progress.java
@@ -162,27 +162,27 @@ public class Progress {
   public synchronized void set(float progress) {
 if (Float.isNaN(progress)) {
   progress = 0;
-  LOG.warn("Illegal progress value found, progress is Float.NaN. " +
+  LOG.debug("Illegal progress value found, progress is Float.NaN. " +
 "Progress will be changed to 0");
 }
 else if (progress == Float.NEGATIVE_INFINITY) {
   progress = 0;
-  LOG.warn("Illegal progress value found, progress is " +
+  LOG.debug("Illegal progress value found, progress is " +
 "Float.NEGATIVE_INFINITY. Progress will be changed to 0");
 }
 else if (progress < 0) {
   progress = 0;
-  LOG.warn("Illegal progress value found, progress is less than 0." +
+  LOG.debug("Illegal progress value found, progress is less than 0." +
 " Progress will be changed to 0");
 }
 else if (progress > 1) {
   progress = 1;
-  LOG.warn("Illegal progress value found, progress is larger than 1." +
+  LOG.debug("Illegal progress value found, progress is larger than 1." +
 " Progress will be changed to 1");
 }
 else if (progress == Float.POSITIVE_INFINITY) {
   progress = 1;
-  LOG.warn("Illegal progress value found, progress is " +
+  LOG.debug("Illegal progress value found, progress is " +
 "Float.POSITIVE_INFINITY. Progress will be changed to 1");
 }
 this.progress = progress;



git commit: YARN-2484. FileSystemRMStateStore#readFile/writeFile should close FSData(In|Out)putStream in final block. Contributed by Tsuyoshi OZAWA

2014-09-12 Thread jlowe
Repository: hadoop
Updated Branches:
  refs/heads/trunk 469ea3dce -> 78b048393


YARN-2484. FileSystemRMStateStore#readFile/writeFile should close 
FSData(In|Out)putStream in final block. Contributed by Tsuyoshi OZAWA


Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/78b04839
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/78b04839
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/78b04839

Branch: refs/heads/trunk
Commit: 78b048393a80a9bd1399d08525590bb211a32d8c
Parents: 469ea3d
Author: Jason Lowe 
Authored: Fri Sep 12 14:09:14 2014 +
Committer: Jason Lowe 
Committed: Fri Sep 12 14:09:14 2014 +

--
 hadoop-yarn-project/CHANGES.txt |  3 ++
 .../recovery/FileSystemRMStateStore.java| 30 +---
 2 files changed, 23 insertions(+), 10 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hadoop/blob/78b04839/hadoop-yarn-project/CHANGES.txt
--
diff --git a/hadoop-yarn-project/CHANGES.txt b/hadoop-yarn-project/CHANGES.txt
index c5f5cb0..59b8788 100644
--- a/hadoop-yarn-project/CHANGES.txt
+++ b/hadoop-yarn-project/CHANGES.txt
@@ -334,6 +334,9 @@ Release 2.6.0 - UNRELEASED
 
 YARN-2541. Fixed ResourceManagerRest.apt.vm table syntax error. (jianhe)
 
+YARN-2484. FileSystemRMStateStore#readFile/writeFile should close
+FSData(In|Out)putStream in final block (Tsuyoshi OZAWA via jlowe)
+
 Release 2.5.1 - 2014-09-05
 
   INCOMPATIBLE CHANGES

http://git-wip-us.apache.org/repos/asf/hadoop/blob/78b04839/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/recovery/FileSystemRMStateStore.java
--
diff --git 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/recovery/FileSystemRMStateStore.java
 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/recovery/FileSystemRMStateStore.java
index 4c01a61..4d91831 100644
--- 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/recovery/FileSystemRMStateStore.java
+++ 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/recovery/FileSystemRMStateStore.java
@@ -39,6 +39,7 @@ import org.apache.hadoop.fs.FileSystem;
 import org.apache.hadoop.fs.Path;
 import org.apache.hadoop.fs.PathFilter;
 import org.apache.hadoop.io.DataInputByteBuffer;
+import org.apache.hadoop.io.IOUtils;
 import org.apache.hadoop.security.Credentials;
 import org.apache.hadoop.security.token.delegation.DelegationKey;
 import org.apache.hadoop.yarn.api.records.ApplicationAttemptId;
@@ -573,12 +574,16 @@ public class FileSystemRMStateStore extends RMStateStore {
   }
 
   private byte[] readFile(Path inputPath, long len) throws Exception {
-FSDataInputStream fsIn = fs.open(inputPath);
-// state data will not be that "long"
-byte[] data = new byte[(int)len];
-fsIn.readFully(data);
-fsIn.close();
-return data;
+FSDataInputStream fsIn = null;
+try {
+  fsIn = fs.open(inputPath);
+  // state data will not be that "long"
+  byte[] data = new byte[(int) len];
+  fsIn.readFully(data);
+  return data;
+} finally {
+  IOUtils.cleanup(LOG, fsIn);
+}
   }
 
   /*
@@ -592,10 +597,15 @@ public class FileSystemRMStateStore extends RMStateStore {
 FSDataOutputStream fsOut = null;
 // This file will be overwritten when app/attempt finishes for saving the
 // final status.
-fsOut = fs.create(tempPath, true);
-fsOut.write(data);
-fsOut.close();
-fs.rename(tempPath, outputPath);
+try {
+  fsOut = fs.create(tempPath, true);
+  fsOut.write(data);
+  fsOut.close();
+  fsOut = null;
+  fs.rename(tempPath, outputPath);
+} finally {
+  IOUtils.cleanup(LOG, fsOut);
+}
   }
 
   /*



git commit: YARN-2484. FileSystemRMStateStore#readFile/writeFile should close FSData(In|Out)putStream in final block. Contributed by Tsuyoshi OZAWA (cherry picked from commit 78b048393a80a9bd1399d0852

2014-09-12 Thread jlowe
Repository: hadoop
Updated Branches:
  refs/heads/branch-2 466bdf79c -> 7e69dc877


YARN-2484. FileSystemRMStateStore#readFile/writeFile should close 
FSData(In|Out)putStream in final block. Contributed by Tsuyoshi OZAWA
(cherry picked from commit 78b048393a80a9bd1399d08525590bb211a32d8c)


Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/7e69dc87
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/7e69dc87
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/7e69dc87

Branch: refs/heads/branch-2
Commit: 7e69dc8771726b347bc84640f7b311be2d67c3de
Parents: 466bdf7
Author: Jason Lowe 
Authored: Fri Sep 12 14:09:14 2014 +
Committer: Jason Lowe 
Committed: Fri Sep 12 14:10:51 2014 +

--
 hadoop-yarn-project/CHANGES.txt |  3 ++
 .../recovery/FileSystemRMStateStore.java| 30 +---
 2 files changed, 23 insertions(+), 10 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hadoop/blob/7e69dc87/hadoop-yarn-project/CHANGES.txt
--
diff --git a/hadoop-yarn-project/CHANGES.txt b/hadoop-yarn-project/CHANGES.txt
index b40db52..57ff8df 100644
--- a/hadoop-yarn-project/CHANGES.txt
+++ b/hadoop-yarn-project/CHANGES.txt
@@ -308,6 +308,9 @@ Release 2.6.0 - UNRELEASED
 
 YARN-2541. Fixed ResourceManagerRest.apt.vm table syntax error. (jianhe)
 
+YARN-2484. FileSystemRMStateStore#readFile/writeFile should close
+FSData(In|Out)putStream in final block (Tsuyoshi OZAWA via jlowe)
+
 Release 2.5.1 - 2014-09-05
 
   INCOMPATIBLE CHANGES

http://git-wip-us.apache.org/repos/asf/hadoop/blob/7e69dc87/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/recovery/FileSystemRMStateStore.java
--
diff --git 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/recovery/FileSystemRMStateStore.java
 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/recovery/FileSystemRMStateStore.java
index 4c01a61..4d91831 100644
--- 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/recovery/FileSystemRMStateStore.java
+++ 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/recovery/FileSystemRMStateStore.java
@@ -39,6 +39,7 @@ import org.apache.hadoop.fs.FileSystem;
 import org.apache.hadoop.fs.Path;
 import org.apache.hadoop.fs.PathFilter;
 import org.apache.hadoop.io.DataInputByteBuffer;
+import org.apache.hadoop.io.IOUtils;
 import org.apache.hadoop.security.Credentials;
 import org.apache.hadoop.security.token.delegation.DelegationKey;
 import org.apache.hadoop.yarn.api.records.ApplicationAttemptId;
@@ -573,12 +574,16 @@ public class FileSystemRMStateStore extends RMStateStore {
   }
 
   private byte[] readFile(Path inputPath, long len) throws Exception {
-FSDataInputStream fsIn = fs.open(inputPath);
-// state data will not be that "long"
-byte[] data = new byte[(int)len];
-fsIn.readFully(data);
-fsIn.close();
-return data;
+FSDataInputStream fsIn = null;
+try {
+  fsIn = fs.open(inputPath);
+  // state data will not be that "long"
+  byte[] data = new byte[(int) len];
+  fsIn.readFully(data);
+  return data;
+} finally {
+  IOUtils.cleanup(LOG, fsIn);
+}
   }
 
   /*
@@ -592,10 +597,15 @@ public class FileSystemRMStateStore extends RMStateStore {
 FSDataOutputStream fsOut = null;
 // This file will be overwritten when app/attempt finishes for saving the
 // final status.
-fsOut = fs.create(tempPath, true);
-fsOut.write(data);
-fsOut.close();
-fs.rename(tempPath, outputPath);
+try {
+  fsOut = fs.create(tempPath, true);
+  fsOut.write(data);
+  fsOut.close();
+  fsOut = null;
+  fs.rename(tempPath, outputPath);
+} finally {
+  IOUtils.cleanup(LOG, fsOut);
+}
   }
 
   /*



git commit: YARN-2363. Submitted applications occasionally lack a tracking URL. Contributed by Jason Lowe

2014-09-18 Thread jlowe
Repository: hadoop
Updated Branches:
  refs/heads/trunk 570b8b468 -> 9ea7b6c06


YARN-2363. Submitted applications occasionally lack a tracking URL. Contributed 
by Jason Lowe


Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/9ea7b6c0
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/9ea7b6c0
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/9ea7b6c0

Branch: refs/heads/trunk
Commit: 9ea7b6c063c0bdd4551962e21d0173f671e9df03
Parents: 570b8b4
Author: Jason Lowe 
Authored: Thu Sep 18 20:13:16 2014 +
Committer: Jason Lowe 
Committed: Thu Sep 18 20:13:16 2014 +

--
 hadoop-yarn-project/CHANGES.txt  |  2 ++
 .../server/resourcemanager/rmapp/RMAppImpl.java  | 19 +++
 .../rmapp/TestRMAppTransitions.java  |  6 --
 3 files changed, 25 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hadoop/blob/9ea7b6c0/hadoop-yarn-project/CHANGES.txt
--
diff --git a/hadoop-yarn-project/CHANGES.txt b/hadoop-yarn-project/CHANGES.txt
index c179c7f..fbbef7f 100644
--- a/hadoop-yarn-project/CHANGES.txt
+++ b/hadoop-yarn-project/CHANGES.txt
@@ -389,6 +389,8 @@ Release 2.6.0 - UNRELEASED
 YARN-1779. Fixed AMRMClient to handle AMRMTokens correctly across
 ResourceManager work-preserving-restart or failover. (Jian He via vinodkv)
 
+YARN-2363. Submitted applications occasionally lack a tracking URL (jlowe)
+
 Release 2.5.1 - 2014-09-05
 
   INCOMPATIBLE CHANGES

http://git-wip-us.apache.org/repos/asf/hadoop/blob/9ea7b6c0/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/rmapp/RMAppImpl.java
--
diff --git 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/rmapp/RMAppImpl.java
 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/rmapp/RMAppImpl.java
index 815b86a..ff520be 100644
--- 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/rmapp/RMAppImpl.java
+++ 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/rmapp/RMAppImpl.java
@@ -18,6 +18,8 @@
 
 package org.apache.hadoop.yarn.server.resourcemanager.rmapp;
 
+import java.net.URI;
+import java.net.URISyntaxException;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.EnumSet;
@@ -76,6 +78,7 @@ import 
org.apache.hadoop.yarn.server.resourcemanager.scheduler.YarnScheduler;
 import 
org.apache.hadoop.yarn.server.resourcemanager.scheduler.event.AppAddedSchedulerEvent;
 import 
org.apache.hadoop.yarn.server.resourcemanager.scheduler.event.AppRemovedSchedulerEvent;
 import org.apache.hadoop.yarn.server.utils.BuilderUtils;
+import org.apache.hadoop.yarn.server.webproxy.ProxyUriUtils;
 import org.apache.hadoop.yarn.state.InvalidStateTransitonException;
 import org.apache.hadoop.yarn.state.MultipleArcTransition;
 import org.apache.hadoop.yarn.state.SingleArcTransition;
@@ -84,6 +87,7 @@ import org.apache.hadoop.yarn.state.StateMachineFactory;
 import org.apache.hadoop.yarn.util.Clock;
 import org.apache.hadoop.yarn.util.SystemClock;
 import org.apache.hadoop.yarn.util.resource.Resources;
+import org.apache.hadoop.yarn.webapp.util.WebAppUtils;
 
 import com.google.common.annotations.VisibleForTesting;
 
@@ -542,6 +546,7 @@ public class RMAppImpl implements RMApp, Recoverable {
   float progress = 0.0f;
   org.apache.hadoop.yarn.api.records.Token amrmToken = null;
   if (allowAccess) {
+trackingUrl = getDefaultProxyTrackingUrl();
 if (this.currentAttempt != null) {
   currentApplicationAttemptId = this.currentAttempt.getAppAttemptId();
   trackingUrl = this.currentAttempt.getTrackingUrl();
@@ -602,6 +607,20 @@ public class RMAppImpl implements RMApp, Recoverable {
 }
   }
 
+  private String getDefaultProxyTrackingUrl() {
+try {
+  final String scheme = WebAppUtils.getHttpSchemePrefix(conf);
+  String proxy = WebAppUtils.getProxyHostAndPort(conf);
+  URI proxyUri = ProxyUriUtils.getUriFromAMUrl(scheme, proxy);
+  URI result = ProxyUriUtils.getProxyUri(null, proxyUri, applicationId);
+  return result.toASCIIString();
+} catch (URISyntaxException e) {
+  LOG.warn("Could not generate default proxy tracking URL for "
+  + applicationId);
+  retur

git commit: YARN-2363. Submitted applications occasionally lack a tracking URL. Contributed by Jason Lowe (cherry picked from commit 9ea7b6c063c0bdd4551962e21d0173f671e9df03)

2014-09-18 Thread jlowe
Repository: hadoop
Updated Branches:
  refs/heads/branch-2 2b1c9c621 -> 44c22c3d8


YARN-2363. Submitted applications occasionally lack a tracking URL. Contributed 
by Jason Lowe
(cherry picked from commit 9ea7b6c063c0bdd4551962e21d0173f671e9df03)


Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/44c22c3d
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/44c22c3d
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/44c22c3d

Branch: refs/heads/branch-2
Commit: 44c22c3d8d9966e72e5f350c933c5d3ea9eb9465
Parents: 2b1c9c6
Author: Jason Lowe 
Authored: Thu Sep 18 20:13:16 2014 +
Committer: Jason Lowe 
Committed: Thu Sep 18 20:15:46 2014 +

--
 hadoop-yarn-project/CHANGES.txt  |  2 ++
 .../server/resourcemanager/rmapp/RMAppImpl.java  | 19 +++
 .../rmapp/TestRMAppTransitions.java  |  6 --
 3 files changed, 25 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hadoop/blob/44c22c3d/hadoop-yarn-project/CHANGES.txt
--
diff --git a/hadoop-yarn-project/CHANGES.txt b/hadoop-yarn-project/CHANGES.txt
index 3bdd793..a537749 100644
--- a/hadoop-yarn-project/CHANGES.txt
+++ b/hadoop-yarn-project/CHANGES.txt
@@ -359,6 +359,8 @@ Release 2.6.0 - UNRELEASED
 YARN-1779. Fixed AMRMClient to handle AMRMTokens correctly across
 ResourceManager work-preserving-restart or failover. (Jian He via vinodkv)
 
+YARN-2363. Submitted applications occasionally lack a tracking URL (jlowe)
+
 Release 2.5.1 - 2014-09-05
 
   INCOMPATIBLE CHANGES

http://git-wip-us.apache.org/repos/asf/hadoop/blob/44c22c3d/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/rmapp/RMAppImpl.java
--
diff --git 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/rmapp/RMAppImpl.java
 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/rmapp/RMAppImpl.java
index 815b86a..ff520be 100644
--- 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/rmapp/RMAppImpl.java
+++ 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/rmapp/RMAppImpl.java
@@ -18,6 +18,8 @@
 
 package org.apache.hadoop.yarn.server.resourcemanager.rmapp;
 
+import java.net.URI;
+import java.net.URISyntaxException;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.EnumSet;
@@ -76,6 +78,7 @@ import 
org.apache.hadoop.yarn.server.resourcemanager.scheduler.YarnScheduler;
 import 
org.apache.hadoop.yarn.server.resourcemanager.scheduler.event.AppAddedSchedulerEvent;
 import 
org.apache.hadoop.yarn.server.resourcemanager.scheduler.event.AppRemovedSchedulerEvent;
 import org.apache.hadoop.yarn.server.utils.BuilderUtils;
+import org.apache.hadoop.yarn.server.webproxy.ProxyUriUtils;
 import org.apache.hadoop.yarn.state.InvalidStateTransitonException;
 import org.apache.hadoop.yarn.state.MultipleArcTransition;
 import org.apache.hadoop.yarn.state.SingleArcTransition;
@@ -84,6 +87,7 @@ import org.apache.hadoop.yarn.state.StateMachineFactory;
 import org.apache.hadoop.yarn.util.Clock;
 import org.apache.hadoop.yarn.util.SystemClock;
 import org.apache.hadoop.yarn.util.resource.Resources;
+import org.apache.hadoop.yarn.webapp.util.WebAppUtils;
 
 import com.google.common.annotations.VisibleForTesting;
 
@@ -542,6 +546,7 @@ public class RMAppImpl implements RMApp, Recoverable {
   float progress = 0.0f;
   org.apache.hadoop.yarn.api.records.Token amrmToken = null;
   if (allowAccess) {
+trackingUrl = getDefaultProxyTrackingUrl();
 if (this.currentAttempt != null) {
   currentApplicationAttemptId = this.currentAttempt.getAppAttemptId();
   trackingUrl = this.currentAttempt.getTrackingUrl();
@@ -602,6 +607,20 @@ public class RMAppImpl implements RMApp, Recoverable {
 }
   }
 
+  private String getDefaultProxyTrackingUrl() {
+try {
+  final String scheme = WebAppUtils.getHttpSchemePrefix(conf);
+  String proxy = WebAppUtils.getProxyHostAndPort(conf);
+  URI proxyUri = ProxyUriUtils.getUriFromAMUrl(scheme, proxy);
+  URI result = ProxyUriUtils.getProxyUri(null, proxyUri, applicationId);
+  return result.toASCIIString();
+} catch (URISyntaxException e) {
+  LOG.warn("Could not generate defau

git commit: MAPREDUCE-6090. mapred hsadmin getGroups fails to connect in some cases. Contributed by Robert Kanter

2014-09-18 Thread jlowe
Repository: hadoop
Updated Branches:
  refs/heads/trunk 474f116f5 -> 1cf319804


MAPREDUCE-6090. mapred hsadmin getGroups fails to connect in some cases. 
Contributed by Robert Kanter


Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/1cf31980
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/1cf31980
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/1cf31980

Branch: refs/heads/trunk
Commit: 1cf31980474bf9ac28e51b6f014eae09eda9e15f
Parents: 474f116
Author: Jason Lowe 
Authored: Thu Sep 18 21:00:53 2014 +
Committer: Jason Lowe 
Committed: Thu Sep 18 21:00:53 2014 +

--
 hadoop-mapreduce-project/CHANGES.txt   | 3 +++
 .../java/org/apache/hadoop/mapreduce/v2/hs/client/HSAdmin.java | 6 --
 .../hadoop/mapreduce/v2/hs/server/TestHSAdminServer.java   | 5 +++--
 3 files changed, 10 insertions(+), 4 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hadoop/blob/1cf31980/hadoop-mapreduce-project/CHANGES.txt
--
diff --git a/hadoop-mapreduce-project/CHANGES.txt 
b/hadoop-mapreduce-project/CHANGES.txt
index 5d1e5f5..0be938b 100644
--- a/hadoop-mapreduce-project/CHANGES.txt
+++ b/hadoop-mapreduce-project/CHANGES.txt
@@ -347,6 +347,9 @@ Release 2.6.0 - UNRELEASED
 MAPREDUCE-6070. yarn.app.am.resource.mb/cpu-vcores affects uber mode but
 is not documented (Tsuyoshi OZAWA via jlowe)
 
+MAPREDUCE-6090. mapred hsadmin getGroups fails to connect in some cases
+(Robert Kanter via jlowe)
+
 Release 2.5.1 - 2014-09-05
 
   INCOMPATIBLE CHANGES

http://git-wip-us.apache.org/repos/asf/hadoop/blob/1cf31980/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-hs/src/main/java/org/apache/hadoop/mapreduce/v2/hs/client/HSAdmin.java
--
diff --git 
a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-hs/src/main/java/org/apache/hadoop/mapreduce/v2/hs/client/HSAdmin.java
 
b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-hs/src/main/java/org/apache/hadoop/mapreduce/v2/hs/client/HSAdmin.java
index be6ca13..000ea54 100644
--- 
a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-hs/src/main/java/org/apache/hadoop/mapreduce/v2/hs/client/HSAdmin.java
+++ 
b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-hs/src/main/java/org/apache/hadoop/mapreduce/v2/hs/client/HSAdmin.java
@@ -25,6 +25,7 @@ import java.util.Arrays;
 import org.apache.hadoop.classification.InterfaceAudience.Private;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.conf.Configured;
+import org.apache.hadoop.mapred.JobConf;
 import org.apache.hadoop.mapreduce.v2.hs.HSProxies;
 import org.apache.hadoop.mapreduce.v2.hs.protocol.HSAdminRefreshProtocol;
 import org.apache.hadoop.mapreduce.v2.jobhistory.JHAdminConfig;
@@ -41,7 +42,7 @@ public class HSAdmin extends Configured implements Tool {
 super();
   }
 
-  public HSAdmin(Configuration conf) {
+  public HSAdmin(JobConf conf) {
 super(conf);
   }
 
@@ -331,7 +332,8 @@ public class HSAdmin extends Configured implements Tool {
   }
 
   public static void main(String[] args) throws Exception {
-int result = ToolRunner.run(new HSAdmin(), args);
+JobConf conf = new JobConf();
+int result = ToolRunner.run(new HSAdmin(conf), args);
 System.exit(result);
   }
 }

http://git-wip-us.apache.org/repos/asf/hadoop/blob/1cf31980/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-hs/src/test/java/org/apache/hadoop/mapreduce/v2/hs/server/TestHSAdminServer.java
--
diff --git 
a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-hs/src/test/java/org/apache/hadoop/mapreduce/v2/hs/server/TestHSAdminServer.java
 
b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-hs/src/test/java/org/apache/hadoop/mapreduce/v2/hs/server/TestHSAdminServer.java
index 277a195..2c239ec 100644
--- 
a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-hs/src/test/java/org/apache/hadoop/mapreduce/v2/hs/server/TestHSAdminServer.java
+++ 
b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-hs/src/test/java/org/apache/hadoop/mapreduce/v2/hs/server/TestHSAdminServer.java
@@ -28,6 +28,7 @@ import java.util.List;
 import org.apache.hadoop.HadoopIllegalArgumentException;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.ipc.RemoteException;
+import org.apache.hadoop.mapred.JobConf;
 import org.apache.hadoop.mapreduce.v2.hs.JobHistory;
 import org.apache.hadoop.mapreduce.v2.hs.client.HSAdmin;
 imp

git commit: MAPREDUCE-6090. mapred hsadmin getGroups fails to connect in some cases. Contributed by Robert Kanter (cherry picked from commit 1cf31980474bf9ac28e51b6f014eae09eda9e15f)

2014-09-18 Thread jlowe
Repository: hadoop
Updated Branches:
  refs/heads/branch-2 44c22c3d8 -> 4b4e44a8a


MAPREDUCE-6090. mapred hsadmin getGroups fails to connect in some cases. 
Contributed by Robert Kanter
(cherry picked from commit 1cf31980474bf9ac28e51b6f014eae09eda9e15f)


Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/4b4e44a8
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/4b4e44a8
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/4b4e44a8

Branch: refs/heads/branch-2
Commit: 4b4e44a8aade35df406fa0ded020a357c92f1e73
Parents: 44c22c3
Author: Jason Lowe 
Authored: Thu Sep 18 21:00:53 2014 +
Committer: Jason Lowe 
Committed: Thu Sep 18 21:02:13 2014 +

--
 hadoop-mapreduce-project/CHANGES.txt   | 3 +++
 .../java/org/apache/hadoop/mapreduce/v2/hs/client/HSAdmin.java | 6 --
 .../hadoop/mapreduce/v2/hs/server/TestHSAdminServer.java   | 5 +++--
 3 files changed, 10 insertions(+), 4 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hadoop/blob/4b4e44a8/hadoop-mapreduce-project/CHANGES.txt
--
diff --git a/hadoop-mapreduce-project/CHANGES.txt 
b/hadoop-mapreduce-project/CHANGES.txt
index 420890b..c4f3d90 100644
--- a/hadoop-mapreduce-project/CHANGES.txt
+++ b/hadoop-mapreduce-project/CHANGES.txt
@@ -130,6 +130,9 @@ Release 2.6.0 - UNRELEASED
 MAPREDUCE-6070. yarn.app.am.resource.mb/cpu-vcores affects uber mode but
 is not documented (Tsuyoshi OZAWA via jlowe)
 
+MAPREDUCE-6090. mapred hsadmin getGroups fails to connect in some cases
+(Robert Kanter via jlowe)
+
 Release 2.5.1 - 2014-09-05
 
   INCOMPATIBLE CHANGES

http://git-wip-us.apache.org/repos/asf/hadoop/blob/4b4e44a8/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-hs/src/main/java/org/apache/hadoop/mapreduce/v2/hs/client/HSAdmin.java
--
diff --git 
a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-hs/src/main/java/org/apache/hadoop/mapreduce/v2/hs/client/HSAdmin.java
 
b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-hs/src/main/java/org/apache/hadoop/mapreduce/v2/hs/client/HSAdmin.java
index be6ca13..000ea54 100644
--- 
a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-hs/src/main/java/org/apache/hadoop/mapreduce/v2/hs/client/HSAdmin.java
+++ 
b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-hs/src/main/java/org/apache/hadoop/mapreduce/v2/hs/client/HSAdmin.java
@@ -25,6 +25,7 @@ import java.util.Arrays;
 import org.apache.hadoop.classification.InterfaceAudience.Private;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.conf.Configured;
+import org.apache.hadoop.mapred.JobConf;
 import org.apache.hadoop.mapreduce.v2.hs.HSProxies;
 import org.apache.hadoop.mapreduce.v2.hs.protocol.HSAdminRefreshProtocol;
 import org.apache.hadoop.mapreduce.v2.jobhistory.JHAdminConfig;
@@ -41,7 +42,7 @@ public class HSAdmin extends Configured implements Tool {
 super();
   }
 
-  public HSAdmin(Configuration conf) {
+  public HSAdmin(JobConf conf) {
 super(conf);
   }
 
@@ -331,7 +332,8 @@ public class HSAdmin extends Configured implements Tool {
   }
 
   public static void main(String[] args) throws Exception {
-int result = ToolRunner.run(new HSAdmin(), args);
+JobConf conf = new JobConf();
+int result = ToolRunner.run(new HSAdmin(conf), args);
 System.exit(result);
   }
 }

http://git-wip-us.apache.org/repos/asf/hadoop/blob/4b4e44a8/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-hs/src/test/java/org/apache/hadoop/mapreduce/v2/hs/server/TestHSAdminServer.java
--
diff --git 
a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-hs/src/test/java/org/apache/hadoop/mapreduce/v2/hs/server/TestHSAdminServer.java
 
b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-hs/src/test/java/org/apache/hadoop/mapreduce/v2/hs/server/TestHSAdminServer.java
index 277a195..2c239ec 100644
--- 
a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-hs/src/test/java/org/apache/hadoop/mapreduce/v2/hs/server/TestHSAdminServer.java
+++ 
b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-hs/src/test/java/org/apache/hadoop/mapreduce/v2/hs/server/TestHSAdminServer.java
@@ -28,6 +28,7 @@ import java.util.List;
 import org.apache.hadoop.HadoopIllegalArgumentException;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.ipc.RemoteException;
+import org.apache.hadoop.mapred.JobConf;
 import org.apache.hadoop.mapreduce.v2.hs.JobHist

git commit: YARN-2561. MR job client cannot reconnect to AM after NM restart. Contributed by Junping Du

2014-09-18 Thread jlowe
Repository: hadoop
Updated Branches:
  refs/heads/trunk 1cf319804 -> a337f0e35


YARN-2561. MR job client cannot reconnect to AM after NM restart. Contributed 
by Junping Du


Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/a337f0e3
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/a337f0e3
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/a337f0e3

Branch: refs/heads/trunk
Commit: a337f0e3549351344bce70cb23ddc0a256c894b0
Parents: 1cf3198
Author: Jason Lowe 
Authored: Thu Sep 18 21:34:40 2014 +
Committer: Jason Lowe 
Committed: Thu Sep 18 21:34:40 2014 +

--
 hadoop-yarn-project/CHANGES.txt |  3 ++
 .../resourcemanager/rmnode/RMNodeImpl.java  | 47 +---
 .../TestResourceTrackerService.java | 11 +
 3 files changed, 55 insertions(+), 6 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hadoop/blob/a337f0e3/hadoop-yarn-project/CHANGES.txt
--
diff --git a/hadoop-yarn-project/CHANGES.txt b/hadoop-yarn-project/CHANGES.txt
index fbbef7f..836248b 100644
--- a/hadoop-yarn-project/CHANGES.txt
+++ b/hadoop-yarn-project/CHANGES.txt
@@ -391,6 +391,9 @@ Release 2.6.0 - UNRELEASED
 
 YARN-2363. Submitted applications occasionally lack a tracking URL (jlowe)
 
+YARN-2561. MR job client cannot reconnect to AM after NM restart. (Junping
+Du via jlowe)
+
 Release 2.5.1 - 2014-09-05
 
   INCOMPATIBLE CHANGES

http://git-wip-us.apache.org/repos/asf/hadoop/blob/a337f0e3/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/rmnode/RMNodeImpl.java
--
diff --git 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/rmnode/RMNodeImpl.java
 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/rmnode/RMNodeImpl.java
index 3ce6416..1265958 100644
--- 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/rmnode/RMNodeImpl.java
+++ 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/rmnode/RMNodeImpl.java
@@ -544,12 +544,47 @@ public class RMNodeImpl implements RMNode, 
EventHandler {
   RMNodeReconnectEvent reconnectEvent = (RMNodeReconnectEvent) event;
   RMNode newNode = reconnectEvent.getReconnectedNode();
   rmNode.nodeManagerVersion = newNode.getNodeManagerVersion();
-  rmNode.httpPort = newNode.getHttpPort();
-  rmNode.httpAddress = newNode.getHttpAddress();
-  rmNode.totalCapability = newNode.getTotalCapability();
+  List runningApps = 
reconnectEvent.getRunningApplications();
+  boolean noRunningApps = 
+  (runningApps == null) || (runningApps.size() == 0);
   
-  // Reset heartbeat ID since node just restarted.
-  rmNode.getLastNodeHeartBeatResponse().setResponseId(0);
+  // No application running on the node, so send node-removal event with 
+  // cleaning up old container info.
+  if (noRunningApps) {
+rmNode.nodeUpdateQueue.clear();
+rmNode.context.getDispatcher().getEventHandler().handle(
+new NodeRemovedSchedulerEvent(rmNode));
+
+if (rmNode.getHttpPort() == newNode.getHttpPort()) {
+  // Reset heartbeat ID since node just restarted.
+  rmNode.getLastNodeHeartBeatResponse().setResponseId(0);
+  if (rmNode.getState() != NodeState.UNHEALTHY) {
+// Only add new node if old state is not UNHEALTHY
+rmNode.context.getDispatcher().getEventHandler().handle(
+new NodeAddedSchedulerEvent(newNode));
+  }
+} else {
+  // Reconnected node differs, so replace old node and start new node
+  switch (rmNode.getState()) {
+case RUNNING:
+  ClusterMetrics.getMetrics().decrNumActiveNodes();
+  break;
+case UNHEALTHY:
+  ClusterMetrics.getMetrics().decrNumUnhealthyNMs();
+  break;
+}
+rmNode.context.getRMNodes().put(newNode.getNodeID(), newNode);
+rmNode.context.getDispatcher().getEventHandler().handle(
+new RMNodeStartedEvent(newNode.getNodeID(), null, null));
+}
+  } else {
+rmNode.httpPort = newNode.getHttpPort();
+rmNode.httpAddress = newNode.getHttpAddress();
+rmNode.totalCapabil

git commit: YARN-2561. MR job client cannot reconnect to AM after NM restart. Contributed by Junping Du (cherry picked from commit a337f0e3549351344bce70cb23ddc0a256c894b0)

2014-09-18 Thread jlowe
Repository: hadoop
Updated Branches:
  refs/heads/branch-2 4b4e44a8a -> d9273a954


YARN-2561. MR job client cannot reconnect to AM after NM restart. Contributed 
by Junping Du
(cherry picked from commit a337f0e3549351344bce70cb23ddc0a256c894b0)


Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/d9273a95
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/d9273a95
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/d9273a95

Branch: refs/heads/branch-2
Commit: d9273a95476371b01cc366251a6c67ec2c07f4c4
Parents: 4b4e44a
Author: Jason Lowe 
Authored: Thu Sep 18 21:34:40 2014 +
Committer: Jason Lowe 
Committed: Thu Sep 18 21:36:20 2014 +

--
 hadoop-yarn-project/CHANGES.txt |  3 ++
 .../resourcemanager/rmnode/RMNodeImpl.java  | 47 +---
 .../TestResourceTrackerService.java | 11 +
 3 files changed, 55 insertions(+), 6 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hadoop/blob/d9273a95/hadoop-yarn-project/CHANGES.txt
--
diff --git a/hadoop-yarn-project/CHANGES.txt b/hadoop-yarn-project/CHANGES.txt
index a537749..0baf910 100644
--- a/hadoop-yarn-project/CHANGES.txt
+++ b/hadoop-yarn-project/CHANGES.txt
@@ -361,6 +361,9 @@ Release 2.6.0 - UNRELEASED
 
 YARN-2363. Submitted applications occasionally lack a tracking URL (jlowe)
 
+YARN-2561. MR job client cannot reconnect to AM after NM restart. (Junping
+Du via jlowe)
+
 Release 2.5.1 - 2014-09-05
 
   INCOMPATIBLE CHANGES

http://git-wip-us.apache.org/repos/asf/hadoop/blob/d9273a95/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/rmnode/RMNodeImpl.java
--
diff --git 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/rmnode/RMNodeImpl.java
 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/rmnode/RMNodeImpl.java
index 3ce6416..1265958 100644
--- 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/rmnode/RMNodeImpl.java
+++ 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/rmnode/RMNodeImpl.java
@@ -544,12 +544,47 @@ public class RMNodeImpl implements RMNode, 
EventHandler {
   RMNodeReconnectEvent reconnectEvent = (RMNodeReconnectEvent) event;
   RMNode newNode = reconnectEvent.getReconnectedNode();
   rmNode.nodeManagerVersion = newNode.getNodeManagerVersion();
-  rmNode.httpPort = newNode.getHttpPort();
-  rmNode.httpAddress = newNode.getHttpAddress();
-  rmNode.totalCapability = newNode.getTotalCapability();
+  List runningApps = 
reconnectEvent.getRunningApplications();
+  boolean noRunningApps = 
+  (runningApps == null) || (runningApps.size() == 0);
   
-  // Reset heartbeat ID since node just restarted.
-  rmNode.getLastNodeHeartBeatResponse().setResponseId(0);
+  // No application running on the node, so send node-removal event with 
+  // cleaning up old container info.
+  if (noRunningApps) {
+rmNode.nodeUpdateQueue.clear();
+rmNode.context.getDispatcher().getEventHandler().handle(
+new NodeRemovedSchedulerEvent(rmNode));
+
+if (rmNode.getHttpPort() == newNode.getHttpPort()) {
+  // Reset heartbeat ID since node just restarted.
+  rmNode.getLastNodeHeartBeatResponse().setResponseId(0);
+  if (rmNode.getState() != NodeState.UNHEALTHY) {
+// Only add new node if old state is not UNHEALTHY
+rmNode.context.getDispatcher().getEventHandler().handle(
+new NodeAddedSchedulerEvent(newNode));
+  }
+} else {
+  // Reconnected node differs, so replace old node and start new node
+  switch (rmNode.getState()) {
+case RUNNING:
+  ClusterMetrics.getMetrics().decrNumActiveNodes();
+  break;
+case UNHEALTHY:
+  ClusterMetrics.getMetrics().decrNumUnhealthyNMs();
+  break;
+}
+rmNode.context.getRMNodes().put(newNode.getNodeID(), newNode);
+rmNode.context.getDispatcher().getEventHandler().handle(
+new RMNodeStartedEvent(newNode.getNodeID(), null, null));
+}
+  } else {
+rmNode.httpPort = newNode.getHttpP

git commit: MAPREDUCE-5891. Improved shuffle error handling across NM restarts. Contributed by Junping Du

2014-09-18 Thread jlowe
Repository: hadoop
Updated Branches:
  refs/heads/trunk 70be56d09 -> 2c3da25fd


MAPREDUCE-5891. Improved shuffle error handling across NM restarts. Contributed 
by Junping Du


Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/2c3da25f
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/2c3da25f
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/2c3da25f

Branch: refs/heads/trunk
Commit: 2c3da25fd718b3a9c1ed67f05b577975ae613f4e
Parents: 70be56d
Author: Jason Lowe 
Authored: Thu Sep 18 21:56:46 2014 +
Committer: Jason Lowe 
Committed: Thu Sep 18 22:00:11 2014 +

--
 hadoop-mapreduce-project/CHANGES.txt|   3 +
 .../apache/hadoop/mapreduce/MRJobConfig.java|   8 +
 .../hadoop/mapreduce/task/reduce/Fetcher.java   | 231 ++-
 .../task/reduce/ShuffleSchedulerImpl.java   |  17 +-
 .../src/main/resources/mapred-default.xml   |  21 ++
 .../mapreduce/task/reduce/TestFetcher.java  |  96 +++-
 6 files changed, 312 insertions(+), 64 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hadoop/blob/2c3da25f/hadoop-mapreduce-project/CHANGES.txt
--
diff --git a/hadoop-mapreduce-project/CHANGES.txt 
b/hadoop-mapreduce-project/CHANGES.txt
index 0be938b..a661266 100644
--- a/hadoop-mapreduce-project/CHANGES.txt
+++ b/hadoop-mapreduce-project/CHANGES.txt
@@ -251,6 +251,9 @@ Release 2.6.0 - UNRELEASED
 MAPREDUCE-5130. Add missing job config options to mapred-default.xml
 (Ray Chiang via Sandy Ryza)
 
+MAPREDUCE-5891. Improved shuffle error handling across NM restarts
+(Junping Du via jlowe)
+
   OPTIMIZATIONS
 
   BUG FIXES

http://git-wip-us.apache.org/repos/asf/hadoop/blob/2c3da25f/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/MRJobConfig.java
--
diff --git 
a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/MRJobConfig.java
 
b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/MRJobConfig.java
index 4c48cf5..e39dd6a 100644
--- 
a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/MRJobConfig.java
+++ 
b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/MRJobConfig.java
@@ -298,6 +298,14 @@ public interface MRJobConfig {
   
   public static final String MAX_FETCH_FAILURES_NOTIFICATIONS = 
"mapreduce.reduce.shuffle.max-fetch-failures-notifications";
   public static final int DEFAULT_MAX_FETCH_FAILURES_NOTIFICATIONS = 3;
+  
+  public static final String SHUFFLE_FETCH_RETRY_INTERVAL_MS = 
"mapreduce.reduce.shuffle.fetch.retry.interval-ms";
+  /** Default interval that fetcher retry to fetch during NM restart.*/
+  public final static int DEFAULT_SHUFFLE_FETCH_RETRY_INTERVAL_MS = 1000;
+  
+  public static final String SHUFFLE_FETCH_RETRY_TIMEOUT_MS = 
"mapreduce.reduce.shuffle.fetch.retry.timeout-ms";
+  
+  public static final String SHUFFLE_FETCH_RETRY_ENABLED = 
"mapreduce.reduce.shuffle.fetch.retry.enabled";
 
   public static final String SHUFFLE_NOTIFY_READERROR = 
"mapreduce.reduce.shuffle.notify.readerror";
   

http://git-wip-us.apache.org/repos/asf/hadoop/blob/2c3da25f/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/task/reduce/Fetcher.java
--
diff --git 
a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/task/reduce/Fetcher.java
 
b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/task/reduce/Fetcher.java
index e1e1663..a416200 100644
--- 
a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/task/reduce/Fetcher.java
+++ 
b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/task/reduce/Fetcher.java
@@ -27,6 +27,7 @@ import java.net.URL;
 import java.net.URLConnection;
 import java.security.GeneralSecurityException;
 import java.util.Arrays;
+import java.util.Collection;
 import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
@@ -46,6 +47,8 @@ import org.apache.hadoop.mapreduce.TaskAttemptID;
 import org.apache.hadoop.mapreduce.security.SecureShuffleUtils;
 im

git commit: MAPREDUCE-5891. Improved shuffle error handling across NM restarts. Contributed by Junping Du (cherry picked from commit 2c3da25fd718b3a9c1ed67f05b577975ae613f4e)

2014-09-18 Thread jlowe
Repository: hadoop
Updated Branches:
  refs/heads/branch-2 47c9dcfe8 -> 44c711313


MAPREDUCE-5891. Improved shuffle error handling across NM restarts. Contributed 
by Junping Du
(cherry picked from commit 2c3da25fd718b3a9c1ed67f05b577975ae613f4e)


Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/44c71131
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/44c71131
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/44c71131

Branch: refs/heads/branch-2
Commit: 44c711313311bc2c38adc66bca11a100bd7ce4d0
Parents: 47c9dcf
Author: Jason Lowe 
Authored: Thu Sep 18 21:56:46 2014 +
Committer: Jason Lowe 
Committed: Thu Sep 18 22:01:42 2014 +

--
 hadoop-mapreduce-project/CHANGES.txt|   3 +
 .../apache/hadoop/mapreduce/MRJobConfig.java|   8 +
 .../hadoop/mapreduce/task/reduce/Fetcher.java   | 231 ++-
 .../task/reduce/ShuffleSchedulerImpl.java   |  17 +-
 .../src/main/resources/mapred-default.xml   |  21 ++
 .../mapreduce/task/reduce/TestFetcher.java  |  96 +++-
 6 files changed, 312 insertions(+), 64 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hadoop/blob/44c71131/hadoop-mapreduce-project/CHANGES.txt
--
diff --git a/hadoop-mapreduce-project/CHANGES.txt 
b/hadoop-mapreduce-project/CHANGES.txt
index c4f3d90..2e79e4d 100644
--- a/hadoop-mapreduce-project/CHANGES.txt
+++ b/hadoop-mapreduce-project/CHANGES.txt
@@ -34,6 +34,9 @@ Release 2.6.0 - UNRELEASED
 MAPREDUCE-5130. Add missing job config options to mapred-default.xml
 (Ray Chiang via Sandy Ryza)
 
+MAPREDUCE-5891. Improved shuffle error handling across NM restarts
+(Junping Du via jlowe)
+
   OPTIMIZATIONS
 
   BUG FIXES

http://git-wip-us.apache.org/repos/asf/hadoop/blob/44c71131/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/MRJobConfig.java
--
diff --git 
a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/MRJobConfig.java
 
b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/MRJobConfig.java
index fdc1c59..d2199c3 100644
--- 
a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/MRJobConfig.java
+++ 
b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/MRJobConfig.java
@@ -293,6 +293,14 @@ public interface MRJobConfig {
   
   public static final String MAX_FETCH_FAILURES_NOTIFICATIONS = 
"mapreduce.reduce.shuffle.max-fetch-failures-notifications";
   public static final int DEFAULT_MAX_FETCH_FAILURES_NOTIFICATIONS = 3;
+  
+  public static final String SHUFFLE_FETCH_RETRY_INTERVAL_MS = 
"mapreduce.reduce.shuffle.fetch.retry.interval-ms";
+  /** Default interval that fetcher retry to fetch during NM restart.*/
+  public final static int DEFAULT_SHUFFLE_FETCH_RETRY_INTERVAL_MS = 1000;
+  
+  public static final String SHUFFLE_FETCH_RETRY_TIMEOUT_MS = 
"mapreduce.reduce.shuffle.fetch.retry.timeout-ms";
+  
+  public static final String SHUFFLE_FETCH_RETRY_ENABLED = 
"mapreduce.reduce.shuffle.fetch.retry.enabled";
 
   public static final String SHUFFLE_NOTIFY_READERROR = 
"mapreduce.reduce.shuffle.notify.readerror";
   

http://git-wip-us.apache.org/repos/asf/hadoop/blob/44c71131/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/task/reduce/Fetcher.java
--
diff --git 
a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/task/reduce/Fetcher.java
 
b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/task/reduce/Fetcher.java
index e1e1663..a416200 100644
--- 
a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/task/reduce/Fetcher.java
+++ 
b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/task/reduce/Fetcher.java
@@ -27,6 +27,7 @@ import java.net.URL;
 import java.net.URLConnection;
 import java.security.GeneralSecurityException;
 import java.util.Arrays;
+import java.util.Collection;
 import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
@@ -46,6 +47,8 @@ impo

git commit: MAPREDUCE-6091. YARNRunner.getJobStatus() fails with ApplicationNotFoundException if the job rolled off the RM view. Contributed by Sangjin Lee

2014-09-19 Thread jlowe
Repository: hadoop
Updated Branches:
  refs/heads/trunk 9f03a7c01 -> 951847ba9


MAPREDUCE-6091. YARNRunner.getJobStatus() fails with 
ApplicationNotFoundException if the job rolled off the RM view. Contributed by 
Sangjin Lee


Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/951847ba
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/951847ba
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/951847ba

Branch: refs/heads/trunk
Commit: 951847ba94442b8d928435decfbea9ea20882912
Parents: 9f03a7c
Author: Jason Lowe 
Authored: Fri Sep 19 20:15:54 2014 +
Committer: Jason Lowe 
Committed: Fri Sep 19 20:15:54 2014 +

--
 hadoop-mapreduce-project/CHANGES.txt| 4 
 .../org/apache/hadoop/mapred/ClientServiceDelegate.java | 3 +++
 .../org/apache/hadoop/mapred/TestClientServiceDelegate.java | 8 +---
 .../org/apache/hadoop/mapreduce/v2/TestNonExistentJob.java  | 9 ++---
 4 files changed, 14 insertions(+), 10 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hadoop/blob/951847ba/hadoop-mapreduce-project/CHANGES.txt
--
diff --git a/hadoop-mapreduce-project/CHANGES.txt 
b/hadoop-mapreduce-project/CHANGES.txt
index 0c6bbf7..eb4c251 100644
--- a/hadoop-mapreduce-project/CHANGES.txt
+++ b/hadoop-mapreduce-project/CHANGES.txt
@@ -356,6 +356,10 @@ Release 2.6.0 - UNRELEASED
 MAPREDUCE-6086. mapreduce.job.credentials.binary should allow all URIs. 
 (Zhihai Xu via kasha)
 
+MAPREDUCE-6091. YARNRunner.getJobStatus() fails with
+ApplicationNotFoundException if the job rolled off the RM view (Sangjin
+Lee via jlowe)
+
 Release 2.5.1 - 2014-09-05
 
   INCOMPATIBLE CHANGES

http://git-wip-us.apache.org/repos/asf/hadoop/blob/951847ba/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/main/java/org/apache/hadoop/mapred/ClientServiceDelegate.java
--
diff --git 
a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/main/java/org/apache/hadoop/mapred/ClientServiceDelegate.java
 
b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/main/java/org/apache/hadoop/mapred/ClientServiceDelegate.java
index c3eee2c..686fa0c 100644
--- 
a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/main/java/org/apache/hadoop/mapred/ClientServiceDelegate.java
+++ 
b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/main/java/org/apache/hadoop/mapred/ClientServiceDelegate.java
@@ -69,6 +69,7 @@ import org.apache.hadoop.yarn.api.records.ApplicationId;
 import org.apache.hadoop.yarn.api.records.ApplicationReport;
 import org.apache.hadoop.yarn.api.records.NodeId;
 import org.apache.hadoop.yarn.api.records.YarnApplicationState;
+import org.apache.hadoop.yarn.exceptions.ApplicationNotFoundException;
 import org.apache.hadoop.yarn.exceptions.YarnException;
 import org.apache.hadoop.yarn.exceptions.YarnRuntimeException;
 import org.apache.hadoop.yarn.factories.RecordFactory;
@@ -150,6 +151,8 @@ public class ClientServiceDelegate {
 ApplicationReport application = null;
 try {
   application = rm.getApplicationReport(appId);
+} catch (ApplicationNotFoundException e) {
+  application = null;
 } catch (YarnException e2) {
   throw new IOException(e2);
 }

http://git-wip-us.apache.org/repos/asf/hadoop/blob/951847ba/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/test/java/org/apache/hadoop/mapred/TestClientServiceDelegate.java
--
diff --git 
a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/test/java/org/apache/hadoop/mapred/TestClientServiceDelegate.java
 
b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/test/java/org/apache/hadoop/mapred/TestClientServiceDelegate.java
index 5639e5d..7d6b2f3 100644
--- 
a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/test/java/org/apache/hadoop/mapred/TestClientServiceDelegate.java
+++ 
b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/test/java/org/apache/hadoop/mapred/TestClientServiceDelegate.java
@@ -31,8 +31,6 @@ import java.net.InetSocketAddress;
 import java.util.Arrays;
 import java.util.Collection;
 
-import org.junit.Assert;
-
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.mapreduce.JobID;
 import org.apache.hadoop.mapreduce.JobStatus;
@@ -56,8 +54,10 @@ imp

git commit: MAPREDUCE-6091. YARNRunner.getJobStatus() fails with ApplicationNotFoundException if the job rolled off the RM view. Contributed by Sangjin Lee (cherry picked from commit 951847ba94442b8d9

2014-09-19 Thread jlowe
Repository: hadoop
Updated Branches:
  refs/heads/branch-2 5f6129feb -> bdb864e5e


MAPREDUCE-6091. YARNRunner.getJobStatus() fails with 
ApplicationNotFoundException if the job rolled off the RM view. Contributed by 
Sangjin Lee
(cherry picked from commit 951847ba94442b8d928435decfbea9ea20882912)


Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/bdb864e5
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/bdb864e5
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/bdb864e5

Branch: refs/heads/branch-2
Commit: bdb864e5e183b47d7cb14bcc0b5fc23312dbb5f9
Parents: 5f6129f
Author: Jason Lowe 
Authored: Fri Sep 19 20:15:54 2014 +
Committer: Jason Lowe 
Committed: Fri Sep 19 20:17:44 2014 +

--
 hadoop-mapreduce-project/CHANGES.txt| 4 
 .../org/apache/hadoop/mapred/ClientServiceDelegate.java | 3 +++
 .../org/apache/hadoop/mapred/TestClientServiceDelegate.java | 8 +---
 .../org/apache/hadoop/mapreduce/v2/TestNonExistentJob.java  | 9 ++---
 4 files changed, 14 insertions(+), 10 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hadoop/blob/bdb864e5/hadoop-mapreduce-project/CHANGES.txt
--
diff --git a/hadoop-mapreduce-project/CHANGES.txt 
b/hadoop-mapreduce-project/CHANGES.txt
index 0e6a6cd..7d1768f 100644
--- a/hadoop-mapreduce-project/CHANGES.txt
+++ b/hadoop-mapreduce-project/CHANGES.txt
@@ -139,6 +139,10 @@ Release 2.6.0 - UNRELEASED
 MAPREDUCE-6086. mapreduce.job.credentials.binary should allow all URIs. 
 (Zhihai Xu via kasha)
 
+MAPREDUCE-6091. YARNRunner.getJobStatus() fails with
+ApplicationNotFoundException if the job rolled off the RM view (Sangjin
+Lee via jlowe)
+
 Release 2.5.1 - 2014-09-05
 
   INCOMPATIBLE CHANGES

http://git-wip-us.apache.org/repos/asf/hadoop/blob/bdb864e5/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/main/java/org/apache/hadoop/mapred/ClientServiceDelegate.java
--
diff --git 
a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/main/java/org/apache/hadoop/mapred/ClientServiceDelegate.java
 
b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/main/java/org/apache/hadoop/mapred/ClientServiceDelegate.java
index c3eee2c..686fa0c 100644
--- 
a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/main/java/org/apache/hadoop/mapred/ClientServiceDelegate.java
+++ 
b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/main/java/org/apache/hadoop/mapred/ClientServiceDelegate.java
@@ -69,6 +69,7 @@ import org.apache.hadoop.yarn.api.records.ApplicationId;
 import org.apache.hadoop.yarn.api.records.ApplicationReport;
 import org.apache.hadoop.yarn.api.records.NodeId;
 import org.apache.hadoop.yarn.api.records.YarnApplicationState;
+import org.apache.hadoop.yarn.exceptions.ApplicationNotFoundException;
 import org.apache.hadoop.yarn.exceptions.YarnException;
 import org.apache.hadoop.yarn.exceptions.YarnRuntimeException;
 import org.apache.hadoop.yarn.factories.RecordFactory;
@@ -150,6 +151,8 @@ public class ClientServiceDelegate {
 ApplicationReport application = null;
 try {
   application = rm.getApplicationReport(appId);
+} catch (ApplicationNotFoundException e) {
+  application = null;
 } catch (YarnException e2) {
   throw new IOException(e2);
 }

http://git-wip-us.apache.org/repos/asf/hadoop/blob/bdb864e5/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/test/java/org/apache/hadoop/mapred/TestClientServiceDelegate.java
--
diff --git 
a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/test/java/org/apache/hadoop/mapred/TestClientServiceDelegate.java
 
b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/test/java/org/apache/hadoop/mapred/TestClientServiceDelegate.java
index 5639e5d..7d6b2f3 100644
--- 
a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/test/java/org/apache/hadoop/mapred/TestClientServiceDelegate.java
+++ 
b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/test/java/org/apache/hadoop/mapred/TestClientServiceDelegate.java
@@ -31,8 +31,6 @@ import java.net.InetSocketAddress;
 import java.util.Arrays;
 import java.util.Collection;
 
-import org.junit.Assert;
-
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.mapreduce.JobID;
 import org.apache.hadoop.mapreduce.JobSta

git commit: MAPREDUCE-6095. Enable DistributedCache for uber-mode Jobs. Contributed by Gera Shegalov

2014-09-22 Thread jlowe
Repository: hadoop
Updated Branches:
  refs/heads/trunk 9721e2c1f -> 7039b98e1


MAPREDUCE-6095. Enable DistributedCache for uber-mode Jobs. Contributed by Gera 
Shegalov


Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/7039b98e
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/7039b98e
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/7039b98e

Branch: refs/heads/trunk
Commit: 7039b98e1c459e9e0d8caa28cdaa2868e2bde2eb
Parents: 9721e2c
Author: Jason Lowe 
Authored: Mon Sep 22 15:20:59 2014 +
Committer: Jason Lowe 
Committed: Mon Sep 22 15:20:59 2014 +

--
 hadoop-mapreduce-project/CHANGES.txt|  3 +
 .../org/apache/hadoop/mapred/YarnChild.java | 63 +---
 .../hadoop/mapreduce/v2/app/MRAppMaster.java|  1 +
 .../apache/hadoop/mapreduce/v2/util/MRApps.java | 61 +--
 .../apache/hadoop/mapreduce/v2/TestUberAM.java  |  7 ---
 5 files changed, 62 insertions(+), 73 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hadoop/blob/7039b98e/hadoop-mapreduce-project/CHANGES.txt
--
diff --git a/hadoop-mapreduce-project/CHANGES.txt 
b/hadoop-mapreduce-project/CHANGES.txt
index eb4c251..815b3fb 100644
--- a/hadoop-mapreduce-project/CHANGES.txt
+++ b/hadoop-mapreduce-project/CHANGES.txt
@@ -360,6 +360,9 @@ Release 2.6.0 - UNRELEASED
 ApplicationNotFoundException if the job rolled off the RM view (Sangjin
 Lee via jlowe)
 
+MAPREDUCE-6095. Enable DistributedCache for uber-mode Jobs (Gera Shegalov
+via jlowe)
+
 Release 2.5.1 - 2014-09-05
 
   INCOMPATIBLE CHANGES

http://git-wip-us.apache.org/repos/asf/hadoop/blob/7039b98e/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapred/YarnChild.java
--
diff --git 
a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapred/YarnChild.java
 
b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapred/YarnChild.java
index 4ba1991..92bbc4a 100644
--- 
a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapred/YarnChild.java
+++ 
b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapred/YarnChild.java
@@ -23,15 +23,11 @@ import static java.util.concurrent.TimeUnit.MILLISECONDS;
 import java.io.IOException;
 import java.io.OutputStream;
 import java.net.InetSocketAddress;
-import java.net.URI;
 import java.security.PrivilegedExceptionAction;
-import java.util.ArrayList;
-import java.util.List;
 import java.util.concurrent.ScheduledExecutorService;
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.fs.FSError;
 import org.apache.hadoop.fs.FileSystem;
 import org.apache.hadoop.fs.LocalDirAllocator;
@@ -43,7 +39,6 @@ import org.apache.hadoop.mapreduce.MRConfig;
 import org.apache.hadoop.mapreduce.MRJobConfig;
 import org.apache.hadoop.mapreduce.TaskType;
 import org.apache.hadoop.mapreduce.counters.Limits;
-import org.apache.hadoop.mapreduce.filecache.DistributedCache;
 import org.apache.hadoop.mapreduce.security.TokenCache;
 import org.apache.hadoop.mapreduce.security.token.JobTokenIdentifier;
 import org.apache.hadoop.mapreduce.security.token.JobTokenSecretManager;
@@ -307,7 +302,7 @@ class YarnChild {
 task.localizeConfiguration(job);
 
 // Set up the DistributedCache related configs
-setupDistributedCacheConfig(job);
+MRApps.setupDistributedCacheLocal(job);
 
 // Overwrite the localized task jobconf which is linked to in the current
 // work-dir.
@@ -317,62 +312,6 @@ class YarnChild {
 task.setConf(job);
   }
 
-  /**
-   * Set up the DistributedCache related configs to make
-   * {@link DistributedCache#getLocalCacheFiles(Configuration)}
-   * and
-   * {@link DistributedCache#getLocalCacheArchives(Configuration)}
-   * working.
-   * @param job
-   * @throws IOException
-   */
-  private static void setupDistributedCacheConfig(final JobConf job)
-  throws IOException {
-
-String localWorkDir = System.getenv("PWD");
-//^ ^ all symlinks are created in the current work-dir
-
-// Update the configuration object with localized archives.
-URI[] cacheArchives = DistributedCache.getCacheArchives(job);
-if (cacheArchives != null) {
-  List localArchives = new ArrayList();
-  for (int i = 0; i < cacheArchives.length; ++i) {
-URI u = cacheArchives[i];
-Pat

git commit: MAPREDUCE-6095. Enable DistributedCache for uber-mode Jobs. Contributed by Gera Shegalov (cherry picked from commit 7039b98e1c459e9e0d8caa28cdaa2868e2bde2eb)

2014-09-22 Thread jlowe
Repository: hadoop
Updated Branches:
  refs/heads/branch-2 c1a3819a4 -> f4534746f


MAPREDUCE-6095. Enable DistributedCache for uber-mode Jobs. Contributed by Gera 
Shegalov
(cherry picked from commit 7039b98e1c459e9e0d8caa28cdaa2868e2bde2eb)


Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/f4534746
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/f4534746
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/f4534746

Branch: refs/heads/branch-2
Commit: f4534746fbc2e4c216fbae63cacc4430607dc8ca
Parents: c1a3819
Author: Jason Lowe 
Authored: Mon Sep 22 15:20:59 2014 +
Committer: Jason Lowe 
Committed: Mon Sep 22 15:22:58 2014 +

--
 hadoop-mapreduce-project/CHANGES.txt|  3 +
 .../org/apache/hadoop/mapred/YarnChild.java | 63 +---
 .../hadoop/mapreduce/v2/app/MRAppMaster.java|  1 +
 .../apache/hadoop/mapreduce/v2/util/MRApps.java | 61 +--
 .../apache/hadoop/mapreduce/v2/TestUberAM.java  |  7 ---
 5 files changed, 62 insertions(+), 73 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hadoop/blob/f4534746/hadoop-mapreduce-project/CHANGES.txt
--
diff --git a/hadoop-mapreduce-project/CHANGES.txt 
b/hadoop-mapreduce-project/CHANGES.txt
index 7d1768f..9d86721 100644
--- a/hadoop-mapreduce-project/CHANGES.txt
+++ b/hadoop-mapreduce-project/CHANGES.txt
@@ -143,6 +143,9 @@ Release 2.6.0 - UNRELEASED
 ApplicationNotFoundException if the job rolled off the RM view (Sangjin
 Lee via jlowe)
 
+MAPREDUCE-6095. Enable DistributedCache for uber-mode Jobs (Gera Shegalov
+via jlowe)
+
 Release 2.5.1 - 2014-09-05
 
   INCOMPATIBLE CHANGES

http://git-wip-us.apache.org/repos/asf/hadoop/blob/f4534746/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapred/YarnChild.java
--
diff --git 
a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapred/YarnChild.java
 
b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapred/YarnChild.java
index 061114e..37dbad3 100644
--- 
a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapred/YarnChild.java
+++ 
b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapred/YarnChild.java
@@ -23,15 +23,11 @@ import static java.util.concurrent.TimeUnit.MILLISECONDS;
 import java.io.IOException;
 import java.io.OutputStream;
 import java.net.InetSocketAddress;
-import java.net.URI;
 import java.security.PrivilegedExceptionAction;
-import java.util.ArrayList;
-import java.util.List;
 import java.util.concurrent.ScheduledExecutorService;
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.fs.FSError;
 import org.apache.hadoop.fs.FileSystem;
 import org.apache.hadoop.fs.LocalDirAllocator;
@@ -43,7 +39,6 @@ import org.apache.hadoop.mapreduce.MRConfig;
 import org.apache.hadoop.mapreduce.MRJobConfig;
 import org.apache.hadoop.mapreduce.TaskType;
 import org.apache.hadoop.mapreduce.counters.Limits;
-import org.apache.hadoop.mapreduce.filecache.DistributedCache;
 import org.apache.hadoop.mapreduce.security.TokenCache;
 import org.apache.hadoop.mapreduce.security.token.JobTokenIdentifier;
 import org.apache.hadoop.mapreduce.security.token.JobTokenSecretManager;
@@ -301,7 +296,7 @@ class YarnChild {
 task.localizeConfiguration(job);
 
 // Set up the DistributedCache related configs
-setupDistributedCacheConfig(job);
+MRApps.setupDistributedCacheLocal(job);
 
 // Overwrite the localized task jobconf which is linked to in the current
 // work-dir.
@@ -311,62 +306,6 @@ class YarnChild {
 task.setConf(job);
   }
 
-  /**
-   * Set up the DistributedCache related configs to make
-   * {@link DistributedCache#getLocalCacheFiles(Configuration)}
-   * and
-   * {@link DistributedCache#getLocalCacheArchives(Configuration)}
-   * working.
-   * @param job
-   * @throws IOException
-   */
-  private static void setupDistributedCacheConfig(final JobConf job)
-  throws IOException {
-
-String localWorkDir = System.getenv("PWD");
-//^ ^ all symlinks are created in the current work-dir
-
-// Update the configuration object with localized archives.
-URI[] cacheArchives = DistributedCache.getCacheArchives(job);
-if (cacheArchives != null) {
-  List localArchives = new ArrayList();
-  for (int i = 0; i < cacheArch

svn commit: r1588470 - /hadoop/common/branches/branch-0.23/hadoop-tools/hadoop-distcp/src/test/java/org/apache/hadoop/tools/mapred/TestUniformSizeInputFormat.java

2014-04-18 Thread jlowe
Author: jlowe
Date: Fri Apr 18 13:40:19 2014
New Revision: 1588470

URL: http://svn.apache.org/r1588470
Log:
svn merge -c 1451291 FIXES: HADOOP-9230. TestUniformSizeInputFormat fails 
intermittently. Contributed by Karthik Kambatla

Modified:

hadoop/common/branches/branch-0.23/hadoop-tools/hadoop-distcp/src/test/java/org/apache/hadoop/tools/mapred/TestUniformSizeInputFormat.java

Modified: 
hadoop/common/branches/branch-0.23/hadoop-tools/hadoop-distcp/src/test/java/org/apache/hadoop/tools/mapred/TestUniformSizeInputFormat.java
URL: 
http://svn.apache.org/viewvc/hadoop/common/branches/branch-0.23/hadoop-tools/hadoop-distcp/src/test/java/org/apache/hadoop/tools/mapred/TestUniformSizeInputFormat.java?rev=1588470&r1=1588469&r2=1588470&view=diff
==
--- 
hadoop/common/branches/branch-0.23/hadoop-tools/hadoop-distcp/src/test/java/org/apache/hadoop/tools/mapred/TestUniformSizeInputFormat.java
 (original)
+++ 
hadoop/common/branches/branch-0.23/hadoop-tools/hadoop-distcp/src/test/java/org/apache/hadoop/tools/mapred/TestUniformSizeInputFormat.java
 Fri Apr 18 13:40:19 2014
@@ -33,8 +33,6 @@ import org.apache.hadoop.tools.CopyListi
 import org.apache.hadoop.tools.DistCpOptions;
 import org.apache.hadoop.tools.StubContext;
 import org.apache.hadoop.security.Credentials;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.junit.AfterClass;
 import org.junit.Assert;
 import org.junit.BeforeClass;
@@ -48,9 +46,6 @@ import java.util.Random;
 
 
 public class TestUniformSizeInputFormat {
-  private static final Log LOG
-= LogFactory.getLog(TestUniformSizeInputFormat.class);
-
   private static MiniDFSCluster cluster;
   private static final int N_FILES = 20;
   private static final int SIZEOF_EACH_FILE=1024;
@@ -118,12 +113,9 @@ public class TestUniformSizeInputFormat 
 List splits
 = uniformSizeInputFormat.getSplits(jobContext);
 
-List legacySplits = legacyGetSplits(listFile, nMaps);
-
 int sizePerMap = totalFileSize/nMaps;
 
 checkSplits(listFile, splits);
-checkAgainstLegacy(splits, legacySplits);
 
 int doubleCheckedTotalSize = 0;
 int previousSplitSize = -1;
@@ -155,57 +147,6 @@ public class TestUniformSizeInputFormat 
 Assert.assertEquals(totalFileSize, doubleCheckedTotalSize);
   }
 
-  // From
-  // 
http://svn.apache.org/repos/asf/hadoop/mapreduce/trunk/src/tools/org/apache/hadoop/tools/DistCp.java
-  private List legacyGetSplits(Path listFile, int numSplits)
-  throws IOException {
-
-FileSystem fs = cluster.getFileSystem();
-FileStatus srcst = fs.getFileStatus(listFile);
-Configuration conf = fs.getConf();
-
-ArrayList splits = new ArrayList(numSplits);
-FileStatus value = new FileStatus();
-Text key = new Text();
-final long targetsize = totalFileSize / numSplits;
-long pos = 0L;
-long last = 0L;
-long acc = 0L;
-long cbrem = srcst.getLen();
-SequenceFile.Reader sl = null;
-
-LOG.info("Average bytes per map: " + targetsize +
-", Number of maps: " + numSplits + ", total size: " + totalFileSize);
-
-try {
-  sl = new SequenceFile.Reader(conf, SequenceFile.Reader.file(listFile));
-  for (; sl.next(key, value); last = sl.getPosition()) {
-// if adding this split would put this split past the target size,
-// cut the last split and put this next file in the next split.
-if (acc + value.getLen() > targetsize && acc != 0) {
-  long splitsize = last - pos;
-  FileSplit fileSplit = new FileSplit(listFile, pos, splitsize, null);
-  LOG.info ("Creating split : " + fileSplit + ", bytes in split: " + 
splitsize);
-  splits.add(fileSplit);
-  cbrem -= splitsize;
-  pos = last;
-  acc = 0L;
-}
-acc += value.getLen();
-  }
-}
-finally {
-  IOUtils.closeStream(sl);
-}
-if (cbrem != 0) {
-  FileSplit fileSplit = new FileSplit(listFile, pos, cbrem, null);
-  LOG.info ("Creating split : " + fileSplit + ", bytes in split: " + 
cbrem);
-  splits.add(fileSplit);
-}
-
-return splits;
-  }
-
   private void checkSplits(Path listFile, List splits) throws 
IOException {
 long lastEnd = 0;
 
@@ -233,18 +174,6 @@ public class TestUniformSizeInputFormat 
 }
   }
 
-  private void checkAgainstLegacy(List splits,
-  List legacySplits)
-  throws IOException, InterruptedException {
-
-Assert.assertEquals(legacySplits.size(), splits.size());
-for (int index = 0; index < splits.size(); index++) {
-  FileSplit fileSplit = (FileSplit) splits.get(index);
-  FileSplit legacyFileSplit = (FileSplit) legacySplits.get(index);
-  Assert.assertEquals(fileSplit.getStart(), legacyFileSplit.getStart());
-}
-  }
-
   @Test
   public void testGetSplits() throws Exception {
 testGetSplits(9);




svn commit: r1588470 - /hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common/CHANGES.txt

2014-04-18 Thread jlowe
Author: jlowe
Date: Fri Apr 18 13:40:19 2014
New Revision: 1588470

URL: http://svn.apache.org/r1588470
Log:
svn merge -c 1451291 FIXES: HADOOP-9230. TestUniformSizeInputFormat fails 
intermittently. Contributed by Karthik Kambatla

Modified:

hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common/CHANGES.txt

Modified: 
hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common/CHANGES.txt?rev=1588470&r1=1588469&r2=1588470&view=diff
==
--- 
hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common/CHANGES.txt
 (original)
+++ 
hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common/CHANGES.txt
 Fri Apr 18 13:40:19 2014
@@ -35,6 +35,9 @@ Release 0.23.11 - UNRELEASED
 
 HADOOP-10332. HttpServer's jetty audit log always logs 200 OK (jeagles)
 
+HADOOP-9230. TestUniformSizeInputFormat fails intermittently. 
+    (kkambatl via jlowe)
+
 Release 0.23.10 - 2013-12-09
 
   INCOMPATIBLE CHANGES




svn commit: r1596041 - /hadoop/common/branches/branch-2/hadoop-common-project/hadoop-common/CHANGES.txt

2014-05-19 Thread jlowe
Author: jlowe
Date: Mon May 19 20:13:14 2014
New Revision: 1596041

URL: http://svn.apache.org/r1596041
Log:
Reverting HADOOP-10485 from branch-2.

Modified:

hadoop/common/branches/branch-2/hadoop-common-project/hadoop-common/CHANGES.txt

Modified: 
hadoop/common/branches/branch-2/hadoop-common-project/hadoop-common/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/hadoop/common/branches/branch-2/hadoop-common-project/hadoop-common/CHANGES.txt?rev=1596041&r1=1596040&r2=1596041&view=diff
==
--- 
hadoop/common/branches/branch-2/hadoop-common-project/hadoop-common/CHANGES.txt 
(original)
+++ 
hadoop/common/branches/branch-2/hadoop-common-project/hadoop-common/CHANGES.txt 
Mon May 19 20:13:14 2014
@@ -23,8 +23,6 @@ Release 2.5.0 - UNRELEASED
 
 HADOOP-10104. Update jackson to 1.9.13 (Akira Ajisaka via stevel)
 
-HADOOP-10485. Remove dead classes in hadoop-streaming. (wheat9)
-
 HADOOP-10503. Move junit up to v 4.11. (cnauroth)
 
 HADOOP-10535. Make the retry numbers in ActiveStandbyElector configurable.




svn commit: r1596041 - in /hadoop/common/branches/branch-2/hadoop-tools/hadoop-streaming: ./ dev-support/ src/main/java/org/apache/hadoop/record/ src/main/java/org/apache/hadoop/record/compiler/ src/m

2014-05-19 Thread jlowe
Author: jlowe
Date: Mon May 19 20:13:14 2014
New Revision: 1596041

URL: http://svn.apache.org/r1596041
Log:
Reverting HADOOP-10485 from branch-2.

Added:

hadoop/common/branches/branch-2/hadoop-tools/hadoop-streaming/src/main/java/org/apache/hadoop/record/CsvRecordInput.java
  - copied unchanged from r1586059, 
hadoop/common/branches/branch-2/hadoop-tools/hadoop-streaming/src/main/java/org/apache/hadoop/record/CsvRecordInput.java

hadoop/common/branches/branch-2/hadoop-tools/hadoop-streaming/src/main/java/org/apache/hadoop/record/XmlRecordInput.java
  - copied unchanged from r1586059, 
hadoop/common/branches/branch-2/hadoop-tools/hadoop-streaming/src/main/java/org/apache/hadoop/record/XmlRecordInput.java

hadoop/common/branches/branch-2/hadoop-tools/hadoop-streaming/src/main/java/org/apache/hadoop/record/XmlRecordOutput.java
  - copied unchanged from r1586059, 
hadoop/common/branches/branch-2/hadoop-tools/hadoop-streaming/src/main/java/org/apache/hadoop/record/XmlRecordOutput.java

hadoop/common/branches/branch-2/hadoop-tools/hadoop-streaming/src/main/java/org/apache/hadoop/record/compiler/
  - copied from r1586059, 
hadoop/common/branches/branch-2/hadoop-tools/hadoop-streaming/src/main/java/org/apache/hadoop/record/compiler/

hadoop/common/branches/branch-2/hadoop-tools/hadoop-streaming/src/main/java/org/apache/hadoop/record/compiler/CGenerator.java
  - copied unchanged from r1586059, 
hadoop/common/branches/branch-2/hadoop-tools/hadoop-streaming/src/main/java/org/apache/hadoop/record/compiler/CGenerator.java

hadoop/common/branches/branch-2/hadoop-tools/hadoop-streaming/src/main/java/org/apache/hadoop/record/compiler/CodeBuffer.java
  - copied unchanged from r1586059, 
hadoop/common/branches/branch-2/hadoop-tools/hadoop-streaming/src/main/java/org/apache/hadoop/record/compiler/CodeBuffer.java

hadoop/common/branches/branch-2/hadoop-tools/hadoop-streaming/src/main/java/org/apache/hadoop/record/compiler/CodeGenerator.java
  - copied unchanged from r1586059, 
hadoop/common/branches/branch-2/hadoop-tools/hadoop-streaming/src/main/java/org/apache/hadoop/record/compiler/CodeGenerator.java

hadoop/common/branches/branch-2/hadoop-tools/hadoop-streaming/src/main/java/org/apache/hadoop/record/compiler/Consts.java
  - copied unchanged from r1586059, 
hadoop/common/branches/branch-2/hadoop-tools/hadoop-streaming/src/main/java/org/apache/hadoop/record/compiler/Consts.java

hadoop/common/branches/branch-2/hadoop-tools/hadoop-streaming/src/main/java/org/apache/hadoop/record/compiler/CppGenerator.java
  - copied unchanged from r1586059, 
hadoop/common/branches/branch-2/hadoop-tools/hadoop-streaming/src/main/java/org/apache/hadoop/record/compiler/CppGenerator.java

hadoop/common/branches/branch-2/hadoop-tools/hadoop-streaming/src/main/java/org/apache/hadoop/record/compiler/JBoolean.java
  - copied unchanged from r1586059, 
hadoop/common/branches/branch-2/hadoop-tools/hadoop-streaming/src/main/java/org/apache/hadoop/record/compiler/JBoolean.java

hadoop/common/branches/branch-2/hadoop-tools/hadoop-streaming/src/main/java/org/apache/hadoop/record/compiler/JBuffer.java
  - copied unchanged from r1586059, 
hadoop/common/branches/branch-2/hadoop-tools/hadoop-streaming/src/main/java/org/apache/hadoop/record/compiler/JBuffer.java

hadoop/common/branches/branch-2/hadoop-tools/hadoop-streaming/src/main/java/org/apache/hadoop/record/compiler/JByte.java
  - copied unchanged from r1586059, 
hadoop/common/branches/branch-2/hadoop-tools/hadoop-streaming/src/main/java/org/apache/hadoop/record/compiler/JByte.java

hadoop/common/branches/branch-2/hadoop-tools/hadoop-streaming/src/main/java/org/apache/hadoop/record/compiler/JCompType.java
  - copied unchanged from r1586059, 
hadoop/common/branches/branch-2/hadoop-tools/hadoop-streaming/src/main/java/org/apache/hadoop/record/compiler/JCompType.java

hadoop/common/branches/branch-2/hadoop-tools/hadoop-streaming/src/main/java/org/apache/hadoop/record/compiler/JDouble.java
  - copied unchanged from r1586059, 
hadoop/common/branches/branch-2/hadoop-tools/hadoop-streaming/src/main/java/org/apache/hadoop/record/compiler/JDouble.java

hadoop/common/branches/branch-2/hadoop-tools/hadoop-streaming/src/main/java/org/apache/hadoop/record/compiler/JField.java
  - copied unchanged from r1586059, 
hadoop/common/branches/branch-2/hadoop-tools/hadoop-streaming/src/main/java/org/apache/hadoop/record/compiler/JField.java

hadoop/common/branches/branch-2/hadoop-tools/hadoop-streaming/src/main/java/org/apache/hadoop/record/compiler/JFile.java
  - copied unchanged from r1586059, 
hadoop/common/branches/branch-2/hadoop-tools/hadoop-streaming/src/main/java/org/apache/hadoop/record/compiler/JFile.java

hadoop/common/branches/branch-2/hadoop-tools/hadoop-streaming/src/main/java/org/apache/hadoop/record/compiler/JFloat.java
  - copied unchanged from r1586059, 
hadoop/common

svn commit: r1596048 - in /hadoop/common/branches/branch-2/hadoop-common-project/hadoop-common: ./ dev-support/ src/main/java/org/apache/hadoop/record/ src/main/java/org/apache/hadoop/record/compiler/

2014-05-19 Thread jlowe
Author: jlowe
Date: Mon May 19 20:31:40 2014
New Revision: 1596048

URL: http://svn.apache.org/r1596048
Log:
Reverted HADOOP-10474 from branch-2.

Added:

hadoop/common/branches/branch-2/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/record/BinaryRecordInput.java
  - copied unchanged from r1585886, 
hadoop/common/branches/branch-2/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/record/BinaryRecordInput.java

hadoop/common/branches/branch-2/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/record/BinaryRecordOutput.java
  - copied unchanged from r1585886, 
hadoop/common/branches/branch-2/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/record/BinaryRecordOutput.java

hadoop/common/branches/branch-2/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/record/Buffer.java
  - copied unchanged from r1585886, 
hadoop/common/branches/branch-2/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/record/Buffer.java

hadoop/common/branches/branch-2/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/record/CsvRecordInput.java
  - copied unchanged from r1585886, 
hadoop/common/branches/branch-2/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/record/CsvRecordInput.java

hadoop/common/branches/branch-2/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/record/CsvRecordOutput.java
  - copied unchanged from r1585886, 
hadoop/common/branches/branch-2/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/record/CsvRecordOutput.java

hadoop/common/branches/branch-2/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/record/Index.java
  - copied unchanged from r1585886, 
hadoop/common/branches/branch-2/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/record/Index.java

hadoop/common/branches/branch-2/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/record/Record.java
  - copied unchanged from r1585886, 
hadoop/common/branches/branch-2/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/record/Record.java

hadoop/common/branches/branch-2/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/record/RecordComparator.java
  - copied unchanged from r1585886, 
hadoop/common/branches/branch-2/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/record/RecordComparator.java

hadoop/common/branches/branch-2/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/record/RecordInput.java
  - copied unchanged from r1585886, 
hadoop/common/branches/branch-2/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/record/RecordInput.java

hadoop/common/branches/branch-2/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/record/RecordOutput.java
  - copied unchanged from r1585886, 
hadoop/common/branches/branch-2/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/record/RecordOutput.java

hadoop/common/branches/branch-2/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/record/Utils.java
  - copied unchanged from r1585886, 
hadoop/common/branches/branch-2/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/record/Utils.java

hadoop/common/branches/branch-2/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/record/XmlRecordInput.java
  - copied unchanged from r1585886, 
hadoop/common/branches/branch-2/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/record/XmlRecordInput.java

hadoop/common/branches/branch-2/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/record/XmlRecordOutput.java
  - copied unchanged from r1585886, 
hadoop/common/branches/branch-2/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/record/XmlRecordOutput.java

hadoop/common/branches/branch-2/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/record/compiler/CGenerator.java
  - copied unchanged from r1585886, 
hadoop/common/branches/branch-2/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/record/compiler/CGenerator.java

hadoop/common/branches/branch-2/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/record/compiler/CodeBuffer.java
  - copied unchanged from r1585886, 
hadoop/common/branches/branch-2/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/record/compiler/CodeBuffer.java

hadoop/common/branches/branch-2/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/record/compiler/CodeGenerator.java
  - copied unchanged from r1585886, 
hadoop/common/branches/branch-2/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/record/compiler/CodeGenerator.java

hadoop/common/branches/branch-2/hadoop-common-project

svn commit: r1596048 - in /hadoop/common/branches/branch-2/hadoop-tools/hadoop-streaming: dev-support/findbugs-exclude.xml pom.xml src/main/java/org/apache/hadoop/record/

2014-05-19 Thread jlowe
Author: jlowe
Date: Mon May 19 20:31:40 2014
New Revision: 1596048

URL: http://svn.apache.org/r1596048
Log:
Reverted HADOOP-10474 from branch-2.

Removed:

hadoop/common/branches/branch-2/hadoop-tools/hadoop-streaming/src/main/java/org/apache/hadoop/record/
Modified:

hadoop/common/branches/branch-2/hadoop-tools/hadoop-streaming/dev-support/findbugs-exclude.xml
hadoop/common/branches/branch-2/hadoop-tools/hadoop-streaming/pom.xml

Modified: 
hadoop/common/branches/branch-2/hadoop-tools/hadoop-streaming/dev-support/findbugs-exclude.xml
URL: 
http://svn.apache.org/viewvc/hadoop/common/branches/branch-2/hadoop-tools/hadoop-streaming/dev-support/findbugs-exclude.xml?rev=1596048&r1=1596047&r2=1596048&view=diff
==
--- 
hadoop/common/branches/branch-2/hadoop-tools/hadoop-streaming/dev-support/findbugs-exclude.xml
 (original)
+++ 
hadoop/common/branches/branch-2/hadoop-tools/hadoop-streaming/dev-support/findbugs-exclude.xml
 Mon May 19 20:31:40 2014
@@ -16,19 +16,6 @@
limitations under the License.
 -->
 
-  
-  
-
-  
-  
-
-
-  
-  
-
-
-  
-
   
 
   
@@ -40,32 +27,4 @@
 
 
   
-
-  
-
-  
-
-  
-
-
-  
-  
-  
-
-  
-
-  
-
-
-
-  
-
-  
-  
-
-
-  
 

Modified: hadoop/common/branches/branch-2/hadoop-tools/hadoop-streaming/pom.xml
URL: 
http://svn.apache.org/viewvc/hadoop/common/branches/branch-2/hadoop-tools/hadoop-streaming/pom.xml?rev=1596048&r1=1596047&r2=1596048&view=diff
==
--- hadoop/common/branches/branch-2/hadoop-tools/hadoop-streaming/pom.xml 
(original)
+++ hadoop/common/branches/branch-2/hadoop-tools/hadoop-streaming/pom.xml Mon 
May 19 20:31:40 2014
@@ -42,11 +42,6 @@
   test
 
 
-  org.apache.ant
-  ant
-  provided
-
-
   org.apache.hadoop
   hadoop-annotations
   provided




svn commit: r1596049 - /hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt

2014-05-19 Thread jlowe
Author: jlowe
Date: Mon May 19 20:37:49 2014
New Revision: 1596049

URL: http://svn.apache.org/r1596049
Log:
Updated CHANGES.txt to reflect revert of HADOOP 10474 and 10485 from branch-2

Modified:
hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt

Modified: hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt?rev=1596049&r1=1596048&r2=1596049&view=diff
==
--- hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt 
(original)
+++ hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt Mon May 
19 20:37:49 2014
@@ -7,6 +7,8 @@ Trunk (Unreleased)
 HADOOP-8124. Remove the deprecated FSDataOutputStream constructor,
 FSDataOutputStream.sync() and Syncable.sync().  (szetszwo)
 
+HADOOP-10474 Move o.a.h.record to hadoop-streaming. (wheat9)
+
   NEW FEATURES
 
 HADOOP-10433. Key Management Server based on KeyProvider API. (tucu)
@@ -148,6 +150,8 @@ Trunk (Unreleased)
 
 HADOOP-10563. Remove the dependency of jsp in trunk. (wheat9)
 
+HADOOP-10485. Remove dead classes in hadoop-streaming. (wheat9)
+
   BUG FIXES
 
 HADOOP-9451. Fault single-layer config if node group topology is enabled.
@@ -340,8 +344,6 @@ Release 2.5.0 - UNRELEASED
 
   INCOMPATIBLE CHANGES
 
-HADOOP-10474 Move o.a.h.record to hadoop-streaming. (wheat9)
-
   NEW FEATURES
 
 HADOOP-10498. Add support for proxy server. (daryn)
@@ -359,8 +361,6 @@ Release 2.5.0 - UNRELEASED
 
 HADOOP-10104. Update jackson to 1.9.13 (Akira Ajisaka via stevel)
 
-HADOOP-10485. Remove dead classes in hadoop-streaming. (wheat9)
-
 HADOOP-10503. Move junit up to v 4.11. (cnauroth)
 
 HADOOP-10535. Make the retry numbers in ActiveStandbyElector configurable.




svn commit: r1602033 - in /hadoop/common/trunk/hadoop-common-project/hadoop-common: CHANGES.txt src/main/java/org/apache/hadoop/util/Shell.java

2014-06-11 Thread jlowe
Author: jlowe
Date: Wed Jun 11 22:05:04 2014
New Revision: 1602033

URL: http://svn.apache.org/r1602033
Log:
HADOOP-10622. Shell.runCommand can deadlock. Contributed by Gera Shegalov

Modified:
hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt

hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/Shell.java

Modified: hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt?rev=1602033&r1=1602032&r2=1602033&view=diff
==
--- hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt 
(original)
+++ hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt Wed Jun 
11 22:05:04 2014
@@ -532,6 +532,8 @@ Release 2.5.0 - UNRELEASED
 HADOOP-10656. The password keystore file is not picked by LDAP group 
mapping
 (brandonli)
 
+HADOOP-10622. Shell.runCommand can deadlock (Gera Shegalov via jlowe)
+
   BREAKDOWN OF HADOOP-10514 SUBTASKS AND RELATED JIRAS
 
 HADOOP-10520. Extended attributes definition and FileSystem APIs for

Modified: 
hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/Shell.java
URL: 
http://svn.apache.org/viewvc/hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/Shell.java?rev=1602033&r1=1602032&r2=1602033&view=diff
==
--- 
hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/Shell.java
 (original)
+++ 
hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/Shell.java
 Wed Jun 11 22:05:04 2014
@@ -526,12 +526,8 @@ abstract public class Shell {
   }
   // wait for the process to finish and check the exit code
   exitCode  = process.waitFor();
-  try {
-// make sure that the error thread exits
-errThread.join();
-  } catch (InterruptedException ie) {
-LOG.warn("Interrupted while reading the error stream", ie);
-  }
+  // make sure that the error thread exits
+  joinThread(errThread);
   completed.set(true);
   //the timeout thread handling
   //taken care in finally block
@@ -560,13 +556,9 @@ abstract public class Shell {
   } catch (IOException ioe) {
 LOG.warn("Error while closing the input stream", ioe);
   }
-  try {
-if (!completed.get()) {
-  errThread.interrupt();
-  errThread.join();
-}
-  } catch (InterruptedException ie) {
-LOG.warn("Interrupted while joining errThread");
+  if (!completed.get()) {
+errThread.interrupt();
+joinThread(errThread);
   }
   try {
 InputStream stderr = process.getErrorStream();
@@ -581,6 +573,19 @@ abstract public class Shell {
 }
   }
 
+  private static void joinThread(Thread t) {
+while (t.isAlive()) {
+  try {
+t.join();
+  } catch (InterruptedException ie) {
+if (LOG.isWarnEnabled()) {
+  LOG.warn("Interrupted while joining on: " + t, ie);
+}
+t.interrupt(); // propagate interrupt
+  }
+}
+  }
+
   /** return an array containing the command name & its parameters */ 
   protected abstract String[] getExecString();
   




svn commit: r1602034 - in /hadoop/common/branches/branch-2/hadoop-common-project/hadoop-common: CHANGES.txt src/main/java/org/apache/hadoop/util/Shell.java

2014-06-11 Thread jlowe
Author: jlowe
Date: Wed Jun 11 22:06:12 2014
New Revision: 1602034

URL: http://svn.apache.org/r1602034
Log:
svn merge -c 1602033 FIXES: HADOOP-10622. Shell.runCommand can deadlock. 
Contributed by Gera Shegalov

Modified:

hadoop/common/branches/branch-2/hadoop-common-project/hadoop-common/CHANGES.txt

hadoop/common/branches/branch-2/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/Shell.java

Modified: 
hadoop/common/branches/branch-2/hadoop-common-project/hadoop-common/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/hadoop/common/branches/branch-2/hadoop-common-project/hadoop-common/CHANGES.txt?rev=1602034&r1=1602033&r2=1602034&view=diff
==
--- 
hadoop/common/branches/branch-2/hadoop-common-project/hadoop-common/CHANGES.txt 
(original)
+++ 
hadoop/common/branches/branch-2/hadoop-common-project/hadoop-common/CHANGES.txt 
Wed Jun 11 22:06:12 2014
@@ -195,6 +195,8 @@ Release 2.5.0 - UNRELEASED
 HADOOP-10656. The password keystore file is not picked by LDAP group 
mapping
 (brandonli)
 
+HADOOP-10622. Shell.runCommand can deadlock (Gera Shegalov via jlowe)
+
   BREAKDOWN OF HADOOP-10514 SUBTASKS AND RELATED JIRAS
 
 HADOOP-10520. Extended attributes definition and FileSystem APIs for

Modified: 
hadoop/common/branches/branch-2/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/Shell.java
URL: 
http://svn.apache.org/viewvc/hadoop/common/branches/branch-2/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/Shell.java?rev=1602034&r1=1602033&r2=1602034&view=diff
==
--- 
hadoop/common/branches/branch-2/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/Shell.java
 (original)
+++ 
hadoop/common/branches/branch-2/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/Shell.java
 Wed Jun 11 22:06:12 2014
@@ -526,12 +526,8 @@ abstract public class Shell {
   }
   // wait for the process to finish and check the exit code
   exitCode  = process.waitFor();
-  try {
-// make sure that the error thread exits
-errThread.join();
-  } catch (InterruptedException ie) {
-LOG.warn("Interrupted while reading the error stream", ie);
-  }
+  // make sure that the error thread exits
+  joinThread(errThread);
   completed.set(true);
   //the timeout thread handling
   //taken care in finally block
@@ -560,13 +556,9 @@ abstract public class Shell {
   } catch (IOException ioe) {
 LOG.warn("Error while closing the input stream", ioe);
   }
-  try {
-if (!completed.get()) {
-  errThread.interrupt();
-  errThread.join();
-}
-  } catch (InterruptedException ie) {
-LOG.warn("Interrupted while joining errThread");
+  if (!completed.get()) {
+errThread.interrupt();
+joinThread(errThread);
   }
   try {
 InputStream stderr = process.getErrorStream();
@@ -581,6 +573,19 @@ abstract public class Shell {
 }
   }
 
+  private static void joinThread(Thread t) {
+while (t.isAlive()) {
+  try {
+t.join();
+  } catch (InterruptedException ie) {
+if (LOG.isWarnEnabled()) {
+  LOG.warn("Interrupted while joining on: " + t, ie);
+}
+t.interrupt(); // propagate interrupt
+  }
+}
+  }
+
   /** return an array containing the command name & its parameters */ 
   protected abstract String[] getExecString();
   




svn commit: r1603042 - in /hadoop/common/trunk/hadoop-common-project/hadoop-common: CHANGES.txt src/main/native/src/org/apache/hadoop/security/JniBasedUnixGroupsNetgroupMapping.c

2014-06-16 Thread jlowe
Author: jlowe
Date: Tue Jun 17 02:23:58 2014
New Revision: 1603042

URL: http://svn.apache.org/r1603042
Log:
HADOOP-10699. Fix build native library on mac osx. Contributed by Binglin Chang

Modified:
hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt

hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/native/src/org/apache/hadoop/security/JniBasedUnixGroupsNetgroupMapping.c

Modified: hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt?rev=1603042&r1=1603041&r2=1603042&view=diff
==
--- hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt 
(original)
+++ hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt Tue Jun 
17 02:23:58 2014
@@ -562,6 +562,9 @@ Release 2.5.0 - UNRELEASED
 HADOOP-10702. KerberosAuthenticationHandler does not log the principal 
names
 correctly. (Benoy Antony via cnauroth)
 
+HADOOP-10699. Fix build native library on mac osx (Binglin Chang via
+jlowe)
+
   BREAKDOWN OF HADOOP-10514 SUBTASKS AND RELATED JIRAS
 
 HADOOP-10520. Extended attributes definition and FileSystem APIs for

Modified: 
hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/native/src/org/apache/hadoop/security/JniBasedUnixGroupsNetgroupMapping.c
URL: 
http://svn.apache.org/viewvc/hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/native/src/org/apache/hadoop/security/JniBasedUnixGroupsNetgroupMapping.c?rev=1603042&r1=1603041&r2=1603042&view=diff
==
--- 
hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/native/src/org/apache/hadoop/security/JniBasedUnixGroupsNetgroupMapping.c
 (original)
+++ 
hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/native/src/org/apache/hadoop/security/JniBasedUnixGroupsNetgroupMapping.c
 Tue Jun 17 02:23:58 2014
@@ -73,7 +73,10 @@ Java_org_apache_hadoop_security_JniBased
   // was successful or not (as long as it was called we need to call
   // endnetgrent)
   setnetgrentCalledFlag = 1;
-#ifndef __FreeBSD__
+#if defined(__FreeBSD__) || defined(__MACH__)
+  setnetgrent(cgroup);
+  {
+#else
   if(setnetgrent(cgroup) == 1) {
 #endif
 current = NULL;
@@ -90,9 +93,7 @@ Java_org_apache_hadoop_security_JniBased
 userListSize++;
   }
 }
-#ifndef __FreeBSD__
   }
-#endif
 
   //--
   // build return data (java array)




<    2   3   4   5   6   7   8   9   10   11   >