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-8328. Duplicate FileSystem Statistics object for 'file' scheme.
(tomwhite)
BREAKDOWN OF HADOOP-7454 SUBTASKS
HADOOP-7455. HA: Introduce HA Service Protocol Interface. (suresh)

View File

@ -53,7 +53,7 @@
public class FilterFileSystem extends FileSystem {
protected FileSystem fs;
private String swapScheme;
protected String swapScheme;
/*
* so that extending classes can define it

View File

@ -39,6 +39,17 @@ public class LocalFileSystem extends ChecksumFileSystem {
public LocalFileSystem() {
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.

View File

@ -18,11 +18,14 @@
package org.apache.hadoop.fs;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem.Statistics;
import static org.apache.hadoop.fs.FileSystemTestHelper.*;
import java.io.*;
import static org.junit.Assert.*;
import org.junit.Before;
import org.junit.Test;
@ -233,4 +236,16 @@ public void testBasicDelete() throws IOException {
assertTrue("Did not delete file", fs.delete(file1));
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);
}
}