This is an automated email from the ASF dual-hosted git repository. elserj pushed a commit to branch branch-2.3 in repository https://gitbox.apache.org/repos/asf/hbase.git
The following commit(s) were added to refs/heads/branch-2.3 by this push: new 5bf4a1a HBASE-25449 'dfs.client.read.shortcircuit' should not be set in hbase-default.xml 5bf4a1a is described below commit 5bf4a1a3791d06ceabee918e4eaa801266f90a7f Author: 申胜利 <48829688+shenshen...@users.noreply.github.com> AuthorDate: Tue Jan 12 09:06:13 2021 -0500 HBASE-25449 'dfs.client.read.shortcircuit' should not be set in hbase-default.xml Revert of the revert -- re-applying HBASE-25449 with a change of renaming the test hdfs XML configuration file as it was adversely affecting tests using MiniDFS This reverts commit c218e576fe54df208e277365f1ac24f993f2a4b1. Co-authored-by: Josh Elser <els...@apache.org> Signed-off-by: Peter Somogyi <psomo...@apache.org> Signed-off-by: Michael Stack <st...@apache.org> Signed-off-by: Duo Zhang <zhang...@apache.org> --- hbase-common/src/main/resources/hbase-default.xml | 4 +-- .../hadoop/hbase/TestHBaseConfiguration.java | 17 +++++++++ .../src/test/resources/hdfs-scr-disabled.xml | 42 ++++++++++++++++++++++ .../src/test/resources/hdfs-scr-enabled.xml | 42 ++++++++++++++++++++++ 4 files changed, 103 insertions(+), 2 deletions(-) diff --git a/hbase-common/src/main/resources/hbase-default.xml b/hbase-common/src/main/resources/hbase-default.xml index 6f84eba..62cf647 100644 --- a/hbase-common/src/main/resources/hbase-default.xml +++ b/hbase-common/src/main/resources/hbase-default.xml @@ -1437,7 +1437,7 @@ possible configurations would overwhelm and obscure the important. </property> <property> <name>dfs.client.read.shortcircuit</name> - <value>false</value> + <value></value> <description> If set to true, this configuration parameter enables short-circuit local reads. @@ -1445,7 +1445,7 @@ possible configurations would overwhelm and obscure the important. </property> <property> <name>dfs.domain.socket.path</name> - <value>none</value> + <value></value> <description> This is a path to a UNIX domain socket that will be used for communication between the DataNode and local HDFS clients, if diff --git a/hbase-common/src/test/java/org/apache/hadoop/hbase/TestHBaseConfiguration.java b/hbase-common/src/test/java/org/apache/hadoop/hbase/TestHBaseConfiguration.java index 6a0b428..ffa94ba 100644 --- a/hbase-common/src/test/java/org/apache/hadoop/hbase/TestHBaseConfiguration.java +++ b/hbase-common/src/test/java/org/apache/hadoop/hbase/TestHBaseConfiguration.java @@ -116,6 +116,23 @@ public class TestHBaseConfiguration { Assert.assertTrue(User.isHBaseSecurityEnabled(conf)); } + @Test + public void testGetConfigOfShortcircuitRead() throws Exception { + Configuration conf = HBaseConfiguration.create(); + Configuration.addDefaultResource("hdfs-scr-disabled.xml"); + assertEquals("hdfs-scr-disabled.xml", + conf.getPropertySources("dfs.client.read.shortcircuit")[0]); + assertEquals("false", conf.get("dfs.client.read.shortcircuit")); + assertNull(conf.get("dfs.domain.socket.path")); + Configuration.addDefaultResource("hdfs-scr-enabled.xml"); + assertEquals("hdfs-scr-enabled.xml", + conf.getPropertySources("dfs.client.read.shortcircuit")[0]); + assertEquals("hdfs-scr-enabled.xml", + conf.getPropertySources("dfs.domain.socket.path")[0]); + assertEquals("true", conf.get("dfs.client.read.shortcircuit")); + assertEquals("/var/lib/hadoop-hdfs/dn_socket", conf.get("dfs.domain.socket.path")); + } + private static class ReflectiveCredentialProviderClient { public static final String HADOOP_CRED_PROVIDER_FACTORY_CLASS_NAME = "org.apache.hadoop.security.alias.JavaKeyStoreProvider$Factory"; diff --git a/hbase-common/src/test/resources/hdfs-scr-disabled.xml b/hbase-common/src/test/resources/hdfs-scr-disabled.xml new file mode 100644 index 0000000..fdb3c36 --- /dev/null +++ b/hbase-common/src/test/resources/hdfs-scr-disabled.xml @@ -0,0 +1,42 @@ +<?xml version="1.0"?> +<?xml-stylesheet type="text/xsl" href="configuration.xsl"?> +<!-- +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +--> + +<configuration> + <property> + <name>dfs.client.read.shortcircuit</name> + <value>false</value> + <description> + If set to true, this configuration parameter enables short-circuit local + reads. + </description> + </property> + <property> + <name>dfs.domain.socket.path</name> + <value></value> + <description> + Optional. This is a path to a UNIX domain socket that will be used for + communication between the DataNode and local HDFS clients. + If the string "_PORT" is present in this path, it will be replaced by the + TCP port of the DataNode. + </description> + </property> +</configuration> diff --git a/hbase-common/src/test/resources/hdfs-scr-enabled.xml b/hbase-common/src/test/resources/hdfs-scr-enabled.xml new file mode 100644 index 0000000..8594494 --- /dev/null +++ b/hbase-common/src/test/resources/hdfs-scr-enabled.xml @@ -0,0 +1,42 @@ +<?xml version="1.0"?> +<?xml-stylesheet type="text/xsl" href="configuration.xsl"?> +<!-- +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +--> + +<configuration> + <property> + <name>dfs.client.read.shortcircuit</name> + <value>true</value> + <description> + If set to true, this configuration parameter enables short-circuit local + reads. + </description> + </property> + <property> + <name>dfs.domain.socket.path</name> + <value>/var/lib/hadoop-hdfs/dn_socket</value> + <description> + Optional. This is a path to a UNIX domain socket that will be used for + communication between the DataNode and local HDFS clients. + If the string "_PORT" is present in this path, it will be replaced by the + TCP port of the DataNode. + </description> + </property> +</configuration>