svn commit: r1509072 - in /hadoop/common/branches/branch-2.1-beta/hadoop-common-project/hadoop-common: ./ src/main/java/ src/main/java/org/apache/hadoop/io/retry/ src/test/core/ src/test/java/org/apac

2013-07-31 Thread szetszwo
Author: szetszwo
Date: Thu Aug  1 02:32:50 2013
New Revision: 1509072

URL: http://svn.apache.org/r1509072
Log:
svn merge -c 1509070 from trunk for HADOOP-9803. Add a generic type parameter 
to RetryInvocationHandler.

Modified:
hadoop/common/branches/branch-2.1-beta/hadoop-common-project/hadoop-common/ 
  (props changed)

hadoop/common/branches/branch-2.1-beta/hadoop-common-project/hadoop-common/CHANGES.txt
   (contents, props changed)

hadoop/common/branches/branch-2.1-beta/hadoop-common-project/hadoop-common/src/main/java/
   (props changed)

hadoop/common/branches/branch-2.1-beta/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/retry/RetryInvocationHandler.java

hadoop/common/branches/branch-2.1-beta/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/retry/RetryProxy.java

hadoop/common/branches/branch-2.1-beta/hadoop-common-project/hadoop-common/src/test/core/
   (props changed)

hadoop/common/branches/branch-2.1-beta/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/io/retry/TestFailoverProxy.java

hadoop/common/branches/branch-2.1-beta/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/io/retry/UnreliableInterface.java

Propchange: 
hadoop/common/branches/branch-2.1-beta/hadoop-common-project/hadoop-common/
--
  Merged /hadoop/common/trunk/hadoop-common-project/hadoop-common:r1509070

Modified: 
hadoop/common/branches/branch-2.1-beta/hadoop-common-project/hadoop-common/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/hadoop/common/branches/branch-2.1-beta/hadoop-common-project/hadoop-common/CHANGES.txt?rev=1509072&r1=1509071&r2=1509072&view=diff
==
--- 
hadoop/common/branches/branch-2.1-beta/hadoop-common-project/hadoop-common/CHANGES.txt
 (original)
+++ 
hadoop/common/branches/branch-2.1-beta/hadoop-common-project/hadoop-common/CHANGES.txt
 Thu Aug  1 02:32:50 2013
@@ -26,6 +26,9 @@ Release 2.1.0-beta - 2013-08-06
 
   IMPROVEMENTS
 
+HADOOP-9803. Add a generic type parameter to RetryInvocationHandler.
+(szetszwo)
+
   OPTIMIZATIONS
 
   BUG FIXES

Propchange: 
hadoop/common/branches/branch-2.1-beta/hadoop-common-project/hadoop-common/CHANGES.txt
--
  Merged 
/hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt:r1509070

Propchange: 
hadoop/common/branches/branch-2.1-beta/hadoop-common-project/hadoop-common/src/main/java/
--
  Merged 
/hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java:r1509070

Modified: 
hadoop/common/branches/branch-2.1-beta/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/retry/RetryInvocationHandler.java
URL: 
http://svn.apache.org/viewvc/hadoop/common/branches/branch-2.1-beta/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/retry/RetryInvocationHandler.java?rev=1509072&r1=1509071&r2=1509072&view=diff
==
--- 
hadoop/common/branches/branch-2.1-beta/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/retry/RetryInvocationHandler.java
 (original)
+++ 
hadoop/common/branches/branch-2.1-beta/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/retry/RetryInvocationHandler.java
 Thu Aug  1 02:32:50 2013
@@ -45,9 +45,9 @@ import com.google.common.annotations.Vis
  * side.
  */
 @InterfaceAudience.Private
-public class RetryInvocationHandler implements RpcInvocationHandler {
+public class RetryInvocationHandler implements RpcInvocationHandler {
   public static final Log LOG = 
LogFactory.getLog(RetryInvocationHandler.class);
-  private final FailoverProxyProvider proxyProvider;
+  private final FailoverProxyProvider proxyProvider;
 
   /**
* The number of times the associated proxyProvider has ever been failed 
over.
@@ -57,14 +57,14 @@ public class RetryInvocationHandler impl
   
   private final RetryPolicy defaultPolicy;
   private final Map methodNameToPolicyMap;
-  private Object currentProxy;
+  private T currentProxy;
 
-  protected RetryInvocationHandler(FailoverProxyProvider proxyProvider,
+  protected RetryInvocationHandler(FailoverProxyProvider proxyProvider,
   RetryPolicy retryPolicy) {
 this(proxyProvider, retryPolicy, Collections.emptyMap());
   }
 
-  RetryInvocationHandler(FailoverProxyProvider proxyProvider,
+  RetryInvocationHandler(FailoverProxyProvider proxyProvider,
   RetryPolicy defaultPolicy,
   Map methodNameToPolicyMap) {
 this.proxyProvider = proxyProvider;

Modified: 
hadoop/common/branches/branch-2.1-beta/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/retry/RetryProxy.java
URL: 
http://svn.apache.org/viewvc/

svn commit: r1509071 - in /hadoop/common/branches/branch-2/hadoop-common-project/hadoop-common: ./ src/ src/main/java/ src/main/java/org/apache/hadoop/io/retry/ src/test/core/ src/test/java/org/apache

2013-07-31 Thread szetszwo
Author: szetszwo
Date: Thu Aug  1 02:23:41 2013
New Revision: 1509071

URL: http://svn.apache.org/r1509071
Log:
svn merge -c 1509070 from trunk for HADOOP-9803. Add a generic type parameter 
to RetryInvocationHandler.

Modified:
hadoop/common/branches/branch-2/hadoop-common-project/hadoop-common/   
(props changed)

hadoop/common/branches/branch-2/hadoop-common-project/hadoop-common/CHANGES.txt 
  (contents, props changed)
hadoop/common/branches/branch-2/hadoop-common-project/hadoop-common/src/   
(props changed)

hadoop/common/branches/branch-2/hadoop-common-project/hadoop-common/src/main/java/
   (props changed)

hadoop/common/branches/branch-2/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/retry/RetryInvocationHandler.java

hadoop/common/branches/branch-2/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/retry/RetryProxy.java

hadoop/common/branches/branch-2/hadoop-common-project/hadoop-common/src/test/core/
   (props changed)

hadoop/common/branches/branch-2/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/io/retry/TestFailoverProxy.java

hadoop/common/branches/branch-2/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/io/retry/UnreliableInterface.java

Propchange: hadoop/common/branches/branch-2/hadoop-common-project/hadoop-common/
--
  Merged /hadoop/common/trunk/hadoop-common-project/hadoop-common:r1509070

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=1509071&r1=1509070&r2=1509071&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 
Thu Aug  1 02:23:41 2013
@@ -47,6 +47,9 @@ Release 2.1.1-beta - UNRELEASED
 HADOOP-9787. ShutdownHelper util to shutdown threads and threadpools.
 (Karthik Kambatla via Sandy Ryza)
 
+HADOOP-9803. Add a generic type parameter to RetryInvocationHandler.
+(szetszwo)
+
   OPTIMIZATIONS
 
   BUG FIXES

Propchange: 
hadoop/common/branches/branch-2/hadoop-common-project/hadoop-common/CHANGES.txt
--
  Merged 
/hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt:r1509070

Propchange: 
hadoop/common/branches/branch-2/hadoop-common-project/hadoop-common/src/
--
  Merged /hadoop/common/trunk/hadoop-common-project/hadoop-common/src:r1509070

Propchange: 
hadoop/common/branches/branch-2/hadoop-common-project/hadoop-common/src/main/java/
--
  Merged 
/hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java:r1509070

Modified: 
hadoop/common/branches/branch-2/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/retry/RetryInvocationHandler.java
URL: 
http://svn.apache.org/viewvc/hadoop/common/branches/branch-2/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/retry/RetryInvocationHandler.java?rev=1509071&r1=1509070&r2=1509071&view=diff
==
--- 
hadoop/common/branches/branch-2/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/retry/RetryInvocationHandler.java
 (original)
+++ 
hadoop/common/branches/branch-2/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/retry/RetryInvocationHandler.java
 Thu Aug  1 02:23:41 2013
@@ -45,9 +45,9 @@ import com.google.common.annotations.Vis
  * side.
  */
 @InterfaceAudience.Private
-public class RetryInvocationHandler implements RpcInvocationHandler {
+public class RetryInvocationHandler implements RpcInvocationHandler {
   public static final Log LOG = 
LogFactory.getLog(RetryInvocationHandler.class);
-  private final FailoverProxyProvider proxyProvider;
+  private final FailoverProxyProvider proxyProvider;
 
   /**
* The number of times the associated proxyProvider has ever been failed 
over.
@@ -57,14 +57,14 @@ public class RetryInvocationHandler impl
   
   private final RetryPolicy defaultPolicy;
   private final Map methodNameToPolicyMap;
-  private Object currentProxy;
+  private T currentProxy;
 
-  protected RetryInvocationHandler(FailoverProxyProvider proxyProvider,
+  protected RetryInvocationHandler(FailoverProxyProvider proxyProvider,
   RetryPolicy retryPolicy) {
 this(proxyProvider, retryPolicy, Collections.emptyMap());
   }
 
-  RetryInvocationHandler(FailoverProxyProvider proxyProvider,
+  RetryInvocationHandler(FailoverProxyProvider pr

svn commit: r1509070 - in /hadoop/common/trunk/hadoop-common-project/hadoop-common: ./ src/main/java/org/apache/hadoop/io/retry/ src/test/java/org/apache/hadoop/io/retry/

2013-07-31 Thread szetszwo
Author: szetszwo
Date: Thu Aug  1 02:20:33 2013
New Revision: 1509070

URL: http://svn.apache.org/r1509070
Log:
HADOOP-9803. Add a generic type parameter to RetryInvocationHandler.

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/io/retry/RetryInvocationHandler.java

hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/retry/RetryProxy.java

hadoop/common/trunk/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/io/retry/TestFailoverProxy.java

hadoop/common/trunk/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/io/retry/UnreliableInterface.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=1509070&r1=1509069&r2=1509070&view=diff
==
--- hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt 
(original)
+++ hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt Thu Aug 
 1 02:20:33 2013
@@ -320,6 +320,9 @@ Release 2.1.1-beta - UNRELEASED
 HADOOP-9787. ShutdownHelper util to shutdown threads and threadpools.
 (Karthik Kambatla via Sandy Ryza)
 
+HADOOP-9803. Add a generic type parameter to RetryInvocationHandler.
+(szetszwo)
+
   OPTIMIZATIONS
 
   BUG FIXES

Modified: 
hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/retry/RetryInvocationHandler.java
URL: 
http://svn.apache.org/viewvc/hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/retry/RetryInvocationHandler.java?rev=1509070&r1=1509069&r2=1509070&view=diff
==
--- 
hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/retry/RetryInvocationHandler.java
 (original)
+++ 
hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/retry/RetryInvocationHandler.java
 Thu Aug  1 02:20:33 2013
@@ -44,9 +44,9 @@ import com.google.common.annotations.Vis
  * side.
  */
 @InterfaceAudience.Private
-public class RetryInvocationHandler implements RpcInvocationHandler {
+public class RetryInvocationHandler implements RpcInvocationHandler {
   public static final Log LOG = 
LogFactory.getLog(RetryInvocationHandler.class);
-  private final FailoverProxyProvider proxyProvider;
+  private final FailoverProxyProvider proxyProvider;
 
   /**
* The number of times the associated proxyProvider has ever been failed 
over.
@@ -56,14 +56,14 @@ public class RetryInvocationHandler impl
   
   private final RetryPolicy defaultPolicy;
   private final Map methodNameToPolicyMap;
-  private Object currentProxy;
+  private T currentProxy;
 
-  protected RetryInvocationHandler(FailoverProxyProvider proxyProvider,
+  protected RetryInvocationHandler(FailoverProxyProvider proxyProvider,
   RetryPolicy retryPolicy) {
 this(proxyProvider, retryPolicy, Collections.emptyMap());
   }
 
-  RetryInvocationHandler(FailoverProxyProvider proxyProvider,
+  RetryInvocationHandler(FailoverProxyProvider proxyProvider,
   RetryPolicy defaultPolicy,
   Map methodNameToPolicyMap) {
 this.proxyProvider = proxyProvider;

Modified: 
hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/retry/RetryProxy.java
URL: 
http://svn.apache.org/viewvc/hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/retry/RetryProxy.java?rev=1509070&r1=1509069&r2=1509070&view=diff
==
--- 
hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/retry/RetryProxy.java
 (original)
+++ 
hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/retry/RetryProxy.java
 Thu Aug  1 02:20:33 2013
@@ -58,7 +58,7 @@ public class RetryProxy {
 return Proxy.newProxyInstance(
 proxyProvider.getInterface().getClassLoader(),
 new Class[] { iface },
-new RetryInvocationHandler(proxyProvider, retryPolicy)
+new RetryInvocationHandler(proxyProvider, retryPolicy)
 );
   }
   
@@ -99,7 +99,7 @@ public class RetryProxy {
 return Proxy.newProxyInstance(
 proxyProvider.getInterface().getClassLoader(),
 new Class[] { iface },
-new RetryInvocationHandler(proxyProvider, defaultPolicy,
+new RetryInvocationHandler(proxyProvider, defaultPolicy,
 methodNameToPolicyMap)
 );
   }

Modified: 
hadoop/common/trunk/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/io/retry/TestFailoverProxy.java
URL: 
http://svn.apache.org/viewvc/had

svn commit: r1509065 - in /hadoop/common/branches/branch-2/hadoop-common-project/hadoop-common: ./ src/main/java/org/apache/hadoop/fs/ src/main/resources/

2013-07-31 Thread cmccabe
Author: cmccabe
Date: Thu Aug  1 01:08:32 2013
New Revision: 1509065

URL: http://svn.apache.org/r1509065
Log:
HADOOP-9758.  Provide configuration option for FS/FC symlink resolution.  
(Andrew Wang via Colin Patrick McCabe)

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/fs/CommonConfigurationKeysPublic.java

hadoop/common/branches/branch-2/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FSLinkResolver.java

hadoop/common/branches/branch-2/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FileContext.java

hadoop/common/branches/branch-2/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FileSystem.java

hadoop/common/branches/branch-2/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FileSystemLinkResolver.java

hadoop/common/branches/branch-2/hadoop-common-project/hadoop-common/src/main/resources/core-default.xml

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=1509065&r1=1509064&r2=1509065&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 
Thu Aug  1 01:08:32 2013
@@ -24,6 +24,9 @@ Release 2.3.0 - UNRELEASED
 HADOOP-9435.  Support building the JNI code against the IBM JVM.
 (Tian Hong Wang via Colin Patrick McCabe)
 
+HADOOP-9758.  Provide configuration option for FileSystem/FileContext
+symlink resolution.  (Andrew Wang via Colin Patrick McCabe)
+
   OPTIMIZATIONS
 
 HADOOP-9748. Reduce blocking on UGI.ensureInitialized (daryn)

Modified: 
hadoop/common/branches/branch-2/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/CommonConfigurationKeysPublic.java
URL: 
http://svn.apache.org/viewvc/hadoop/common/branches/branch-2/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/CommonConfigurationKeysPublic.java?rev=1509065&r1=1509064&r2=1509065&view=diff
==
--- 
hadoop/common/branches/branch-2/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/CommonConfigurationKeysPublic.java
 (original)
+++ 
hadoop/common/branches/branch-2/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/CommonConfigurationKeysPublic.java
 Thu Aug  1 01:08:32 2013
@@ -58,6 +58,11 @@ public class CommonConfigurationKeysPubl
   public static final String  FS_DU_INTERVAL_KEY = "fs.du.interval";
   /** Default value for FS_DU_INTERVAL_KEY */
   public static final longFS_DU_INTERVAL_DEFAULT = 60;
+  /** See core-default.xml */
+  public static final String  FS_CLIENT_RESOLVE_REMOTE_SYMLINKS_KEY =
+"fs.client.resolve.remote.symlinks";
+  /** Default value for FS_CLIENT_RESOLVE_REMOTE_SYMLINKS_KEY */
+  public static final boolean FS_CLIENT_RESOLVE_REMOTE_SYMLINKS_DEFAULT = true;
 
 
   //Defaults are not specified for following keys

Modified: 
hadoop/common/branches/branch-2/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FSLinkResolver.java
URL: 
http://svn.apache.org/viewvc/hadoop/common/branches/branch-2/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FSLinkResolver.java?rev=1509065&r1=1509064&r2=1509065&view=diff
==
--- 
hadoop/common/branches/branch-2/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FSLinkResolver.java
 (original)
+++ 
hadoop/common/branches/branch-2/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FSLinkResolver.java
 Thu Aug  1 01:08:32 2013
@@ -90,6 +90,11 @@ public abstract class FSLinkResolver 
 in = next(fs, p);
 isLink = false;
   } catch (UnresolvedLinkException e) {
+if (!fc.resolveSymlinks) {
+  throw new IOException("Path " + path + " contains a symlink"
+  + " and symlink resolution is disabled ("
+  + CommonConfigurationKeys.FS_CLIENT_RESOLVE_REMOTE_SYMLINKS_KEY 
+ ").", e);
+}
 if (count++ > FsConstants.MAX_PATH_LINKS) {
   throw new IOException("Possible cyclic loop while " +
 "following symbolic link " + path);

Modified: 
hadoop/common/branches/branch-2/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FileContext.java
URL: 
http://svn.apache.org/viewvc/hadoop/common/branches/branch-2/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FileContext.java?rev=1509065&r1=15090

svn commit: r1509064 - in /hadoop/common/trunk/hadoop-common-project/hadoop-common: ./ src/main/java/org/apache/hadoop/fs/ src/main/resources/

2013-07-31 Thread cmccabe
Author: cmccabe
Date: Thu Aug  1 01:04:29 2013
New Revision: 1509064

URL: http://svn.apache.org/r1509064
Log:
HADOOP-9758.  Provide configuration option for FS/FC symlink resolution.  
(Andrew Wang via Colin Patrick McCabe)

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/fs/CommonConfigurationKeysPublic.java

hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FSLinkResolver.java

hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FileContext.java

hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FileSystem.java

hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FileSystemLinkResolver.java

hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/resources/core-default.xml

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=1509064&r1=1509063&r2=1509064&view=diff
==
--- hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt 
(original)
+++ hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt Thu Aug 
 1 01:04:29 2013
@@ -297,6 +297,9 @@ Release 2.3.0 - UNRELEASED
 HADOOP-9435.  Support building the JNI code against the IBM JVM.
 (Tian Hong Wang via Colin Patrick McCabe)
 
+HADOOP-9758.  Provide configuration option for FileSystem/FileContext
+symlink resolution.  (Andrew Wang via Colin Patrick McCabe)
+
   OPTIMIZATIONS
 
 HADOOP-9748. Reduce blocking on UGI.ensureInitialized (daryn)

Modified: 
hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/CommonConfigurationKeysPublic.java
URL: 
http://svn.apache.org/viewvc/hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/CommonConfigurationKeysPublic.java?rev=1509064&r1=1509063&r2=1509064&view=diff
==
--- 
hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/CommonConfigurationKeysPublic.java
 (original)
+++ 
hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/CommonConfigurationKeysPublic.java
 Thu Aug  1 01:04:29 2013
@@ -58,6 +58,11 @@ public class CommonConfigurationKeysPubl
   public static final String  FS_DU_INTERVAL_KEY = "fs.du.interval";
   /** Default value for FS_DU_INTERVAL_KEY */
   public static final longFS_DU_INTERVAL_DEFAULT = 60;
+  /** See core-default.xml */
+  public static final String  FS_CLIENT_RESOLVE_REMOTE_SYMLINKS_KEY =
+"fs.client.resolve.remote.symlinks";
+  /** Default value for FS_CLIENT_RESOLVE_REMOTE_SYMLINKS_KEY */
+  public static final boolean FS_CLIENT_RESOLVE_REMOTE_SYMLINKS_DEFAULT = true;
 
 
   //Defaults are not specified for following keys

Modified: 
hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FSLinkResolver.java
URL: 
http://svn.apache.org/viewvc/hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FSLinkResolver.java?rev=1509064&r1=1509063&r2=1509064&view=diff
==
--- 
hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FSLinkResolver.java
 (original)
+++ 
hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FSLinkResolver.java
 Thu Aug  1 01:04:29 2013
@@ -90,6 +90,11 @@ public abstract class FSLinkResolver 
 in = next(fs, p);
 isLink = false;
   } catch (UnresolvedLinkException e) {
+if (!fc.resolveSymlinks) {
+  throw new IOException("Path " + path + " contains a symlink"
+  + " and symlink resolution is disabled ("
+  + CommonConfigurationKeys.FS_CLIENT_RESOLVE_REMOTE_SYMLINKS_KEY 
+ ").", e);
+}
 if (count++ > FsConstants.MAX_PATH_LINKS) {
   throw new IOException("Possible cyclic loop while " +
 "following symbolic link " + path);

Modified: 
hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FileContext.java
URL: 
http://svn.apache.org/viewvc/hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FileContext.java?rev=1509064&r1=1509063&r2=1509064&view=diff
==
--- 
hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FileContext.java
 (original)
+++ 
hadoop/common/trunk/h

svn commit: r1509059 - in /hadoop/common/branches/branch-2.0.6-alpha: ./ hadoop-assemblies/ hadoop-client/ hadoop-dist/ hadoop-maven-plugins/ hadoop-minicluster/ hadoop-project-dist/ hadoop-project/ h

2013-07-31 Thread cos
Author: cos
Date: Thu Aug  1 00:49:23 2013
New Revision: 1509059

URL: http://svn.apache.org/r1509059
Log:
Preparing release 2.0.6-alpha: setting version of the artifacts to 2.0.6-alpha

Modified:
hadoop/common/branches/branch-2.0.6-alpha/hadoop-assemblies/pom.xml
hadoop/common/branches/branch-2.0.6-alpha/hadoop-client/pom.xml
hadoop/common/branches/branch-2.0.6-alpha/hadoop-dist/pom.xml
hadoop/common/branches/branch-2.0.6-alpha/hadoop-maven-plugins/pom.xml
hadoop/common/branches/branch-2.0.6-alpha/hadoop-minicluster/pom.xml
hadoop/common/branches/branch-2.0.6-alpha/hadoop-project-dist/pom.xml
hadoop/common/branches/branch-2.0.6-alpha/hadoop-project/pom.xml

hadoop/common/branches/branch-2.0.6-alpha/hadoop-tools/hadoop-archives/pom.xml

hadoop/common/branches/branch-2.0.6-alpha/hadoop-tools/hadoop-datajoin/pom.xml
hadoop/common/branches/branch-2.0.6-alpha/hadoop-tools/hadoop-distcp/pom.xml
hadoop/common/branches/branch-2.0.6-alpha/hadoop-tools/hadoop-extras/pom.xml

hadoop/common/branches/branch-2.0.6-alpha/hadoop-tools/hadoop-gridmix/pom.xml
hadoop/common/branches/branch-2.0.6-alpha/hadoop-tools/hadoop-pipes/pom.xml
hadoop/common/branches/branch-2.0.6-alpha/hadoop-tools/hadoop-rumen/pom.xml

hadoop/common/branches/branch-2.0.6-alpha/hadoop-tools/hadoop-streaming/pom.xml

hadoop/common/branches/branch-2.0.6-alpha/hadoop-tools/hadoop-tools-dist/pom.xml
hadoop/common/branches/branch-2.0.6-alpha/hadoop-tools/pom.xml
hadoop/common/branches/branch-2.0.6-alpha/pom.xml

Modified: hadoop/common/branches/branch-2.0.6-alpha/hadoop-assemblies/pom.xml
URL: 
http://svn.apache.org/viewvc/hadoop/common/branches/branch-2.0.6-alpha/hadoop-assemblies/pom.xml?rev=1509059&r1=1509058&r2=1509059&view=diff
==
--- hadoop/common/branches/branch-2.0.6-alpha/hadoop-assemblies/pom.xml 
(original)
+++ hadoop/common/branches/branch-2.0.6-alpha/hadoop-assemblies/pom.xml Thu Aug 
 1 00:49:23 2013
@@ -23,12 +23,12 @@
   
 org.apache.hadoop
 hadoop-project
-2.0.5-alpha
+2.0.6-alpha
 ../hadoop-project
   
   org.apache.hadoop
   hadoop-assemblies
-  2.0.5-alpha
+  2.0.6-alpha
   Apache Hadoop Assemblies
   Apache Hadoop Assemblies
 

Modified: hadoop/common/branches/branch-2.0.6-alpha/hadoop-client/pom.xml
URL: 
http://svn.apache.org/viewvc/hadoop/common/branches/branch-2.0.6-alpha/hadoop-client/pom.xml?rev=1509059&r1=1509058&r2=1509059&view=diff
==
--- hadoop/common/branches/branch-2.0.6-alpha/hadoop-client/pom.xml (original)
+++ hadoop/common/branches/branch-2.0.6-alpha/hadoop-client/pom.xml Thu Aug  1 
00:49:23 2013
@@ -18,12 +18,12 @@
   
 org.apache.hadoop
 hadoop-project-dist
-2.0.5-alpha
+2.0.6-alpha
 ../hadoop-project-dist
   
   org.apache.hadoop
   hadoop-client
-  2.0.5-alpha
+  2.0.6-alpha
   jar
 
   Apache Hadoop Client

Modified: hadoop/common/branches/branch-2.0.6-alpha/hadoop-dist/pom.xml
URL: 
http://svn.apache.org/viewvc/hadoop/common/branches/branch-2.0.6-alpha/hadoop-dist/pom.xml?rev=1509059&r1=1509058&r2=1509059&view=diff
==
--- hadoop/common/branches/branch-2.0.6-alpha/hadoop-dist/pom.xml (original)
+++ hadoop/common/branches/branch-2.0.6-alpha/hadoop-dist/pom.xml Thu Aug  1 
00:49:23 2013
@@ -20,12 +20,12 @@
   
 org.apache.hadoop
 hadoop-project
-2.0.5-alpha
+2.0.6-alpha
 ../hadoop-project
   
   org.apache.hadoop
   hadoop-dist
-  2.0.5-alpha
+  2.0.6-alpha
   Apache Hadoop Distribution
   Apache Hadoop Distribution
   jar

Modified: hadoop/common/branches/branch-2.0.6-alpha/hadoop-maven-plugins/pom.xml
URL: 
http://svn.apache.org/viewvc/hadoop/common/branches/branch-2.0.6-alpha/hadoop-maven-plugins/pom.xml?rev=1509059&r1=1509058&r2=1509059&view=diff
==
--- hadoop/common/branches/branch-2.0.6-alpha/hadoop-maven-plugins/pom.xml 
(original)
+++ hadoop/common/branches/branch-2.0.6-alpha/hadoop-maven-plugins/pom.xml Thu 
Aug  1 00:49:23 2013
@@ -19,7 +19,7 @@
   
 org.apache.hadoop
 hadoop-project
-2.0.5-alpha
+2.0.6-alpha
 ../hadoop-project
   
   org.apache.hadoop

Modified: hadoop/common/branches/branch-2.0.6-alpha/hadoop-minicluster/pom.xml
URL: 
http://svn.apache.org/viewvc/hadoop/common/branches/branch-2.0.6-alpha/hadoop-minicluster/pom.xml?rev=1509059&r1=1509058&r2=1509059&view=diff
==
--- hadoop/common/branches/branch-2.0.6-alpha/hadoop-minicluster/pom.xml 
(original)
+++ hadoop/common/branches/branch-2.0.6-alpha/hadoop-minicluster/pom.xml Thu 
Aug  1 00:49:23 2013
@@ -18,12 +18,12 @@
   
 org.apache.hadoop
 hadoop-project
-2.0.5-alpha
+2.0.6-alpha
 ../hadoop-project
  

svn commit: r1509059 - in /hadoop/common/branches/branch-2.0.6-alpha/hadoop-common-project: hadoop-annotations/pom.xml hadoop-auth-examples/pom.xml hadoop-auth/pom.xml hadoop-common/pom.xml pom.xml

2013-07-31 Thread cos
Author: cos
Date: Thu Aug  1 00:49:23 2013
New Revision: 1509059

URL: http://svn.apache.org/r1509059
Log:
Preparing release 2.0.6-alpha: setting version of the artifacts to 2.0.6-alpha

Modified:

hadoop/common/branches/branch-2.0.6-alpha/hadoop-common-project/hadoop-annotations/pom.xml

hadoop/common/branches/branch-2.0.6-alpha/hadoop-common-project/hadoop-auth-examples/pom.xml

hadoop/common/branches/branch-2.0.6-alpha/hadoop-common-project/hadoop-auth/pom.xml

hadoop/common/branches/branch-2.0.6-alpha/hadoop-common-project/hadoop-common/pom.xml
hadoop/common/branches/branch-2.0.6-alpha/hadoop-common-project/pom.xml

Modified: 
hadoop/common/branches/branch-2.0.6-alpha/hadoop-common-project/hadoop-annotations/pom.xml
URL: 
http://svn.apache.org/viewvc/hadoop/common/branches/branch-2.0.6-alpha/hadoop-common-project/hadoop-annotations/pom.xml?rev=1509059&r1=1509058&r2=1509059&view=diff
==
--- 
hadoop/common/branches/branch-2.0.6-alpha/hadoop-common-project/hadoop-annotations/pom.xml
 (original)
+++ 
hadoop/common/branches/branch-2.0.6-alpha/hadoop-common-project/hadoop-annotations/pom.xml
 Thu Aug  1 00:49:23 2013
@@ -20,12 +20,12 @@
   
 org.apache.hadoop
 hadoop-project
-2.0.5-alpha
+2.0.6-alpha
 ../../hadoop-project
   
   org.apache.hadoop
   hadoop-annotations
-  2.0.5-alpha
+  2.0.6-alpha
   Apache Hadoop Annotations
   Apache Hadoop Annotations
   jar

Modified: 
hadoop/common/branches/branch-2.0.6-alpha/hadoop-common-project/hadoop-auth-examples/pom.xml
URL: 
http://svn.apache.org/viewvc/hadoop/common/branches/branch-2.0.6-alpha/hadoop-common-project/hadoop-auth-examples/pom.xml?rev=1509059&r1=1509058&r2=1509059&view=diff
==
--- 
hadoop/common/branches/branch-2.0.6-alpha/hadoop-common-project/hadoop-auth-examples/pom.xml
 (original)
+++ 
hadoop/common/branches/branch-2.0.6-alpha/hadoop-common-project/hadoop-auth-examples/pom.xml
 Thu Aug  1 00:49:23 2013
@@ -20,12 +20,12 @@
   
 org.apache.hadoop
 hadoop-project
-2.0.5-alpha
+2.0.6-alpha
 ../../hadoop-project
   
   org.apache.hadoop
   hadoop-auth-examples
-  2.0.5-alpha
+  2.0.6-alpha
   war
 
   Apache Hadoop Auth Examples

Modified: 
hadoop/common/branches/branch-2.0.6-alpha/hadoop-common-project/hadoop-auth/pom.xml
URL: 
http://svn.apache.org/viewvc/hadoop/common/branches/branch-2.0.6-alpha/hadoop-common-project/hadoop-auth/pom.xml?rev=1509059&r1=1509058&r2=1509059&view=diff
==
--- 
hadoop/common/branches/branch-2.0.6-alpha/hadoop-common-project/hadoop-auth/pom.xml
 (original)
+++ 
hadoop/common/branches/branch-2.0.6-alpha/hadoop-common-project/hadoop-auth/pom.xml
 Thu Aug  1 00:49:23 2013
@@ -20,12 +20,12 @@
   
 org.apache.hadoop
 hadoop-project
-2.0.5-alpha
+2.0.6-alpha
 ../../hadoop-project
   
   org.apache.hadoop
   hadoop-auth
-  2.0.5-alpha
+  2.0.6-alpha
   jar
 
   Apache Hadoop Auth

Modified: 
hadoop/common/branches/branch-2.0.6-alpha/hadoop-common-project/hadoop-common/pom.xml
URL: 
http://svn.apache.org/viewvc/hadoop/common/branches/branch-2.0.6-alpha/hadoop-common-project/hadoop-common/pom.xml?rev=1509059&r1=1509058&r2=1509059&view=diff
==
--- 
hadoop/common/branches/branch-2.0.6-alpha/hadoop-common-project/hadoop-common/pom.xml
 (original)
+++ 
hadoop/common/branches/branch-2.0.6-alpha/hadoop-common-project/hadoop-common/pom.xml
 Thu Aug  1 00:49:23 2013
@@ -20,12 +20,12 @@
   
 org.apache.hadoop
 hadoop-project-dist
-2.0.5-alpha
+2.0.6-alpha
 ../../hadoop-project-dist
   
   org.apache.hadoop
   hadoop-common
-  2.0.5-alpha
+  2.0.6-alpha
   Apache Hadoop Common
   Apache Hadoop Common
   jar

Modified: 
hadoop/common/branches/branch-2.0.6-alpha/hadoop-common-project/pom.xml
URL: 
http://svn.apache.org/viewvc/hadoop/common/branches/branch-2.0.6-alpha/hadoop-common-project/pom.xml?rev=1509059&r1=1509058&r2=1509059&view=diff
==
--- hadoop/common/branches/branch-2.0.6-alpha/hadoop-common-project/pom.xml 
(original)
+++ hadoop/common/branches/branch-2.0.6-alpha/hadoop-common-project/pom.xml Thu 
Aug  1 00:49:23 2013
@@ -20,12 +20,12 @@
   
 org.apache.hadoop
 hadoop-project
-2.0.5-alpha
+2.0.6-alpha
 ../hadoop-project
   
   org.apache.hadoop
   hadoop-common-project
-  2.0.5-alpha
+  2.0.6-alpha
   Apache Hadoop Common Project
   Apache Hadoop Common Project
   pom




svn commit: r1509054 - in /hadoop/common/branches/branch-2.1-beta/hadoop-common-project/hadoop-common: CHANGES.txt src/main/java/org/apache/hadoop/util/ShutdownThreadsHelper.java src/test/java/org/apa

2013-07-31 Thread sandy
Author: sandy
Date: Thu Aug  1 00:05:37 2013
New Revision: 1509054

URL: http://svn.apache.org/r1509054
Log:
HADOOP-9787. ShutdownHelper util to shutdown threads and threadpools. (Karthik 
Kambatla via Sandy Ryza)

Added:

hadoop/common/branches/branch-2.1-beta/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/ShutdownThreadsHelper.java
  - copied unchanged from r1509051, 
hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/ShutdownThreadsHelper.java

hadoop/common/branches/branch-2.1-beta/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/util/TestShutdownThreadsHelper.java
  - copied unchanged from r1509051, 
hadoop/common/trunk/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/util/TestShutdownThreadsHelper.java
Modified:

hadoop/common/branches/branch-2.1-beta/hadoop-common-project/hadoop-common/CHANGES.txt

Modified: 
hadoop/common/branches/branch-2.1-beta/hadoop-common-project/hadoop-common/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/hadoop/common/branches/branch-2.1-beta/hadoop-common-project/hadoop-common/CHANGES.txt?rev=1509054&r1=1509053&r2=1509054&view=diff
==
--- 
hadoop/common/branches/branch-2.1-beta/hadoop-common-project/hadoop-common/CHANGES.txt
 (original)
+++ 
hadoop/common/branches/branch-2.1-beta/hadoop-common-project/hadoop-common/CHANGES.txt
 Thu Aug  1 00:05:37 2013
@@ -8,6 +8,24 @@ Release 2.1.1-beta - UNRELEASED
 
   IMPROVEMENTS
 
+HADOOP-9787. ShutdownHelper util to shutdown threads and threadpools.
+(Karthik Kambatla via Sandy Ryza)
+
+  OPTIMIZATIONS
+
+  BUG FIXES
+
+HADOOP-9768. chown and chgrp reject users and groups with spaces on 
platforms
+where spaces are otherwise acceptable. (cnauroth)
+
+Release 2.1.0-beta - 2013-08-06
+
+  INCOMPATIBLE CHANGES
+
+  NEW FEATURES
+
+  IMPROVEMENTS
+
   OPTIMIZATIONS
 
   BUG FIXES




svn commit: r1509053 - in /hadoop/common/branches/branch-2/hadoop-common-project/hadoop-common: CHANGES.txt src/main/java/org/apache/hadoop/util/ShutdownThreadsHelper.java src/test/java/org/apache/had

2013-07-31 Thread sandy
Author: sandy
Date: Wed Jul 31 23:57:02 2013
New Revision: 1509053

URL: http://svn.apache.org/r1509053
Log:
HADOOP-9787. ShutdownHelper util to shutdown threads and threadpools. (Karthik 
Kambatla via Sandy Ryza)

Added:

hadoop/common/branches/branch-2/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/ShutdownThreadsHelper.java
  - copied unchanged from r1509051, 
hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/ShutdownThreadsHelper.java

hadoop/common/branches/branch-2/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/util/TestShutdownThreadsHelper.java
  - copied unchanged from r1509051, 
hadoop/common/trunk/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/util/TestShutdownThreadsHelper.java
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=1509053&r1=1509052&r2=1509053&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 Jul 31 23:57:02 2013
@@ -40,6 +40,9 @@ Release 2.1.1-beta - UNRELEASED
   NEW FEATURES
 
   IMPROVEMENTS
+ 
+HADOOP-9787. ShutdownHelper util to shutdown threads and threadpools.
+(Karthik Kambatla via Sandy Ryza)
 
   OPTIMIZATIONS
 




svn commit: r1509051 - in /hadoop/common/trunk/hadoop-common-project/hadoop-common: CHANGES.txt src/main/java/org/apache/hadoop/util/ShutdownThreadsHelper.java src/test/java/org/apache/hadoop/util/Tes

2013-07-31 Thread sandy
Author: sandy
Date: Wed Jul 31 23:42:33 2013
New Revision: 1509051

URL: http://svn.apache.org/r1509051
Log:
HADOOP-9787. ShutdownHelper util to shutdown threads and threadpools. (Karthik 
Kambatla via Sandy Ryza)

Added:

hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/ShutdownThreadsHelper.java

hadoop/common/trunk/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/util/TestShutdownThreadsHelper.java
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=1509051&r1=1509050&r2=1509051&view=diff
==
--- hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt 
(original)
+++ hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt Wed Jul 
31 23:42:33 2013
@@ -313,6 +313,9 @@ Release 2.1.1-beta - UNRELEASED
   NEW FEATURES
 
   IMPROVEMENTS
+ 
+HADOOP-9787. ShutdownHelper util to shutdown threads and threadpools.
+(Karthik Kambatla via Sandy Ryza)
 
   OPTIMIZATIONS
 

Added: 
hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/ShutdownThreadsHelper.java
URL: 
http://svn.apache.org/viewvc/hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/ShutdownThreadsHelper.java?rev=1509051&view=auto
==
--- 
hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/ShutdownThreadsHelper.java
 (added)
+++ 
hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/ShutdownThreadsHelper.java
 Wed Jul 31 23:42:33 2013
@@ -0,0 +1,106 @@
+/**
+ * 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.util;
+
+import com.google.common.annotations.VisibleForTesting;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.TimeUnit;
+
+/**
+ * Helper class to shutdown {@link Thread}s and {@link ExecutorService}s.
+ */
+public class ShutdownThreadsHelper {
+  private static Log LOG = LogFactory.getLog(ShutdownThreadsHelper.class);
+
+  @VisibleForTesting
+  static final int SHUTDOWN_WAIT_MS = 3000;
+
+  /**
+   * @param thread {@link Thread to be shutdown}
+   * @return true if the thread is successfully interrupted,
+   * false otherwise
+   * @throws InterruptedException
+   */
+  public static boolean shutdownThread(Thread thread) {
+return shutdownThread(thread, SHUTDOWN_WAIT_MS);
+  }
+
+  /**
+   * @param thread {@link Thread to be shutdown}
+   * @param timeoutInMilliSeconds time to wait for thread to join after being
+   *  interrupted
+   * @return true if the thread is successfully interrupted,
+   * false otherwise
+   * @throws InterruptedException
+   */
+  public static boolean shutdownThread(Thread thread,
+long timeoutInMilliSeconds) {
+if (thread == null) {
+  return true;
+}
+
+try {
+  thread.interrupt();
+  thread.join(timeoutInMilliSeconds);
+  return true;
+} catch (InterruptedException ie) {
+  LOG.warn("Interrupted while shutting down thread - " + thread.getName());
+  return false;
+}
+  }
+
+  /**
+   * @param service {@link ExecutorService to be shutdown}
+   * @return true if the service is terminated,
+   * false otherwise
+   * @throws InterruptedException
+   */
+  public static boolean shutdownExecutorService(ExecutorService service)
+  throws InterruptedException {
+return shutdownExecutorService(service, SHUTDOWN_WAIT_MS);
+  }
+
+  /**
+   * @param service {@link ExecutorService to be shutdown}
+   * @param timeoutInMs time to wait for {@link
+   * ExecutorService#awaitTermination(long, java.util.concurrent.TimeUnit)}
+   *calls in milli seconds.
+   * @return true if the se