HADOOP-10326. M/R jobs can not access S3 if Kerberos is enabled. Contributed by bc Wong.

git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/trunk@1566965 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Aaron Myers 2014-02-11 02:47:05 +00:00
parent 7fce641c49
commit 5c7b27bae0
5 changed files with 28 additions and 3 deletions

View File

@ -331,6 +331,9 @@ Release 2.4.0 - UNRELEASED
HADOOP-10330. TestFrameDecoder fails if it cannot bind port 12345. HADOOP-10330. TestFrameDecoder fails if it cannot bind port 12345.
(Arpit Agarwal) (Arpit Agarwal)
HADOOP-10326. M/R jobs can not access S3 if Kerberos is enabled. (bc Wong
via atm)
Release 2.3.0 - UNRELEASED Release 2.3.0 - UNRELEASED
INCOMPATIBLE CHANGES INCOMPATIBLE CHANGES

View File

@ -443,6 +443,12 @@ public long getDefaultBlockSize() {
return getConf().getLong("fs.s3.block.size", 64 * 1024 * 1024); return getConf().getLong("fs.s3.block.size", 64 * 1024 * 1024);
} }
@Override
public String getCanonicalServiceName() {
// Does not support Token
return null;
}
// diagnostic methods // diagnostic methods
void dump() throws IOException { void dump() throws IOException {

View File

@ -733,4 +733,10 @@ public void setWorkingDirectory(Path newDir) {
public Path getWorkingDirectory() { public Path getWorkingDirectory() {
return workingDir; return workingDir;
} }
@Override
public String getCanonicalServiceName() {
// Does not support Token
return null;
}
} }

View File

@ -54,5 +54,10 @@ public void testBlockSize() throws Exception {
assertEquals("Double default block size", newBlockSize, assertEquals("Double default block size", newBlockSize,
fs.getFileStatus(file).getBlockSize()); fs.getFileStatus(file).getBlockSize());
} }
public void testCanonicalName() throws Exception {
assertNull("s3 doesn't support security token and shouldn't have canonical name",
fs.getCanonicalServiceName());
}
} }

View File

@ -48,7 +48,12 @@ protected void tearDown() throws Exception {
store.purge("test"); store.purge("test");
super.tearDown(); super.tearDown();
} }
public void testCanonicalName() throws Exception {
assertNull("s3n doesn't support security token and shouldn't have canonical name",
fs.getCanonicalServiceName());
}
public void testListStatusForRoot() throws Exception { public void testListStatusForRoot() throws Exception {
FileStatus[] paths = fs.listStatus(path("/")); FileStatus[] paths = fs.listStatus(path("/"));
assertEquals("Root directory is not empty; ", 0, paths.length); assertEquals("Root directory is not empty; ", 0, paths.length);
@ -60,7 +65,7 @@ public void testListStatusForRoot() throws Exception {
assertEquals(1, paths.length); assertEquals(1, paths.length);
assertEquals(path("/test"), paths[0].getPath()); assertEquals(path("/test"), paths[0].getPath());
} }
public void testNoTrailingBackslashOnBucket() throws Exception { public void testNoTrailingBackslashOnBucket() throws Exception {
assertTrue(fs.getFileStatus(new Path(fs.getUri().toString())).isDirectory()); assertTrue(fs.getFileStatus(new Path(fs.getUri().toString())).isDirectory());
} }