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/branches/branch-2@1566966 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Aaron Myers 2014-02-11 02:49:07 +00:00
parent 7ce60ec1fa
commit b5df324d32
5 changed files with 28 additions and 3 deletions

View File

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

View File

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

View File

@ -699,4 +699,10 @@ public class NativeS3FileSystem extends FileSystem {
public Path getWorkingDirectory() {
return workingDir;
}
@Override
public String getCanonicalServiceName() {
// Does not support Token
return null;
}
}

View File

@ -54,5 +54,10 @@ public abstract class S3FileSystemContractBaseTest
assertEquals("Double default block size", newBlockSize,
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 @@ public abstract class NativeS3FileSystemContractBaseTest
store.purge("test");
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 {
FileStatus[] paths = fs.listStatus(path("/"));
assertEquals(0, paths.length);
@ -60,7 +65,7 @@ public abstract class NativeS3FileSystemContractBaseTest
assertEquals(1, paths.length);
assertEquals(path("/test"), paths[0].getPath());
}
public void testNoTrailingBackslashOnBucket() throws Exception {
assertTrue(fs.getFileStatus(new Path(fs.getUri().toString())).isDirectory());
}