HDFS-8101. DFSClient use of non-constant DFSConfigKeys pulls in WebHDFS classes at runtime. Contributed by Sean Busbey.
(cherry picked from commit 3fe61e0bb0
)
This commit is contained in:
parent
6d1cb34221
commit
edf2f52d6d
|
@ -88,6 +88,9 @@ Release 2.8.0 - UNRELEASED
|
|||
|
||||
HDFS-7979. Initialize block report IDs with a random number. (wang)
|
||||
|
||||
HDFS-8101. DFSClient use of non-constant DFSConfigKeys pulls in WebHDFS
|
||||
classes at runtime. (Sean Busbey via atm)
|
||||
|
||||
OPTIMIZATIONS
|
||||
|
||||
HDFS-8026. Trace FSOutputSummer#writeChecksumChunks rather than
|
||||
|
|
|
@ -25,7 +25,6 @@ import org.apache.hadoop.fs.CommonConfigurationKeys;
|
|||
import org.apache.hadoop.hdfs.client.HdfsClientConfigKeys;
|
||||
import org.apache.hadoop.hdfs.server.blockmanagement.BlockPlacementPolicyDefault;
|
||||
import org.apache.hadoop.hdfs.server.datanode.fsdataset.impl.RamDiskReplicaLruTracker;
|
||||
import org.apache.hadoop.hdfs.web.AuthFilter;
|
||||
import org.apache.hadoop.http.HttpConfig;
|
||||
|
||||
/**
|
||||
|
@ -156,7 +155,12 @@ public class DFSConfigKeys extends CommonConfigurationKeys {
|
|||
public static final String DFS_NAMENODE_REPLICATION_STREAMS_HARD_LIMIT_KEY = "dfs.namenode.replication.max-streams-hard-limit";
|
||||
public static final int DFS_NAMENODE_REPLICATION_STREAMS_HARD_LIMIT_DEFAULT = 4;
|
||||
public static final String DFS_WEBHDFS_AUTHENTICATION_FILTER_KEY = "dfs.web.authentication.filter";
|
||||
public static final String DFS_WEBHDFS_AUTHENTICATION_FILTER_DEFAULT = AuthFilter.class.getName();
|
||||
/* Phrased as below to avoid javac inlining as a constant, to match the behavior when
|
||||
this was AuthFilter.class.getName(). Note that if you change the import for AuthFilter, you
|
||||
need to update the literal here as well as TestDFSConfigKeys.
|
||||
*/
|
||||
public static final String DFS_WEBHDFS_AUTHENTICATION_FILTER_DEFAULT =
|
||||
"org.apache.hadoop.hdfs.web.AuthFilter".toString();
|
||||
public static final String DFS_WEBHDFS_ENABLED_KEY = "dfs.webhdfs.enabled";
|
||||
public static final boolean DFS_WEBHDFS_ENABLED_DEFAULT = true;
|
||||
public static final String DFS_WEBHDFS_USER_PATTERN_KEY = "dfs.webhdfs.user.provider.user.pattern";
|
||||
|
|
|
@ -0,0 +1,37 @@
|
|||
/**
|
||||
* 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.
|
||||
*/
|
||||
package org.apache.hadoop.hdfs;
|
||||
|
||||
import org.apache.hadoop.hdfs.web.AuthFilter;
|
||||
|
||||
import org.junit.Assert;
|
||||
import org.junit.Test;
|
||||
|
||||
public class TestDFSConfigKeys {
|
||||
|
||||
/**
|
||||
* Make sure we keep the String literal up to date with what we'd get by calling
|
||||
* class.getName.
|
||||
*/
|
||||
@Test
|
||||
public void testStringLiteralDefaultWebFilter() {
|
||||
Assert.assertEquals("The default webhdfs auth filter should make the FQCN of AuthFilter.",
|
||||
AuthFilter.class.getName(), DFSConfigKeys.DFS_WEBHDFS_AUTHENTICATION_FILTER_DEFAULT);
|
||||
}
|
||||
|
||||
}
|
Loading…
Reference in New Issue