HDFS-3062. Fix bug which prevented MR job submission from creating delegation tokens on an HA cluster. Contributed by Mingjie Lai.
git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/branches/branch-0.23@1301286 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
45c31a50fd
commit
741d84a09d
|
@ -213,6 +213,9 @@ Release 0.23.3 - UNRELEASED
|
|||
HDFS-3099. SecondaryNameNode does not properly initialize metrics system.
|
||||
(atm)
|
||||
|
||||
HDFS-3062. Fix bug which prevented MR job submission from creating
|
||||
delegation tokens on an HA cluster. (Mingjie Lai via todd)
|
||||
|
||||
BREAKDOWN OF HDFS-1623 SUBTASKS
|
||||
|
||||
HDFS-2179. Add fencing framework and mechanisms for NameNode HA. (todd)
|
||||
|
|
|
@ -840,4 +840,18 @@ public class DistributedFileSystem extends FileSystem {
|
|||
public void setBalancerBandwidth(long bandwidth) throws IOException {
|
||||
dfs.setBalancerBandwidth(bandwidth);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get a canonical service name for this file system. If the URI is logical,
|
||||
* the hostname part of the URI will be returned.
|
||||
* @return a service string that uniquely identifies this file system.
|
||||
*/
|
||||
@Override
|
||||
public String getCanonicalServiceName() {
|
||||
if (HAUtil.isLogicalUri(getConf(), getUri())) {
|
||||
return getUri().getHost();
|
||||
} else {
|
||||
return super.getCanonicalServiceName();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -204,6 +204,17 @@ public class TestDelegationTokensWithHA {
|
|||
assertArrayEquals(token.getIdentifier(), token2.getIdentifier());
|
||||
assertArrayEquals(token.getPassword(), token2.getPassword());
|
||||
}
|
||||
|
||||
/**
|
||||
* HDFS-3062: DistributedFileSystem.getCanonicalServiceName() throws an
|
||||
* exception if the URI is a logical URI. This bug fails the combination of
|
||||
* ha + mapred + security.
|
||||
*/
|
||||
@Test
|
||||
public void testDFSGetCanonicalServiceName() throws Exception {
|
||||
assertEquals(fs.getCanonicalServiceName(),
|
||||
HATestUtil.getLogicalUri(cluster).getHost());
|
||||
}
|
||||
|
||||
enum TokenTestAction {
|
||||
RENEW, CANCEL;
|
||||
|
|
Loading…
Reference in New Issue