This is an automated email from the ASF dual-hosted git repository. vinayakumarb pushed a commit to branch HDFS-13891 in repository https://gitbox.apache.org/repos/asf/hadoop.git
The following commit(s) were added to refs/heads/HDFS-13891 by this push: new 12911fa HDFS-14193. RBF: Inconsistency with the Default Namespace. Contributed by Ayush Saxena. 12911fa is described below commit 12911fa80e9056ddb22d85462e85e58a72681e06 Author: Vinayakumar B <vinayakum...@apache.org> AuthorDate: Wed Jan 16 18:06:17 2019 +0530 HDFS-14193. RBF: Inconsistency with the Default Namespace. Contributed by Ayush Saxena. --- .../federation/resolver/MountTableResolver.java | 27 ++++-------------- .../resolver/TestInitializeMountTableResolver.java | 32 +++++++--------------- 2 files changed, 16 insertions(+), 43 deletions(-) diff --git a/hadoop-hdfs-project/hadoop-hdfs-rbf/src/main/java/org/apache/hadoop/hdfs/server/federation/resolver/MountTableResolver.java b/hadoop-hdfs-project/hadoop-hdfs-rbf/src/main/java/org/apache/hadoop/hdfs/server/federation/resolver/MountTableResolver.java index 9e69840..da58551 100644 --- a/hadoop-hdfs-project/hadoop-hdfs-rbf/src/main/java/org/apache/hadoop/hdfs/server/federation/resolver/MountTableResolver.java +++ b/hadoop-hdfs-project/hadoop-hdfs-rbf/src/main/java/org/apache/hadoop/hdfs/server/federation/resolver/MountTableResolver.java @@ -17,8 +17,6 @@ */ package org.apache.hadoop.hdfs.server.federation.resolver; -import static org.apache.hadoop.hdfs.client.HdfsClientConfigKeys.DFS_NAMESERVICES; -import static org.apache.hadoop.hdfs.client.HdfsClientConfigKeys.DeprecatedKeys.DFS_NAMESERVICE_ID; import static org.apache.hadoop.hdfs.server.federation.router.RBFConfigKeys.DFS_ROUTER_DEFAULT_NAMESERVICE; import static org.apache.hadoop.hdfs.server.federation.router.RBFConfigKeys.DFS_ROUTER_DEFAULT_NAMESERVICE_ENABLE; import static org.apache.hadoop.hdfs.server.federation.router.RBFConfigKeys.DFS_ROUTER_DEFAULT_NAMESERVICE_ENABLE_DEFAULT; @@ -50,8 +48,6 @@ import java.util.concurrent.locks.ReentrantReadWriteLock; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.Path; -import org.apache.hadoop.hdfs.DFSUtil; -import org.apache.hadoop.hdfs.DFSUtilClient; import org.apache.hadoop.hdfs.server.federation.resolver.order.DestinationOrder; import org.apache.hadoop.hdfs.server.federation.router.Router; import org.apache.hadoop.hdfs.server.federation.store.MountTableStore; @@ -163,33 +159,22 @@ public class MountTableResolver * @param conf Configuration for this resolver. */ private void initDefaultNameService(Configuration conf) { - this.defaultNameService = conf.get( - DFS_ROUTER_DEFAULT_NAMESERVICE, - DFSUtil.getNamenodeNameServiceId(conf)); - this.defaultNSEnable = conf.getBoolean( DFS_ROUTER_DEFAULT_NAMESERVICE_ENABLE, DFS_ROUTER_DEFAULT_NAMESERVICE_ENABLE_DEFAULT); - if (defaultNameService == null) { - LOG.warn( - "{} and {} is not set. Fallback to {} as the default name service.", - DFS_ROUTER_DEFAULT_NAMESERVICE, DFS_NAMESERVICE_ID, DFS_NAMESERVICES); - Collection<String> nsIds = DFSUtilClient.getNameServiceIds(conf); - if (nsIds.isEmpty()) { - this.defaultNameService = ""; - } else { - this.defaultNameService = nsIds.iterator().next(); - } + if (!this.defaultNSEnable) { + LOG.warn("Default name service is disabled."); + return; } + this.defaultNameService = conf.get(DFS_ROUTER_DEFAULT_NAMESERVICE, ""); if (this.defaultNameService.equals("")) { this.defaultNSEnable = false; LOG.warn("Default name service is not set."); } else { - String enable = this.defaultNSEnable ? "enabled" : "disabled"; - LOG.info("Default name service: {}, {} to read or write", - this.defaultNameService, enable); + LOG.info("Default name service: {}, enabled to read or write", + this.defaultNameService); } } diff --git a/hadoop-hdfs-project/hadoop-hdfs-rbf/src/test/java/org/apache/hadoop/hdfs/server/federation/resolver/TestInitializeMountTableResolver.java b/hadoop-hdfs-project/hadoop-hdfs-rbf/src/test/java/org/apache/hadoop/hdfs/server/federation/resolver/TestInitializeMountTableResolver.java index 5db7531..8a22ade 100644 --- a/hadoop-hdfs-project/hadoop-hdfs-rbf/src/test/java/org/apache/hadoop/hdfs/server/federation/resolver/TestInitializeMountTableResolver.java +++ b/hadoop-hdfs-project/hadoop-hdfs-rbf/src/test/java/org/apache/hadoop/hdfs/server/federation/resolver/TestInitializeMountTableResolver.java @@ -23,7 +23,9 @@ import org.junit.Test; import static org.apache.hadoop.hdfs.DFSConfigKeys.DFS_NAMESERVICE_ID; import static org.apache.hadoop.hdfs.client.HdfsClientConfigKeys.DFS_NAMESERVICES; import static org.apache.hadoop.hdfs.server.federation.router.RBFConfigKeys.DFS_ROUTER_DEFAULT_NAMESERVICE; +import static org.apache.hadoop.hdfs.server.federation.router.RBFConfigKeys.DFS_ROUTER_DEFAULT_NAMESERVICE_ENABLE; import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; /** * Test {@link MountTableResolver} initialization. @@ -43,40 +45,26 @@ public class TestInitializeMountTableResolver { conf.set(DFS_ROUTER_DEFAULT_NAMESERVICE, ""); MountTableResolver mountTable = new MountTableResolver(conf); assertEquals("", mountTable.getDefaultNamespace()); + assertFalse("Default NS should be disabled if default NS is set empty", + mountTable.isDefaultNSEnable()); } @Test public void testRouterDefaultNameservice() { Configuration conf = new Configuration(); - conf.set(DFS_ROUTER_DEFAULT_NAMESERVICE, "router_ns"); // this is priority - conf.set(DFS_NAMESERVICE_ID, "ns_id"); - conf.set(DFS_NAMESERVICES, "nss"); + conf.set(DFS_ROUTER_DEFAULT_NAMESERVICE, "router_ns"); MountTableResolver mountTable = new MountTableResolver(conf); assertEquals("router_ns", mountTable.getDefaultNamespace()); } + // Default NS should be empty if configured false. @Test - public void testNameserviceID() { + public void testRouterDefaultNameserviceDisabled() { Configuration conf = new Configuration(); - conf.set(DFS_NAMESERVICE_ID, "ns_id"); // this is priority + conf.setBoolean(DFS_ROUTER_DEFAULT_NAMESERVICE_ENABLE, false); + conf.set(DFS_NAMESERVICE_ID, "ns_id"); conf.set(DFS_NAMESERVICES, "nss"); MountTableResolver mountTable = new MountTableResolver(conf); - assertEquals("ns_id", mountTable.getDefaultNamespace()); - } - - @Test - public void testSingleNameservices() { - Configuration conf = new Configuration(); - conf.set(DFS_NAMESERVICES, "ns1"); - MountTableResolver mountTable = new MountTableResolver(conf); - assertEquals("ns1", mountTable.getDefaultNamespace()); - } - - @Test - public void testMultipleNameservices() { - Configuration conf = new Configuration(); - conf.set(DFS_NAMESERVICES, "ns1,ns2"); - MountTableResolver mountTable = new MountTableResolver(conf); - assertEquals("ns1", mountTable.getDefaultNamespace()); + assertEquals("", mountTable.getDefaultNamespace()); } } \ No newline at end of file --------------------------------------------------------------------- To unsubscribe, e-mail: common-commits-unsubscr...@hadoop.apache.org For additional commands, e-mail: common-commits-h...@hadoop.apache.org