Merge -r 1335084:1335085 from trunk to branch-2. Fixes: HADOOP-8328

git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/branches/branch-2@1335087 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Thomas White 2012-05-07 16:04:16 +00:00
parent 7602ae886f
commit af074299c2
4 changed files with 30 additions and 1 deletions

View File

@ -294,6 +294,9 @@ Release 2.0.0 - UNRELEASED
HADOOP-8349. ViewFS doesn't work when the root of a file system is mounted. (atm) HADOOP-8349. ViewFS doesn't work when the root of a file system is mounted. (atm)
HADOOP-8328. Duplicate FileSystem Statistics object for 'file' scheme.
(tomwhite)
BREAKDOWN OF HADOOP-7454 SUBTASKS BREAKDOWN OF HADOOP-7454 SUBTASKS
HADOOP-7455. HA: Introduce HA Service Protocol Interface. (suresh) HADOOP-7455. HA: Introduce HA Service Protocol Interface. (suresh)

View File

@ -53,7 +53,7 @@ import org.apache.hadoop.util.Progressable;
public class FilterFileSystem extends FileSystem { public class FilterFileSystem extends FileSystem {
protected FileSystem fs; protected FileSystem fs;
private String swapScheme; protected String swapScheme;
/* /*
* so that extending classes can define it * so that extending classes can define it

View File

@ -40,6 +40,17 @@ public class LocalFileSystem extends ChecksumFileSystem {
this(new RawLocalFileSystem()); this(new RawLocalFileSystem());
} }
@Override
public void initialize(URI name, Configuration conf) throws IOException {
if (fs.getConf() == null) {
fs.initialize(name, conf);
}
String scheme = name.getScheme();
if (!scheme.equals(fs.getUri().getScheme())) {
swapScheme = scheme;
}
}
/** /**
* Return the protocol scheme for the FileSystem. * Return the protocol scheme for the FileSystem.
* <p/> * <p/>

View File

@ -18,11 +18,14 @@
package org.apache.hadoop.fs; package org.apache.hadoop.fs;
import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem.Statistics;
import static org.apache.hadoop.fs.FileSystemTestHelper.*; import static org.apache.hadoop.fs.FileSystemTestHelper.*;
import java.io.*; import java.io.*;
import static org.junit.Assert.*; import static org.junit.Assert.*;
import org.junit.Before; import org.junit.Before;
import org.junit.Test; import org.junit.Test;
@ -233,4 +236,16 @@ public class TestLocalFileSystem {
assertTrue("Did not delete file", fs.delete(file1)); assertTrue("Did not delete file", fs.delete(file1));
assertTrue("Did not delete non-empty dir", fs.delete(dir1)); assertTrue("Did not delete non-empty dir", fs.delete(dir1));
} }
@Test
public void testStatistics() throws Exception {
FileSystem.getLocal(new Configuration());
int fileSchemeCount = 0;
for (Statistics stats : FileSystem.getAllStatistics()) {
if (stats.getScheme().equals("file")) {
fileSchemeCount++;
}
}
assertEquals(1, fileSchemeCount);
}
} }