You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-commits@hadoop.apache.org by wa...@apache.org on 2013/10/18 00:08:09 UTC

svn commit: r1533273 - in /hadoop/common/branches/branch-2.2/hadoop-common-project/hadoop-common: ./ src/main/java/org/apache/hadoop/fs/ src/test/java/org/apache/hadoop/fs/ src/test/resources/

Author: wang
Date: Thu Oct 17 22:08:09 2013
New Revision: 1533273

URL: http://svn.apache.org/r1533273
Log:
HADOOP-10052. Temporarily disable client-side symlink resolution (branch-2.2 only change). (wang)

Modified:
    hadoop/common/branches/branch-2.2/hadoop-common-project/hadoop-common/CHANGES.txt
    hadoop/common/branches/branch-2.2/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FSLinkResolver.java
    hadoop/common/branches/branch-2.2/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FileSystem.java
    hadoop/common/branches/branch-2.2/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FileSystemLinkResolver.java
    hadoop/common/branches/branch-2.2/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/SymlinkBaseTest.java
    hadoop/common/branches/branch-2.2/hadoop-common-project/hadoop-common/src/test/resources/core-site.xml

Modified: hadoop/common/branches/branch-2.2/hadoop-common-project/hadoop-common/CHANGES.txt
URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-2.2/hadoop-common-project/hadoop-common/CHANGES.txt?rev=1533273&r1=1533272&r2=1533273&view=diff
==============================================================================
--- hadoop/common/branches/branch-2.2/hadoop-common-project/hadoop-common/CHANGES.txt (original)
+++ hadoop/common/branches/branch-2.2/hadoop-common-project/hadoop-common/CHANGES.txt Thu Oct 17 22:08:09 2013
@@ -32,6 +32,9 @@ Release 2.2.1 - UNRELEASED
     HADOOP-10055. FileSystemShell.apt.vm doc has typo "numRepicas".
     (Akira Ajisaka via cnauroth)
 
+    HADOOP-10052. Temporarily disable client-side symlink resolution
+    (branch-2.2 only change). (wang)
+
 Release 2.2.0 - 2013-10-13
 
   INCOMPATIBLE CHANGES

Modified: hadoop/common/branches/branch-2.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.2/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FSLinkResolver.java?rev=1533273&r1=1533272&r2=1533273&view=diff
==============================================================================
--- hadoop/common/branches/branch-2.2/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FSLinkResolver.java (original)
+++ hadoop/common/branches/branch-2.2/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FSLinkResolver.java Thu Oct 17 22:08:09 2013
@@ -76,6 +76,7 @@ public abstract class FSLinkResolver<T> 
    * @return Generic type determined by the implementation of next.
    * @throws IOException
    */
+  @SuppressWarnings("deprecation")
   public T resolve(final FileContext fc, final Path path) throws IOException {
     int count = 0;
     T in = null;
@@ -95,6 +96,10 @@ public abstract class FSLinkResolver<T> 
               + " and symlink resolution is disabled ("
               + CommonConfigurationKeys.FS_CLIENT_RESOLVE_REMOTE_SYMLINKS_KEY + ").", e);
         }
+        if (!FileSystem.isSymlinksEnabled()) {
+          throw new IOException("Symlink resolution is disabled in"
+              + " this version of Hadoop.");
+        }
         if (count++ > FsConstants.MAX_PATH_LINKS) {
           throw new IOException("Possible cyclic loop while " +
                                 "following symbolic link " + path);

Modified: hadoop/common/branches/branch-2.2/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FileSystem.java
URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-2.2/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FileSystem.java?rev=1533273&r1=1533272&r2=1533273&view=diff
==============================================================================
--- hadoop/common/branches/branch-2.2/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FileSystem.java (original)
+++ hadoop/common/branches/branch-2.2/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FileSystem.java Thu Oct 17 22:08:09 2013
@@ -2808,17 +2808,12 @@ public abstract class FileSystem extends
     }
   }
   
-  // Symlinks are temporarily disabled - see Hadoop-10020
+  // Symlinks are temporarily disabled - see HADOOP-10020 and HADOOP-10052
   private static boolean symlinkEnabled = false;
-  private static Configuration conf = null;
   
   @Deprecated
   @VisibleForTesting
   public static boolean isSymlinksEnabled() {
-    if (conf == null) {
-      Configuration conf = new Configuration();
-      symlinkEnabled = conf.getBoolean("test.SymlinkEnabledForTesting", false); 
-    }
     return symlinkEnabled;
   }
   

Modified: hadoop/common/branches/branch-2.2/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FileSystemLinkResolver.java
URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-2.2/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FileSystemLinkResolver.java?rev=1533273&r1=1533272&r2=1533273&view=diff
==============================================================================
--- hadoop/common/branches/branch-2.2/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FileSystemLinkResolver.java (original)
+++ hadoop/common/branches/branch-2.2/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FileSystemLinkResolver.java Thu Oct 17 22:08:09 2013
@@ -68,6 +68,7 @@ public abstract class FileSystemLinkReso
    * @return Generic type determined by implementation
    * @throws IOException
    */
+  @SuppressWarnings("deprecation")
   public T resolve(final FileSystem filesys, final Path path)
       throws IOException {
     int count = 0;
@@ -87,6 +88,10 @@ public abstract class FileSystemLinkReso
               + CommonConfigurationKeys.FS_CLIENT_RESOLVE_REMOTE_SYMLINKS_KEY
               + ").", e);
         }
+        if (!FileSystem.isSymlinksEnabled()) {
+          throw new IOException("Symlink resolution is disabled in"
+              + " this version of Hadoop.");
+        }
         if (count++ > FsConstants.MAX_PATH_LINKS) {
           throw new IOException("Possible cyclic loop while " +
                                 "following symbolic link " + path);

Modified: hadoop/common/branches/branch-2.2/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/SymlinkBaseTest.java
URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-2.2/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/SymlinkBaseTest.java?rev=1533273&r1=1533272&r2=1533273&view=diff
==============================================================================
--- hadoop/common/branches/branch-2.2/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/SymlinkBaseTest.java (original)
+++ hadoop/common/branches/branch-2.2/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/SymlinkBaseTest.java Thu Oct 17 22:08:09 2013
@@ -28,6 +28,7 @@ import org.apache.hadoop.test.GenericTes
 
 import static org.junit.Assert.*;
 import static org.junit.Assume.assumeTrue;
+
 import org.junit.Test;
 import org.junit.Before;
 import org.junit.After;
@@ -35,7 +36,12 @@ import org.junit.After;
 /**
  * Base test for symbolic links
  */
+@SuppressWarnings("deprecation")
 public abstract class SymlinkBaseTest {
+  // Re-enable symlinks for tests, see HADOOP-10020 and HADOOP-10052
+  static {
+    FileSystem.enableSymlinks();
+  }
   static final long seed = 0xDEADBEEFL;
   static final int  blockSize =  8192;
   static final int  fileSize  = 16384;

Modified: hadoop/common/branches/branch-2.2/hadoop-common-project/hadoop-common/src/test/resources/core-site.xml
URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-2.2/hadoop-common-project/hadoop-common/src/test/resources/core-site.xml?rev=1533273&r1=1533272&r2=1533273&view=diff
==============================================================================
--- hadoop/common/branches/branch-2.2/hadoop-common-project/hadoop-common/src/test/resources/core-site.xml (original)
+++ hadoop/common/branches/branch-2.2/hadoop-common-project/hadoop-common/src/test/resources/core-site.xml Thu Oct 17 22:08:09 2013
@@ -78,9 +78,4 @@
   <name>nfs3.mountd.port</name>
   <value>4272</value>
 </property>
-
-<property>
-  <name>test.SymlinkEnabledForTesting</name>
-  <value>true</value>
-</property>
 </configuration>