HDFS-3351. NameNode#initializeGenericKeys should always set fs.defaultFS regardless of whether HA or Federation is enabled. Contributed by Aaron T. Myers.
git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/trunk@1333299 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
cbc2424290
commit
470b1197be
|
@ -589,6 +589,9 @@ Release 2.0.0 - UNRELEASED
|
|||
HDFS-3330. If GetImageServlet throws an Error or RTE, response should not
|
||||
have HTTP "OK" status. (todd)
|
||||
|
||||
HDFS-3351. NameNode#initializeGenericKeys should always set fs.defaultFS
|
||||
regardless of whether HA or Federation is enabled. (atm)
|
||||
|
||||
BREAKDOWN OF HDFS-1623 SUBTASKS
|
||||
|
||||
HDFS-2179. Add fencing framework and mechanisms for NameNode HA. (todd)
|
||||
|
|
|
@ -1130,20 +1130,18 @@ public class NameNode {
|
|||
*/
|
||||
public static void initializeGenericKeys(Configuration conf,
|
||||
String nameserviceId, String namenodeId) {
|
||||
if ((nameserviceId == null || nameserviceId.isEmpty()) &&
|
||||
(namenodeId == null || namenodeId.isEmpty())) {
|
||||
return;
|
||||
}
|
||||
if ((nameserviceId != null && !nameserviceId.isEmpty()) ||
|
||||
(namenodeId != null && !namenodeId.isEmpty())) {
|
||||
if (nameserviceId != null) {
|
||||
conf.set(DFS_FEDERATION_NAMESERVICE_ID, nameserviceId);
|
||||
}
|
||||
if (namenodeId != null) {
|
||||
conf.set(DFS_HA_NAMENODE_ID_KEY, namenodeId);
|
||||
}
|
||||
|
||||
if (nameserviceId != null) {
|
||||
conf.set(DFS_FEDERATION_NAMESERVICE_ID, nameserviceId);
|
||||
DFSUtil.setGenericConf(conf, nameserviceId, namenodeId,
|
||||
NAMESERVICE_SPECIFIC_KEYS);
|
||||
}
|
||||
if (namenodeId != null) {
|
||||
conf.set(DFS_HA_NAMENODE_ID_KEY, namenodeId);
|
||||
}
|
||||
|
||||
DFSUtil.setGenericConf(conf, nameserviceId, namenodeId,
|
||||
NAMESERVICE_SPECIFIC_KEYS);
|
||||
if (conf.get(DFS_NAMENODE_RPC_ADDRESS_KEY) != null) {
|
||||
URI defaultUri = URI.create(HdfsConstants.HDFS_URI_SCHEME + "://"
|
||||
+ conf.get(DFS_NAMENODE_RPC_ADDRESS_KEY));
|
||||
|
|
|
@ -319,6 +319,25 @@ public class TestDFSUtil {
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Ensure that fs.defaultFS is set in the configuration even if neither HA nor
|
||||
* Federation is enabled.
|
||||
*
|
||||
* Regression test for HDFS-3351.
|
||||
*/
|
||||
@Test
|
||||
public void testConfModificationNoFederationOrHa() {
|
||||
final HdfsConfiguration conf = new HdfsConfiguration();
|
||||
String nsId = null;
|
||||
String nnId = null;
|
||||
|
||||
conf.set(DFS_NAMENODE_RPC_ADDRESS_KEY, "localhost:1234");
|
||||
|
||||
assertFalse("hdfs://localhost:1234".equals(conf.get(FS_DEFAULT_NAME_KEY)));
|
||||
NameNode.initializeGenericKeys(conf, nsId, nnId);
|
||||
assertEquals("hdfs://localhost:1234", conf.get(FS_DEFAULT_NAME_KEY));
|
||||
}
|
||||
|
||||
/**
|
||||
* Regression test for HDFS-2934.
|
||||
*/
|
||||
|
|
Loading…
Reference in New Issue