Author: hairong
Date: Tue Mar 17 22:23:42 2009
New Revision: 755426
URL: http://svn.apache.org/viewvc?rev=755426&view=rev
Log:
HADOOP-5259. Job with output hdfs:/user/<username>/outputpath (no authority)
fails with Wrong FS. Contributed by Doug Cutting and Koji Noguchi.
Modified:
hadoop/core/trunk/CHANGES.txt
hadoop/core/trunk/src/core/org/apache/hadoop/fs/FileSystem.java
hadoop/core/trunk/src/test/org/apache/hadoop/mapred/TestMiniMRWithDFS.java
Modified: hadoop/core/trunk/CHANGES.txt
URL:
http://svn.apache.org/viewvc/hadoop/core/trunk/CHANGES.txt?rev=755426&r1=755425&r2=755426&view=diff
==============================================================================
--- hadoop/core/trunk/CHANGES.txt (original)
+++ hadoop/core/trunk/CHANGES.txt Tue Mar 17 22:23:42 2009
@@ -1071,6 +1071,9 @@
HADOOP-5479. NameNode should not send empty block replication request to
DataNode. (hairong)
+ HADOOP-5259. Job with output hdfs:/user/<username>/outputpath (no
+ authority) fails with Wrong FS. (Doug Cutting via hairong)
+
Release 0.19.1 - 2009-02-23
IMPROVEMENTS
Modified: hadoop/core/trunk/src/core/org/apache/hadoop/fs/FileSystem.java
URL:
http://svn.apache.org/viewvc/hadoop/core/trunk/src/core/org/apache/hadoop/fs/FileSystem.java?rev=755426&r1=755425&r2=755426&view=diff
==============================================================================
--- hadoop/core/trunk/src/core/org/apache/hadoop/fs/FileSystem.java (original)
+++ hadoop/core/trunk/src/core/org/apache/hadoop/fs/FileSystem.java Tue Mar 17
22:23:42 2009
@@ -283,7 +283,15 @@
if (thatAuthority == null && // path's authority is null
thisAuthority != null) { // fs has an authority
- URI defaultUri = getDefaultUri(getConf()); // & is the default fs
+ URI defaultUri = getDefaultUri(getConf()); // & is the conf default
+ if (thisScheme.equalsIgnoreCase(defaultUri.getScheme()) &&
+ thisAuthority.equalsIgnoreCase(defaultUri.getAuthority()))
+ return;
+ try { // or the default fs's uri
+ defaultUri = get(getConf()).getUri();
+ } catch (IOException e) {
+ throw new RuntimeException(e);
+ }
if (thisScheme.equalsIgnoreCase(defaultUri.getScheme()) &&
thisAuthority.equalsIgnoreCase(defaultUri.getAuthority()))
return;
Modified:
hadoop/core/trunk/src/test/org/apache/hadoop/mapred/TestMiniMRWithDFS.java
URL:
http://svn.apache.org/viewvc/hadoop/core/trunk/src/test/org/apache/hadoop/mapred/TestMiniMRWithDFS.java?rev=755426&r1=755425&r2=755426&view=diff
==============================================================================
--- hadoop/core/trunk/src/test/org/apache/hadoop/mapred/TestMiniMRWithDFS.java
(original)
+++ hadoop/core/trunk/src/test/org/apache/hadoop/mapred/TestMiniMRWithDFS.java
Tue Mar 17 22:23:42 2009
@@ -277,6 +277,11 @@
result = launchWordCount(jobConf, inDir, outDir, input, 3, 1);
assertEquals("The\t1\nbrown\t1\nfox\t2\nhas\t1\nmany\t1\n" +
"quick\t1\nred\t1\nsilly\t1\nsox\t1\n", result.output);
+ final Path outDir2 = new Path("hdfs:/test/wc/output2");
+ jobConf.set("fs.default.name", "hdfs://localhost:" +
NameNode.DEFAULT_PORT);
+ result = launchWordCount(jobConf, inDir, outDir2, input, 3, 1);
+ assertEquals("The\t1\nbrown\t1\nfox\t2\nhas\t1\nmany\t1\n" +
+ "quick\t1\nred\t1\nsilly\t1\nsox\t1\n", result.output);
} catch (java.net.BindException be) {
LOG.info("Skip the test this time because can not start namenode on port
"
+ NameNode.DEFAULT_PORT, be);