Author: jlowe Date: Mon Oct 1 21:24:24 2012 New Revision: 1392622 URL: http://svn.apache.org/viewvc?rev=1392622&view=rev Log: svn merge -c 1331007 FIXES: HADOOP-8310. FileContext#checkPath should handle URIs with no port. Contributed by Aaron T. Myers.
Added: hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/TestAfsCheckPath.java - copied, changed from r1331007, hadoop/common/trunk/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/TestAfsCheckPath.java Modified: hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common/CHANGES.txt hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/AbstractFileSystem.java 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=1392622&r1=1392621&r2=1392622&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 Mon Oct 1 21:24:24 2012 @@ -34,6 +34,8 @@ Release 0.23.5 - UNRELEASED HADOOP-8775. MR2 distcp permits non-positive value to -bandwidth option which causes job never to complete. (Sandy Ryza via atm) + HADOOP-8310. FileContext#checkPath should handle URIs with no port. (atm) + Release 0.23.4 - UNRELEASED INCOMPATIBLE CHANGES Modified: hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/AbstractFileSystem.java URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/AbstractFileSystem.java?rev=1392622&r1=1392621&r2=1392622&view=diff ============================================================================== --- hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/AbstractFileSystem.java (original) +++ hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/AbstractFileSystem.java Mon Oct 1 21:24:24 2012 @@ -352,20 +352,23 @@ public abstract class AbstractFileSystem } } String thisScheme = this.getUri().getScheme(); - String thisAuthority = this.getUri().getAuthority(); + String thisHost = this.getUri().getHost(); + String thatHost = uri.getHost(); - // Schemes and authorities must match. + // Schemes and hosts must match. // Allow for null Authority for file:/// if (!thisScheme.equalsIgnoreCase(thatScheme) || - (thisAuthority != null && - !thisAuthority.equalsIgnoreCase(thatAuthority)) || - (thisAuthority == null && thatAuthority != null)) { + (thisHost != null && + !thisHost.equalsIgnoreCase(thatHost)) || + (thisHost == null && thatHost != null)) { throw new InvalidPathException("Wrong FS: " + path + ", expected: " + this.getUri()); } + // Ports must match, unless this FS instance is using the default port, in + // which case the port may be omitted from the given URI int thisPort = this.getUri().getPort(); - int thatPort = path.toUri().getPort(); + int thatPort = uri.getPort(); if (thatPort == -1) { // -1 => defaultPort of Uri scheme thatPort = this.getUriDefaultPort(); } Copied: hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/TestAfsCheckPath.java (from r1331007, hadoop/common/trunk/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/TestAfsCheckPath.java) URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/TestAfsCheckPath.java?p2=hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/TestAfsCheckPath.java&p1=hadoop/common/trunk/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/TestAfsCheckPath.java&r1=1331007&r2=1392622&rev=1392622&view=diff ============================================================================== --- hadoop/common/trunk/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/TestAfsCheckPath.java (original) +++ hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/TestAfsCheckPath.java Mon Oct 1 21:24:24 2012 @@ -24,6 +24,7 @@ import java.net.URISyntaxException; import java.util.EnumSet; import org.apache.hadoop.fs.permission.FsPermission; +import org.apache.hadoop.fs.Options.ChecksumOpt; import org.apache.hadoop.security.AccessControlException; import org.apache.hadoop.util.Progressable; import org.junit.Test; @@ -76,7 +77,7 @@ public class TestAfsCheckPath { @Override public FSDataOutputStream createInternal(Path f, EnumSet<CreateFlag> flag, FsPermission absolutePermission, int bufferSize, short replication, - long blockSize, Progressable progress, int bytesPerChecksum, + long blockSize, Progressable progress, ChecksumOpt checksumOpt, boolean createParent) throws IOException { // deliberately empty return null;