Return-Path: X-Original-To: apmail-hadoop-hdfs-commits-archive@minotaur.apache.org Delivered-To: apmail-hadoop-hdfs-commits-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 482D3C420 for ; Thu, 4 Jul 2013 03:37:21 +0000 (UTC) Received: (qmail 8622 invoked by uid 500); 4 Jul 2013 03:37:17 -0000 Delivered-To: apmail-hadoop-hdfs-commits-archive@hadoop.apache.org Received: (qmail 8562 invoked by uid 500); 4 Jul 2013 03:37:16 -0000 Mailing-List: contact hdfs-commits-help@hadoop.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: hdfs-dev@hadoop.apache.org Delivered-To: mailing list hdfs-commits@hadoop.apache.org Received: (qmail 8554 invoked by uid 99); 4 Jul 2013 03:37:14 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 04 Jul 2013 03:37:14 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 04 Jul 2013 03:37:12 +0000 Received: from eris.apache.org (localhost [127.0.0.1]) by eris.apache.org (Postfix) with ESMTP id 640F12388900; Thu, 4 Jul 2013 03:36:52 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1499632 - in /hadoop/common/branches/branch-2.1.0-beta/hadoop-hdfs-project/hadoop-hdfs: ./ CHANGES.txt src/main/java/ src/main/java/org/apache/hadoop/hdfs/web/WebHdfsFileSystem.java src/test/java/org/apache/hadoop/hdfs/web/TestWebHdfsUrl.java Date: Thu, 04 Jul 2013 03:36:52 -0000 To: hdfs-commits@hadoop.apache.org From: szetszwo@apache.org X-Mailer: svnmailer-1.0.9 Message-Id: <20130704033652.640F12388900@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: szetszwo Date: Thu Jul 4 03:36:51 2013 New Revision: 1499632 URL: http://svn.apache.org/r1499632 Log: svn merge -c 1498962 from trunk for HDFS-4943. WebHdfsFileSystem does not work when original file path has encoded chars. Modified: hadoop/common/branches/branch-2.1.0-beta/hadoop-hdfs-project/hadoop-hdfs/ (props changed) hadoop/common/branches/branch-2.1.0-beta/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt hadoop/common/branches/branch-2.1.0-beta/hadoop-hdfs-project/hadoop-hdfs/src/main/java/ (props changed) hadoop/common/branches/branch-2.1.0-beta/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/web/WebHdfsFileSystem.java hadoop/common/branches/branch-2.1.0-beta/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/web/TestWebHdfsUrl.java Propchange: hadoop/common/branches/branch-2.1.0-beta/hadoop-hdfs-project/hadoop-hdfs/ ------------------------------------------------------------------------------ Merged /hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs:r1498962 Modified: hadoop/common/branches/branch-2.1.0-beta/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-2.1.0-beta/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt?rev=1499632&r1=1499631&r2=1499632&view=diff ============================================================================== --- hadoop/common/branches/branch-2.1.0-beta/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt (original) +++ hadoop/common/branches/branch-2.1.0-beta/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt Thu Jul 4 03:36:51 2013 @@ -409,6 +409,9 @@ Release 2.1.0-beta - 2013-07-02 HDFS-4944. WebHDFS cannot create a file path containing characters that must be URI-encoded, such as space. (cnauroth) + HDFS-4943. WebHdfsFileSystem does not work when original file path has + encoded chars. (Jerry He via szetszwo) + BREAKDOWN OF HDFS-347 SUBTASKS AND RELATED JIRAS HDFS-4353. Encapsulate connections to peers in Peer and PeerServer classes. Propchange: hadoop/common/branches/branch-2.1.0-beta/hadoop-hdfs-project/hadoop-hdfs/src/main/java/ ------------------------------------------------------------------------------ Merged /hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/main/java:r1498962 Modified: hadoop/common/branches/branch-2.1.0-beta/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/web/WebHdfsFileSystem.java URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-2.1.0-beta/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/web/WebHdfsFileSystem.java?rev=1499632&r1=1499631&r2=1499632&view=diff ============================================================================== --- hadoop/common/branches/branch-2.1.0-beta/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/web/WebHdfsFileSystem.java (original) +++ hadoop/common/branches/branch-2.1.0-beta/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/web/WebHdfsFileSystem.java Thu Jul 4 03:36:51 2013 @@ -391,7 +391,7 @@ public class WebHdfsFileSystem extends F final Param... parameters) throws IOException { //initialize URI path and query final String path = PATH_PREFIX - + (fspath == null? "/": makeQualified(fspath).toUri().getPath()); + + (fspath == null? "/": makeQualified(fspath).toUri().getRawPath()); final String query = op.toQueryString() + Param.toSortedString("&", getAuthParameters(op)) + Param.toSortedString("&", parameters); Modified: hadoop/common/branches/branch-2.1.0-beta/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/web/TestWebHdfsUrl.java URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-2.1.0-beta/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/web/TestWebHdfsUrl.java?rev=1499632&r1=1499631&r2=1499632&view=diff ============================================================================== --- hadoop/common/branches/branch-2.1.0-beta/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/web/TestWebHdfsUrl.java (original) +++ hadoop/common/branches/branch-2.1.0-beta/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/web/TestWebHdfsUrl.java Thu Jul 4 03:36:51 2013 @@ -26,6 +26,7 @@ import static org.mockito.Mockito.mock; import java.io.IOException; import java.net.URI; +import java.net.URISyntaxException; import java.net.URL; import java.util.Arrays; @@ -55,6 +56,22 @@ public class TestWebHdfsUrl { } @Test(timeout=60000) + public void testEncodedPathUrl() throws IOException, URISyntaxException{ + Configuration conf = new Configuration(); + + final WebHdfsFileSystem webhdfs = (WebHdfsFileSystem) FileSystem.get( + uri, conf); + + // Construct a file path that contains percentage-encoded string + String pathName = "/hdtest010%2C60020%2C1371000602151.1371058984668"; + Path fsPath = new Path(pathName); + URL encodedPathUrl = webhdfs.toUrl(PutOpParam.Op.CREATE, fsPath); + // We should get back the original file path after cycling back and decoding + Assert.assertEquals(WebHdfsFileSystem.PATH_PREFIX + pathName, + encodedPathUrl.toURI().getPath()); + } + + @Test(timeout=60000) public void testSimpleAuthParamsInUrl() throws IOException { Configuration conf = new Configuration(); @@ -380,4 +397,4 @@ public class TestWebHdfsUrl { return super.getDefaultPort(); } } -} \ No newline at end of file +}