Repository: hadoop
Updated Branches:
  refs/heads/trunk b9e0417bd -> 15eb84b37


HDFS-9301. HDFS clients can't construct HdfsConfiguration instances. 
Contributed by Mingliang Liu.


Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/15eb84b3
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/15eb84b3
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/15eb84b3

Branch: refs/heads/trunk
Commit: 15eb84b37e6c0195d59d3a29fbc5b7417bf022ff
Parents: b9e0417
Author: Haohui Mai <whe...@apache.org>
Authored: Fri Oct 23 14:50:25 2015 -0700
Committer: Haohui Mai <whe...@apache.org>
Committed: Fri Oct 23 14:53:34 2015 -0700

----------------------------------------------------------------------
 .../java/org/apache/hadoop/hdfs/DFSClient.java  |   2 +-
 .../hadoop/hdfs/DistributedFileSystem.java      |   2 +-
 .../apache/hadoop/hdfs/HdfsConfiguration.java   | 152 +++++++++++++++++++
 .../hadoop/hdfs/HdfsConfigurationLoader.java    |  44 ------
 .../hdfs/client/HdfsClientConfigKeys.java       |  53 +++++++
 hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt     |   3 +
 .../org/apache/hadoop/hdfs/DFSConfigKeys.java   |  90 +++++++----
 .../apache/hadoop/hdfs/HdfsConfiguration.java   | 149 ------------------
 8 files changed, 270 insertions(+), 225 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hadoop/blob/15eb84b3/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/DFSClient.java
----------------------------------------------------------------------
diff --git 
a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/DFSClient.java
 
b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/DFSClient.java
index 8416918..08f25f5 100644
--- 
a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/DFSClient.java
+++ 
b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/DFSClient.java
@@ -722,7 +722,7 @@ public class DFSClient implements java.io.Closeable, 
RemotePeerFactory,
     static {
       //Ensure that HDFS Configuration files are loaded before trying to use
       // the renewer.
-      HdfsConfigurationLoader.init();
+      HdfsConfiguration.init();
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/hadoop/blob/15eb84b3/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/DistributedFileSystem.java
----------------------------------------------------------------------
diff --git 
a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/DistributedFileSystem.java
 
b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/DistributedFileSystem.java
index 8ed892c..39cc42b 100644
--- 
a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/DistributedFileSystem.java
+++ 
b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/DistributedFileSystem.java
@@ -112,7 +112,7 @@ public class DistributedFileSystem extends FileSystem {
   private boolean verifyChecksum = true;
 
   static{
-    HdfsConfigurationLoader.init();
+    HdfsConfiguration.init();
   }
 
   public DistributedFileSystem() {

http://git-wip-us.apache.org/repos/asf/hadoop/blob/15eb84b3/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/HdfsConfiguration.java
----------------------------------------------------------------------
diff --git 
a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/HdfsConfiguration.java
 
b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/HdfsConfiguration.java
new file mode 100644
index 0000000..e93e6f1
--- /dev/null
+++ 
b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/HdfsConfiguration.java
@@ -0,0 +1,152 @@
+/**
+ * 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.classification.InterfaceAudience;
+import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.hdfs.client.HdfsClientConfigKeys;
+
+import static 
org.apache.hadoop.hdfs.client.HdfsClientConfigKeys.DeprecatedKeys;
+
+/**
+ * Adds deprecated keys into the configuration.
+ */
+@InterfaceAudience.Private
+public class HdfsConfiguration extends Configuration {
+  static {
+    addDeprecatedKeys();
+
+    // adds the default resources
+    Configuration.addDefaultResource("hdfs-default.xml");
+    Configuration.addDefaultResource("hdfs-site.xml");
+  }
+
+  public HdfsConfiguration() {
+    super();
+  }
+
+  public HdfsConfiguration(boolean loadDefaults) {
+    super(loadDefaults);
+  }
+
+  public HdfsConfiguration(Configuration conf) {
+    super(conf);
+  }
+
+  /**
+   * This method is here so that when invoked, HdfsConfiguration is 
class-loaded
+   * if it hasn't already been previously loaded.  Upon loading the class, the
+   * static initializer block above will be executed to add the deprecated keys
+   * and to add the default resources. It is safe for this method to be called
+   * multiple times as the static initializer block will only get invoked once.
+   *
+   * This replaces the previously, dangerous practice of other classes calling
+   * Configuration.addDefaultResource("hdfs-default.xml") directly without
+   * loading this class first, thereby skipping the key deprecation.
+   */
+  public static void init() {
+  }
+
+  private static void addDeprecatedKeys() {
+    Configuration.addDeprecations(new DeprecationDelta[]{
+        new DeprecationDelta("dfs.backup.address",
+            DeprecatedKeys.DFS_NAMENODE_BACKUP_ADDRESS_KEY),
+        new DeprecationDelta("dfs.backup.http.address",
+            DeprecatedKeys.DFS_NAMENODE_BACKUP_HTTP_ADDRESS_KEY),
+        new DeprecationDelta("dfs.balance.bandwidthPerSec",
+            DeprecatedKeys.DFS_DATANODE_BALANCE_BANDWIDTHPERSEC_KEY),
+        new DeprecationDelta("dfs.data.dir",
+            DeprecatedKeys.DFS_DATANODE_DATA_DIR_KEY),
+        new DeprecationDelta("dfs.http.address",
+            HdfsClientConfigKeys.DFS_NAMENODE_HTTP_ADDRESS_KEY),
+        new DeprecationDelta("dfs.https.address",
+            HdfsClientConfigKeys.DFS_NAMENODE_HTTPS_ADDRESS_KEY),
+        new DeprecationDelta("dfs.max.objects",
+            DeprecatedKeys.DFS_NAMENODE_MAX_OBJECTS_KEY),
+        new DeprecationDelta("dfs.name.dir",
+            DeprecatedKeys.DFS_NAMENODE_NAME_DIR_KEY),
+        new DeprecationDelta("dfs.name.dir.restore",
+            DeprecatedKeys.DFS_NAMENODE_NAME_DIR_RESTORE_KEY),
+        new DeprecationDelta("dfs.name.edits.dir",
+            DeprecatedKeys.DFS_NAMENODE_EDITS_DIR_KEY),
+        new DeprecationDelta("dfs.read.prefetch.size",
+            HdfsClientConfigKeys.Read.PREFETCH_SIZE_KEY),
+        new DeprecationDelta("dfs.safemode.extension",
+            DeprecatedKeys.DFS_NAMENODE_SAFEMODE_EXTENSION_KEY),
+        new DeprecationDelta("dfs.safemode.threshold.pct",
+            DeprecatedKeys.DFS_NAMENODE_SAFEMODE_THRESHOLD_PCT_KEY),
+        new DeprecationDelta("dfs.secondary.http.address",
+            DeprecatedKeys.DFS_NAMENODE_SECONDARY_HTTP_ADDRESS_KEY),
+        new DeprecationDelta("dfs.socket.timeout",
+            HdfsClientConfigKeys.DFS_CLIENT_SOCKET_TIMEOUT_KEY),
+        new DeprecationDelta("fs.checkpoint.dir",
+            DeprecatedKeys.DFS_NAMENODE_CHECKPOINT_DIR_KEY),
+        new DeprecationDelta("fs.checkpoint.edits.dir",
+            DeprecatedKeys.DFS_NAMENODE_CHECKPOINT_EDITS_DIR_KEY),
+        new DeprecationDelta("fs.checkpoint.period",
+            DeprecatedKeys.DFS_NAMENODE_CHECKPOINT_PERIOD_KEY),
+        new DeprecationDelta("heartbeat.recheck.interval",
+            DeprecatedKeys.DFS_NAMENODE_HEARTBEAT_RECHECK_INTERVAL_KEY),
+        new DeprecationDelta("dfs.https.client.keystore.resource",
+            DeprecatedKeys.DFS_CLIENT_HTTPS_KEYSTORE_RESOURCE_KEY),
+        new DeprecationDelta("dfs.https.need.client.auth",
+            DeprecatedKeys.DFS_CLIENT_HTTPS_NEED_AUTH_KEY),
+        new DeprecationDelta("slave.host.name",
+            DeprecatedKeys.DFS_DATANODE_HOST_NAME_KEY),
+        new DeprecationDelta("session.id",
+            DeprecatedKeys.DFS_METRICS_SESSION_ID_KEY),
+        new DeprecationDelta("dfs.access.time.precision",
+            DeprecatedKeys.DFS_NAMENODE_ACCESSTIME_PRECISION_KEY),
+        new DeprecationDelta("dfs.replication.considerLoad",
+            DeprecatedKeys.DFS_NAMENODE_REPLICATION_CONSIDERLOAD_KEY),
+        new DeprecationDelta("dfs.replication.interval",
+            DeprecatedKeys.DFS_NAMENODE_REPLICATION_INTERVAL_KEY),
+        new DeprecationDelta("dfs.replication.min",
+            DeprecatedKeys.DFS_NAMENODE_REPLICATION_MIN_KEY),
+        new DeprecationDelta("dfs.replication.pending.timeout.sec",
+            DeprecatedKeys.DFS_NAMENODE_REPLICATION_PENDING_TIMEOUT_SEC_KEY),
+        new DeprecationDelta("dfs.max-repl-streams",
+            DeprecatedKeys.DFS_NAMENODE_REPLICATION_MAX_STREAMS_KEY),
+        new DeprecationDelta("dfs.permissions",
+            DeprecatedKeys.DFS_PERMISSIONS_ENABLED_KEY),
+        new DeprecationDelta("dfs.permissions.supergroup",
+            DeprecatedKeys.DFS_PERMISSIONS_SUPERUSERGROUP_KEY),
+        new DeprecationDelta("dfs.write.packet.size",
+            HdfsClientConfigKeys.DFS_CLIENT_WRITE_PACKET_SIZE_KEY),
+        new DeprecationDelta("dfs.block.size",
+            HdfsClientConfigKeys.DFS_BLOCK_SIZE_KEY),
+        new DeprecationDelta("dfs.datanode.max.xcievers",
+            DeprecatedKeys.DFS_DATANODE_MAX_RECEIVER_THREADS_KEY),
+        new DeprecationDelta("io.bytes.per.checksum",
+            HdfsClientConfigKeys.DFS_BYTES_PER_CHECKSUM_KEY),
+        new DeprecationDelta("dfs.federation.nameservices",
+            HdfsClientConfigKeys.DFS_NAMESERVICES),
+        new DeprecationDelta("dfs.federation.nameservice.id",
+            DeprecatedKeys.DFS_NAMESERVICE_ID),
+        new DeprecationDelta("dfs.client.file-block-storage-locations.timeout",
+            HdfsClientConfigKeys.
+                DFS_CLIENT_FILE_BLOCK_STORAGE_LOCATIONS_TIMEOUT_MS),
+    });
+  }
+
+  public static void main(String[] args) {
+    init();
+    Configuration.dumpDeprecatedKeys();
+  }
+}

http://git-wip-us.apache.org/repos/asf/hadoop/blob/15eb84b3/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/HdfsConfigurationLoader.java
----------------------------------------------------------------------
diff --git 
a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/HdfsConfigurationLoader.java
 
b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/HdfsConfigurationLoader.java
deleted file mode 100644
index 4a84f06..0000000
--- 
a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/HdfsConfigurationLoader.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/**
- * 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.classification.InterfaceAudience;
-import org.apache.hadoop.conf.Configuration;
-
-/**
- * Load default HDFS configuration resources.
- */
-@InterfaceAudience.Private
-class HdfsConfigurationLoader {
-
-  static {
-    // adds the default resources
-    Configuration.addDefaultResource("hdfs-default.xml");
-    Configuration.addDefaultResource("hdfs-site.xml");
-  }
-
-  /**
-   * This method is here so that when invoked, default resources are added if
-   * they haven't already been previously loaded.  Upon loading this class, the
-   * static initializer block above will be executed to add the default
-   * resources. It is safe for this method to be called multiple times
-   * as the static initializer block will only get invoked once.
-   */
-  public static void init() {
-  }
-}

http://git-wip-us.apache.org/repos/asf/hadoop/blob/15eb84b3/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/client/HdfsClientConfigKeys.java
----------------------------------------------------------------------
diff --git 
a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/client/HdfsClientConfigKeys.java
 
b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/client/HdfsClientConfigKeys.java
index e950c10..17c3654 100644
--- 
a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/client/HdfsClientConfigKeys.java
+++ 
b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/client/HdfsClientConfigKeys.java
@@ -155,6 +155,59 @@ public interface HdfsClientConfigKeys {
   String  DFS_USER_HOME_DIR_PREFIX_KEY = "dfs.user.home.dir.prefix";
   String  DFS_USER_HOME_DIR_PREFIX_DEFAULT = "/user";
 
+  /**
+   * These are deprecated config keys to client code.
+   */
+  interface DeprecatedKeys {
+    String DFS_NAMENODE_BACKUP_ADDRESS_KEY =
+        "dfs.namenode.backup.address";
+    String DFS_NAMENODE_BACKUP_HTTP_ADDRESS_KEY =
+        "dfs.namenode.backup.http-address";
+    String DFS_DATANODE_BALANCE_BANDWIDTHPERSEC_KEY =
+        "dfs.datanode.balance.bandwidthPerSec";
+    //Following keys have no defaults
+    String DFS_DATANODE_DATA_DIR_KEY = "dfs.datanode.data.dir";
+    String DFS_NAMENODE_MAX_OBJECTS_KEY = "dfs.namenode.max.objects";
+    String DFS_NAMENODE_NAME_DIR_KEY = "dfs.namenode.name.dir";
+    String DFS_NAMENODE_NAME_DIR_RESTORE_KEY = "dfs.namenode.name.dir.restore";
+    String DFS_NAMENODE_EDITS_DIR_KEY = "dfs.namenode.edits.dir";
+    String DFS_NAMENODE_SAFEMODE_EXTENSION_KEY =
+        "dfs.namenode.safemode.extension";
+    String DFS_NAMENODE_SAFEMODE_THRESHOLD_PCT_KEY =
+        "dfs.namenode.safemode.threshold-pct";
+    String DFS_NAMENODE_SECONDARY_HTTP_ADDRESS_KEY =
+        "dfs.namenode.secondary.http-address";
+    String DFS_NAMENODE_CHECKPOINT_DIR_KEY = "dfs.namenode.checkpoint.dir";
+    String DFS_NAMENODE_CHECKPOINT_EDITS_DIR_KEY =
+        "dfs.namenode.checkpoint.edits.dir";
+    String DFS_NAMENODE_CHECKPOINT_PERIOD_KEY =
+        "dfs.namenode.checkpoint.period";
+    String DFS_NAMENODE_HEARTBEAT_RECHECK_INTERVAL_KEY =
+        "dfs.namenode.heartbeat.recheck-interval";
+    String DFS_CLIENT_HTTPS_KEYSTORE_RESOURCE_KEY =
+        "dfs.client.https.keystore.resource";
+    String DFS_CLIENT_HTTPS_NEED_AUTH_KEY = "dfs.client.https.need-auth";
+    String DFS_DATANODE_HOST_NAME_KEY = "dfs.datanode.hostname";
+    String DFS_METRICS_SESSION_ID_KEY = "dfs.metrics.session-id";
+    String DFS_NAMENODE_ACCESSTIME_PRECISION_KEY =
+        "dfs.namenode.accesstime.precision";
+    String DFS_NAMENODE_REPLICATION_CONSIDERLOAD_KEY =
+        "dfs.namenode.replication.considerLoad";
+    String DFS_NAMENODE_REPLICATION_INTERVAL_KEY =
+        "dfs.namenode.replication.interval";
+    String DFS_NAMENODE_REPLICATION_MIN_KEY = "dfs.namenode.replication.min";
+    String DFS_NAMENODE_REPLICATION_PENDING_TIMEOUT_SEC_KEY =
+        "dfs.namenode.replication.pending.timeout-sec";
+    String DFS_NAMENODE_REPLICATION_MAX_STREAMS_KEY =
+        "dfs.namenode.replication.max-streams";
+    String DFS_PERMISSIONS_ENABLED_KEY = "dfs.permissions.enabled";
+    String DFS_PERMISSIONS_SUPERUSERGROUP_KEY =
+        "dfs.permissions.superusergroup";
+    String DFS_DATANODE_MAX_RECEIVER_THREADS_KEY =
+        "dfs.datanode.max.transfer.threads";
+    String DFS_NAMESERVICE_ID = "dfs.nameservice.id";
+  }
+
   /** dfs.client.retry configuration properties */
   interface Retry {
     String PREFIX = HdfsClientConfigKeys.PREFIX + "retry.";

http://git-wip-us.apache.org/repos/asf/hadoop/blob/15eb84b3/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
----------------------------------------------------------------------
diff --git a/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt 
b/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
index e9e07d4..1641884 100644
--- a/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
+++ b/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
@@ -2126,6 +2126,9 @@ Release 2.8.0 - UNRELEASED
     HDFS-9286. HttpFs does not parse ACL syntax correctly for operation
     REMOVEACLENTRIES. (Wei-Chiu Chuang via cnauroth)
 
+    HDFS-9301. HDFS clients can't construct HdfsConfiguration instances.
+    (Mingliang Liu via wheat9)
+
 Release 2.7.2 - UNRELEASED
 
   INCOMPATIBLE CHANGES

http://git-wip-us.apache.org/repos/asf/hadoop/blob/15eb84b3/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSConfigKeys.java
----------------------------------------------------------------------
diff --git 
a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSConfigKeys.java
 
b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSConfigKeys.java
index 5f9dde0..204f9e1 100644
--- 
a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSConfigKeys.java
+++ 
b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSConfigKeys.java
@@ -78,12 +78,15 @@ public class DFSConfigKeys extends CommonConfigurationKeys {
   // HA related configuration
   public static final String  DFS_DATANODE_RESTART_REPLICA_EXPIRY_KEY = 
"dfs.datanode.restart.replica.expiration";
   public static final long    DFS_DATANODE_RESTART_REPLICA_EXPIRY_DEFAULT = 50;
-  public static final String  DFS_NAMENODE_BACKUP_ADDRESS_KEY = 
"dfs.namenode.backup.address";
+  public static final String  DFS_NAMENODE_BACKUP_ADDRESS_KEY =
+      HdfsClientConfigKeys.DeprecatedKeys.DFS_NAMENODE_BACKUP_ADDRESS_KEY;
   public static final String  DFS_NAMENODE_BACKUP_ADDRESS_DEFAULT = 
"localhost:50100";
-  public static final String  DFS_NAMENODE_BACKUP_HTTP_ADDRESS_KEY = 
"dfs.namenode.backup.http-address";
+  public static final String  DFS_NAMENODE_BACKUP_HTTP_ADDRESS_KEY =
+      HdfsClientConfigKeys.DeprecatedKeys.DFS_NAMENODE_BACKUP_HTTP_ADDRESS_KEY;
   public static final String  DFS_NAMENODE_BACKUP_HTTP_ADDRESS_DEFAULT = 
"0.0.0.0:50105";
   public static final String  DFS_NAMENODE_BACKUP_SERVICE_RPC_ADDRESS_KEY = 
"dfs.namenode.backup.dnrpc-address";
-  public static final String  DFS_DATANODE_BALANCE_BANDWIDTHPERSEC_KEY = 
"dfs.datanode.balance.bandwidthPerSec";
+  public static final String  DFS_DATANODE_BALANCE_BANDWIDTHPERSEC_KEY =
+      
HdfsClientConfigKeys.DeprecatedKeys.DFS_DATANODE_BALANCE_BANDWIDTHPERSEC_KEY;
   public static final long    DFS_DATANODE_BALANCE_BANDWIDTHPERSEC_DEFAULT = 
1024*1024;
   public static final String  
DFS_DATANODE_BALANCE_MAX_NUM_CONCURRENT_MOVES_KEY = 
"dfs.datanode.balance.max.concurrent.moves";
   public static final int     
DFS_DATANODE_BALANCE_MAX_NUM_CONCURRENT_MOVES_DEFAULT = 5;
@@ -136,11 +139,14 @@ public class DFSConfigKeys extends 
CommonConfigurationKeys {
   public static final String  DFS_NAMENODE_RPC_BIND_HOST_KEY = 
"dfs.namenode.rpc-bind-host";
   public static final String  DFS_NAMENODE_SERVICE_RPC_ADDRESS_KEY = 
"dfs.namenode.servicerpc-address";
   public static final String  DFS_NAMENODE_SERVICE_RPC_BIND_HOST_KEY = 
"dfs.namenode.servicerpc-bind-host";
-  public static final String  DFS_NAMENODE_MAX_OBJECTS_KEY = 
"dfs.namenode.max.objects";
+  public static final String  DFS_NAMENODE_MAX_OBJECTS_KEY =
+      HdfsClientConfigKeys.DeprecatedKeys.DFS_NAMENODE_MAX_OBJECTS_KEY;
   public static final long    DFS_NAMENODE_MAX_OBJECTS_DEFAULT = 0;
-  public static final String  DFS_NAMENODE_SAFEMODE_EXTENSION_KEY = 
"dfs.namenode.safemode.extension";
+  public static final String  DFS_NAMENODE_SAFEMODE_EXTENSION_KEY =
+      HdfsClientConfigKeys.DeprecatedKeys.DFS_NAMENODE_SAFEMODE_EXTENSION_KEY;
   public static final int     DFS_NAMENODE_SAFEMODE_EXTENSION_DEFAULT = 30000;
-  public static final String  DFS_NAMENODE_SAFEMODE_THRESHOLD_PCT_KEY = 
"dfs.namenode.safemode.threshold-pct";
+  public static final String  DFS_NAMENODE_SAFEMODE_THRESHOLD_PCT_KEY =
+      
HdfsClientConfigKeys.DeprecatedKeys.DFS_NAMENODE_SAFEMODE_THRESHOLD_PCT_KEY;
   public static final float   DFS_NAMENODE_SAFEMODE_THRESHOLD_PCT_DEFAULT = 
0.999f;
   // set this to a slightly smaller value than
   // DFS_NAMENODE_SAFEMODE_THRESHOLD_PCT_DEFAULT to populate
@@ -149,7 +155,8 @@ public class DFSConfigKeys extends CommonConfigurationKeys {
     "dfs.namenode.replqueue.threshold-pct";
   public static final String  DFS_NAMENODE_SAFEMODE_MIN_DATANODES_KEY = 
"dfs.namenode.safemode.min.datanodes";
   public static final int     DFS_NAMENODE_SAFEMODE_MIN_DATANODES_DEFAULT = 0;
-  public static final String  DFS_NAMENODE_SECONDARY_HTTP_ADDRESS_KEY = 
"dfs.namenode.secondary.http-address";
+  public static final String  DFS_NAMENODE_SECONDARY_HTTP_ADDRESS_KEY =
+      
HdfsClientConfigKeys.DeprecatedKeys.DFS_NAMENODE_SECONDARY_HTTP_ADDRESS_KEY;
   public static final String  DFS_NAMENODE_SECONDARY_HTTP_ADDRESS_DEFAULT = 
"0.0.0.0:50090";
   public static final String  DFS_NAMENODE_SECONDARY_HTTPS_ADDRESS_KEY = 
"dfs.namenode.secondary.https-address";
   public static final String  DFS_NAMENODE_SECONDARY_HTTPS_ADDRESS_DEFAULT = 
"0.0.0.0:50091";
@@ -157,7 +164,8 @@ public class DFSConfigKeys extends CommonConfigurationKeys {
   public static final double  DFS_NAMENODE_CHECKPOINT_QUIET_MULTIPLIER_DEFAULT 
= 1.5;
   public static final String  DFS_NAMENODE_CHECKPOINT_CHECK_PERIOD_KEY = 
"dfs.namenode.checkpoint.check.period";
   public static final long    DFS_NAMENODE_CHECKPOINT_CHECK_PERIOD_DEFAULT = 
60;
-  public static final String  DFS_NAMENODE_CHECKPOINT_PERIOD_KEY = 
"dfs.namenode.checkpoint.period";
+  public static final String  DFS_NAMENODE_CHECKPOINT_PERIOD_KEY =
+      HdfsClientConfigKeys.DeprecatedKeys.DFS_NAMENODE_CHECKPOINT_PERIOD_KEY;
   public static final long    DFS_NAMENODE_CHECKPOINT_PERIOD_DEFAULT = 3600;
   public static final String  DFS_NAMENODE_CHECKPOINT_TXNS_KEY = 
"dfs.namenode.checkpoint.txns";
   public static final long    DFS_NAMENODE_CHECKPOINT_TXNS_DEFAULT = 1000000;
@@ -165,25 +173,32 @@ public class DFSConfigKeys extends 
CommonConfigurationKeys {
   public static final int     DFS_NAMENODE_CHECKPOINT_MAX_RETRIES_DEFAULT = 3;
   public static final String  
DFS_NAMENODE_MISSING_CHECKPOINT_PERIODS_BEFORE_SHUTDOWN_KEY = 
"dfs.namenode.missing.checkpoint.periods.before.shutdown";
   public static final int     
DFS_NAMENODE_MISSING_CHECKPOINT_PERIODS_BEFORE_SHUTDONW_DEFAULT = 3;
-  public static final String  DFS_NAMENODE_HEARTBEAT_RECHECK_INTERVAL_KEY = 
"dfs.namenode.heartbeat.recheck-interval";
+  public static final String  DFS_NAMENODE_HEARTBEAT_RECHECK_INTERVAL_KEY =
+      
HdfsClientConfigKeys.DeprecatedKeys.DFS_NAMENODE_HEARTBEAT_RECHECK_INTERVAL_KEY;
   public static final int     DFS_NAMENODE_HEARTBEAT_RECHECK_INTERVAL_DEFAULT 
= 5*60*1000;
   public static final String  DFS_NAMENODE_TOLERATE_HEARTBEAT_MULTIPLIER_KEY = 
"dfs.namenode.tolerate.heartbeat.multiplier";
   public static final int     
DFS_NAMENODE_TOLERATE_HEARTBEAT_MULTIPLIER_DEFAULT = 4;
-  public static final String  DFS_NAMENODE_ACCESSTIME_PRECISION_KEY = 
"dfs.namenode.accesstime.precision";
+  public static final String  DFS_NAMENODE_ACCESSTIME_PRECISION_KEY =
+      
HdfsClientConfigKeys.DeprecatedKeys.DFS_NAMENODE_ACCESSTIME_PRECISION_KEY;
   public static final long    DFS_NAMENODE_ACCESSTIME_PRECISION_DEFAULT = 
3600000;
-  public static final String  DFS_NAMENODE_REPLICATION_CONSIDERLOAD_KEY = 
"dfs.namenode.replication.considerLoad";
+  public static final String  DFS_NAMENODE_REPLICATION_CONSIDERLOAD_KEY =
+      
HdfsClientConfigKeys.DeprecatedKeys.DFS_NAMENODE_REPLICATION_CONSIDERLOAD_KEY;
   public static final boolean DFS_NAMENODE_REPLICATION_CONSIDERLOAD_DEFAULT = 
true;
-  public static final String  DFS_NAMENODE_REPLICATION_INTERVAL_KEY = 
"dfs.namenode.replication.interval";
+  public static final String  DFS_NAMENODE_REPLICATION_INTERVAL_KEY =
+      
HdfsClientConfigKeys.DeprecatedKeys.DFS_NAMENODE_REPLICATION_INTERVAL_KEY;
   public static final int     DFS_NAMENODE_REPLICATION_INTERVAL_DEFAULT = 3;
-  public static final String  DFS_NAMENODE_REPLICATION_MIN_KEY = 
"dfs.namenode.replication.min";
+  public static final String  DFS_NAMENODE_REPLICATION_MIN_KEY =
+      HdfsClientConfigKeys.DeprecatedKeys.DFS_NAMENODE_REPLICATION_MIN_KEY;
   public static final int     DFS_NAMENODE_REPLICATION_MIN_DEFAULT = 1;
   public static final String  DFS_NAMENODE_STRIPE_MIN_KEY = 
"dfs.namenode.stripe.min";
   public static final int     DFS_NAMENODE_STRIPE_MIN_DEFAULT = 1;
   public static final String  DFS_NAMENODE_SAFEMODE_REPLICATION_MIN_KEY =
       "dfs.namenode.safemode.replication.min";
-  public static final String  DFS_NAMENODE_REPLICATION_PENDING_TIMEOUT_SEC_KEY 
= "dfs.namenode.replication.pending.timeout-sec";
+  public static final String  DFS_NAMENODE_REPLICATION_PENDING_TIMEOUT_SEC_KEY 
=
+      
HdfsClientConfigKeys.DeprecatedKeys.DFS_NAMENODE_REPLICATION_PENDING_TIMEOUT_SEC_KEY;
   public static final int     
DFS_NAMENODE_REPLICATION_PENDING_TIMEOUT_SEC_DEFAULT = -1;
-  public static final String  DFS_NAMENODE_REPLICATION_MAX_STREAMS_KEY = 
"dfs.namenode.replication.max-streams";
+  public static final String  DFS_NAMENODE_REPLICATION_MAX_STREAMS_KEY =
+      
HdfsClientConfigKeys.DeprecatedKeys.DFS_NAMENODE_REPLICATION_MAX_STREAMS_KEY;
   public static final int     DFS_NAMENODE_REPLICATION_MAX_STREAMS_DEFAULT = 2;
   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;
@@ -200,9 +215,11 @@ public class DFSConfigKeys extends CommonConfigurationKeys 
{
   @Deprecated
   public static final String  DFS_WEBHDFS_USER_PATTERN_DEFAULT =
       HdfsClientConfigKeys.DFS_WEBHDFS_USER_PATTERN_DEFAULT;
-  public static final String  DFS_PERMISSIONS_ENABLED_KEY = 
"dfs.permissions.enabled";
+  public static final String  DFS_PERMISSIONS_ENABLED_KEY =
+      HdfsClientConfigKeys.DeprecatedKeys.DFS_PERMISSIONS_ENABLED_KEY;
   public static final boolean DFS_PERMISSIONS_ENABLED_DEFAULT = true;
-  public static final String  DFS_PERMISSIONS_SUPERUSERGROUP_KEY = 
"dfs.permissions.superusergroup";
+  public static final String  DFS_PERMISSIONS_SUPERUSERGROUP_KEY =
+      HdfsClientConfigKeys.DeprecatedKeys.DFS_PERMISSIONS_SUPERUSERGROUP_KEY;
   public static final String  DFS_PERMISSIONS_SUPERUSERGROUP_DEFAULT = 
"supergroup";
   public static final String  DFS_NAMENODE_ACLS_ENABLED_KEY = 
"dfs.namenode.acls.enabled";
   public static final boolean DFS_NAMENODE_ACLS_ENABLED_DEFAULT = false;
@@ -216,7 +233,8 @@ public class DFSConfigKeys extends CommonConfigurationKeys {
   public static final String  DFS_SERVER_HTTPS_KEYSTORE_LOCATION_KEY = 
"ssl.server.keystore.location";
   public static final String  DFS_SERVER_HTTPS_TRUSTSTORE_LOCATION_KEY = 
"ssl.server.truststore.location";
   public static final String  DFS_SERVER_HTTPS_TRUSTSTORE_PASSWORD_KEY = 
"ssl.server.truststore.password";
-  public static final String  DFS_NAMENODE_NAME_DIR_RESTORE_KEY = 
"dfs.namenode.name.dir.restore";
+  public static final String  DFS_NAMENODE_NAME_DIR_RESTORE_KEY =
+      HdfsClientConfigKeys.DeprecatedKeys.DFS_NAMENODE_NAME_DIR_RESTORE_KEY;
   public static final boolean DFS_NAMENODE_NAME_DIR_RESTORE_DEFAULT = false;
   public static final String  DFS_NAMENODE_SUPPORT_ALLOW_FORMAT_KEY = 
"dfs.namenode.support.allow.format";
   public static final boolean DFS_NAMENODE_SUPPORT_ALLOW_FORMAT_DEFAULT = true;
@@ -343,26 +361,33 @@ public class DFSConfigKeys extends 
CommonConfigurationKeys {
   public static final int DFS_UPGRADE_DOMAIN_FACTOR_DEFAULT = 
DFS_REPLICATION_DEFAULT;
 
   //Following keys have no defaults
-  public static final String  DFS_DATANODE_DATA_DIR_KEY = 
"dfs.datanode.data.dir";
+  public static final String  DFS_DATANODE_DATA_DIR_KEY =
+      HdfsClientConfigKeys.DeprecatedKeys.DFS_DATANODE_DATA_DIR_KEY;
   public static final int     DFS_NAMENODE_HTTPS_PORT_DEFAULT =
       HdfsClientConfigKeys.DFS_NAMENODE_HTTPS_PORT_DEFAULT;
   public static final String  DFS_NAMENODE_HTTPS_ADDRESS_KEY =
       HdfsClientConfigKeys.DFS_NAMENODE_HTTPS_ADDRESS_KEY;
   public static final String  DFS_NAMENODE_HTTPS_BIND_HOST_KEY = 
"dfs.namenode.https-bind-host";
   public static final String  DFS_NAMENODE_HTTPS_ADDRESS_DEFAULT = "0.0.0.0:" 
+ DFS_NAMENODE_HTTPS_PORT_DEFAULT;
-  public static final String  DFS_NAMENODE_NAME_DIR_KEY = 
"dfs.namenode.name.dir";
-  public static final String  DFS_NAMENODE_EDITS_DIR_KEY = 
"dfs.namenode.edits.dir";
+  public static final String  DFS_NAMENODE_NAME_DIR_KEY =
+      HdfsClientConfigKeys.DeprecatedKeys.DFS_NAMENODE_NAME_DIR_KEY;
+  public static final String  DFS_NAMENODE_EDITS_DIR_KEY =
+      HdfsClientConfigKeys.DeprecatedKeys.DFS_NAMENODE_EDITS_DIR_KEY;
   public static final String  DFS_NAMENODE_SHARED_EDITS_DIR_KEY = 
"dfs.namenode.shared.edits.dir";
   public static final String  DFS_NAMENODE_EDITS_PLUGIN_PREFIX = 
"dfs.namenode.edits.journal-plugin";
   public static final String  DFS_NAMENODE_EDITS_DIR_REQUIRED_KEY = 
"dfs.namenode.edits.dir.required";
   public static final String  DFS_NAMENODE_EDITS_DIR_DEFAULT = 
"file:///tmp/hadoop/dfs/name";
-  public static final String  DFS_METRICS_SESSION_ID_KEY = 
"dfs.metrics.session-id";
+  public static final String  DFS_METRICS_SESSION_ID_KEY =
+      HdfsClientConfigKeys.DeprecatedKeys.DFS_METRICS_SESSION_ID_KEY;
   public static final String  DFS_METRICS_PERCENTILES_INTERVALS_KEY = 
"dfs.metrics.percentiles.intervals";
-  public static final String  DFS_DATANODE_HOST_NAME_KEY = 
"dfs.datanode.hostname";
+  public static final String  DFS_DATANODE_HOST_NAME_KEY =
+      HdfsClientConfigKeys.DeprecatedKeys.DFS_DATANODE_HOST_NAME_KEY;
   public static final String  DFS_NAMENODE_HOSTS_KEY = "dfs.namenode.hosts";
   public static final String  DFS_NAMENODE_HOSTS_EXCLUDE_KEY = 
"dfs.namenode.hosts.exclude";
-  public static final String  DFS_NAMENODE_CHECKPOINT_DIR_KEY = 
"dfs.namenode.checkpoint.dir";
-  public static final String  DFS_NAMENODE_CHECKPOINT_EDITS_DIR_KEY = 
"dfs.namenode.checkpoint.edits.dir";
+  public static final String  DFS_NAMENODE_CHECKPOINT_DIR_KEY =
+      HdfsClientConfigKeys.DeprecatedKeys.DFS_NAMENODE_CHECKPOINT_DIR_KEY;
+  public static final String  DFS_NAMENODE_CHECKPOINT_EDITS_DIR_KEY =
+      
HdfsClientConfigKeys.DeprecatedKeys.DFS_NAMENODE_CHECKPOINT_EDITS_DIR_KEY;
   public static final String  DFS_HOSTS = "dfs.hosts";
   public static final String  DFS_HOSTS_EXCLUDE = "dfs.hosts.exclude";
   public static final String  DFS_NAMENODE_AUDIT_LOGGERS_KEY = 
"dfs.namenode.audit.loggers";
@@ -435,7 +460,8 @@ public class DFSConfigKeys extends CommonConfigurationKeys {
   public static final String  DFS_DATANODE_HTTP_ADDRESS_KEY = 
"dfs.datanode.http.address";
   public static final int     DFS_DATANODE_HTTP_DEFAULT_PORT = 50075;
   public static final String  DFS_DATANODE_HTTP_ADDRESS_DEFAULT = "0.0.0.0:" + 
DFS_DATANODE_HTTP_DEFAULT_PORT;
-  public static final String  DFS_DATANODE_MAX_RECEIVER_THREADS_KEY = 
"dfs.datanode.max.transfer.threads";
+  public static final String  DFS_DATANODE_MAX_RECEIVER_THREADS_KEY =
+      
HdfsClientConfigKeys.DeprecatedKeys.DFS_DATANODE_MAX_RECEIVER_THREADS_KEY;
   public static final int     DFS_DATANODE_MAX_RECEIVER_THREADS_DEFAULT = 4096;
   public static final String  DFS_DATANODE_SCAN_PERIOD_HOURS_KEY = 
"dfs.datanode.scan.period.hours";
   public static final int     DFS_DATANODE_SCAN_PERIOD_HOURS_DEFAULT = 21 * 
24;  // 3 weeks.
@@ -581,8 +607,10 @@ public class DFSConfigKeys extends CommonConfigurationKeys 
{
   public static final int     DFS_NAMENODE_NAME_CACHE_THRESHOLD_DEFAULT = 10;
   public static final String  DFS_NAMENODE_LEGACY_OIV_IMAGE_DIR_KEY = 
"dfs.namenode.legacy-oiv-image.dir";
 
-  public static final String  DFS_NAMESERVICES = "dfs.nameservices";
-  public static final String  DFS_NAMESERVICE_ID = "dfs.nameservice.id";
+  public static final String  DFS_NAMESERVICES =
+      HdfsClientConfigKeys.DFS_NAMESERVICES;
+  public static final String  DFS_NAMESERVICE_ID =
+      HdfsClientConfigKeys.DeprecatedKeys.DFS_NAMESERVICE_ID;
   public static final String  DFS_INTERNAL_NAMESERVICES_KEY = 
"dfs.internal.nameservices";
   public static final String  DFS_NAMENODE_RESOURCE_CHECK_INTERVAL_KEY = 
"dfs.namenode.resource.check.interval";
   public static final int     DFS_NAMENODE_RESOURCE_CHECK_INTERVAL_DEFAULT = 
5000;
@@ -1130,9 +1158,11 @@ public class DFSConfigKeys extends 
CommonConfigurationKeys {
   public static final long    DFS_CLIENT_DATANODE_RESTART_TIMEOUT_DEFAULT =
       HdfsClientConfigKeys.DFS_CLIENT_DATANODE_RESTART_TIMEOUT_DEFAULT;
 
-  public static final String  DFS_CLIENT_HTTPS_KEYSTORE_RESOURCE_KEY = 
"dfs.client.https.keystore.resource";
+  public static final String  DFS_CLIENT_HTTPS_KEYSTORE_RESOURCE_KEY =
+      
HdfsClientConfigKeys.DeprecatedKeys.DFS_CLIENT_HTTPS_KEYSTORE_RESOURCE_KEY;
   public static final String  DFS_CLIENT_HTTPS_KEYSTORE_RESOURCE_DEFAULT = 
"ssl-client.xml";
-  public static final String  DFS_CLIENT_HTTPS_NEED_AUTH_KEY = 
"dfs.client.https.need-auth";
+  public static final String  DFS_CLIENT_HTTPS_NEED_AUTH_KEY =
+      HdfsClientConfigKeys.DeprecatedKeys.DFS_CLIENT_HTTPS_NEED_AUTH_KEY;
   public static final boolean DFS_CLIENT_HTTPS_NEED_AUTH_DEFAULT = false;
 
   // Much code in hdfs is not yet updated to use these keys.

http://git-wip-us.apache.org/repos/asf/hadoop/blob/15eb84b3/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/HdfsConfiguration.java
----------------------------------------------------------------------
diff --git 
a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/HdfsConfiguration.java
 
b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/HdfsConfiguration.java
deleted file mode 100644
index b6bf6cd..0000000
--- 
a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/HdfsConfiguration.java
+++ /dev/null
@@ -1,149 +0,0 @@
-/**
- * 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.classification.InterfaceAudience;
-import org.apache.hadoop.conf.Configuration;
-import org.apache.hadoop.hdfs.client.HdfsClientConfigKeys;
-
-/**
- * Adds deprecated keys into the configuration.
- */
-@InterfaceAudience.Private
-public class HdfsConfiguration extends Configuration {
-  static {
-    addDeprecatedKeys();
-
-    // adds the default resources
-    HdfsConfigurationLoader.init();
-  }
-
-  public HdfsConfiguration() {
-    super();
-  }
-
-  public HdfsConfiguration(boolean loadDefaults) {
-    super(loadDefaults);
-  }
-
-  public HdfsConfiguration(Configuration conf) {
-    super(conf);
-  }
-  
-  /**
-   * This method is here so that when invoked, HdfsConfiguration is 
class-loaded if
-   * it hasn't already been previously loaded.  Upon loading the class, the 
static 
-   * initializer block above will be executed to add the deprecated keys and 
to add
-   * the default resources via {@link HdfsConfigurationLoader#init()}. It is
-   * safe for this method to be called multiple times as the static initializer
-   * block will only get invoked once.
-   *
-   * This replaces the previously, dangerous practice of other classes calling
-   * Configuration.addDefaultResource("hdfs-default.xml") directly without 
loading 
-   * HdfsConfiguration class first, thereby skipping the key deprecation
-   */
-  public static void init() {
-  }
-
-  private static void addDeprecatedKeys() {
-    Configuration.addDeprecations(new DeprecationDelta[] {
-      new DeprecationDelta("dfs.backup.address",
-        DFSConfigKeys.DFS_NAMENODE_BACKUP_ADDRESS_KEY),
-      new DeprecationDelta("dfs.backup.http.address",
-        DFSConfigKeys.DFS_NAMENODE_BACKUP_HTTP_ADDRESS_KEY),
-      new DeprecationDelta("dfs.balance.bandwidthPerSec",
-        DFSConfigKeys.DFS_DATANODE_BALANCE_BANDWIDTHPERSEC_KEY),
-      new DeprecationDelta("dfs.data.dir",
-        DFSConfigKeys.DFS_DATANODE_DATA_DIR_KEY),
-      new DeprecationDelta("dfs.http.address",
-        DFSConfigKeys.DFS_NAMENODE_HTTP_ADDRESS_KEY),
-      new DeprecationDelta("dfs.https.address",
-        DFSConfigKeys.DFS_NAMENODE_HTTPS_ADDRESS_KEY),
-      new DeprecationDelta("dfs.max.objects",
-        DFSConfigKeys.DFS_NAMENODE_MAX_OBJECTS_KEY),
-      new DeprecationDelta("dfs.name.dir",
-        DFSConfigKeys.DFS_NAMENODE_NAME_DIR_KEY),
-      new DeprecationDelta("dfs.name.dir.restore",
-        DFSConfigKeys.DFS_NAMENODE_NAME_DIR_RESTORE_KEY),
-      new DeprecationDelta("dfs.name.edits.dir",
-        DFSConfigKeys.DFS_NAMENODE_EDITS_DIR_KEY),
-      new DeprecationDelta("dfs.read.prefetch.size",
-        HdfsClientConfigKeys.Read.PREFETCH_SIZE_KEY),
-      new DeprecationDelta("dfs.safemode.extension",
-        DFSConfigKeys.DFS_NAMENODE_SAFEMODE_EXTENSION_KEY),
-      new DeprecationDelta("dfs.safemode.threshold.pct",
-        DFSConfigKeys.DFS_NAMENODE_SAFEMODE_THRESHOLD_PCT_KEY),
-      new DeprecationDelta("dfs.secondary.http.address",
-        DFSConfigKeys.DFS_NAMENODE_SECONDARY_HTTP_ADDRESS_KEY),
-      new DeprecationDelta("dfs.socket.timeout",
-        HdfsClientConfigKeys.DFS_CLIENT_SOCKET_TIMEOUT_KEY),
-      new DeprecationDelta("fs.checkpoint.dir",
-        DFSConfigKeys.DFS_NAMENODE_CHECKPOINT_DIR_KEY),
-      new DeprecationDelta("fs.checkpoint.edits.dir",
-        DFSConfigKeys.DFS_NAMENODE_CHECKPOINT_EDITS_DIR_KEY),
-      new DeprecationDelta("fs.checkpoint.period",
-        DFSConfigKeys.DFS_NAMENODE_CHECKPOINT_PERIOD_KEY),
-      new DeprecationDelta("heartbeat.recheck.interval",
-        DFSConfigKeys.DFS_NAMENODE_HEARTBEAT_RECHECK_INTERVAL_KEY),
-      new DeprecationDelta("dfs.https.client.keystore.resource",
-        DFSConfigKeys.DFS_CLIENT_HTTPS_KEYSTORE_RESOURCE_KEY),
-      new DeprecationDelta("dfs.https.need.client.auth",
-        DFSConfigKeys.DFS_CLIENT_HTTPS_NEED_AUTH_KEY),
-      new DeprecationDelta("slave.host.name",
-        DFSConfigKeys.DFS_DATANODE_HOST_NAME_KEY),
-      new DeprecationDelta("session.id",
-        DFSConfigKeys.DFS_METRICS_SESSION_ID_KEY),
-      new DeprecationDelta("dfs.access.time.precision",
-        DFSConfigKeys.DFS_NAMENODE_ACCESSTIME_PRECISION_KEY),
-      new DeprecationDelta("dfs.replication.considerLoad",
-        DFSConfigKeys.DFS_NAMENODE_REPLICATION_CONSIDERLOAD_KEY),
-      new DeprecationDelta("dfs.replication.interval",
-        DFSConfigKeys.DFS_NAMENODE_REPLICATION_INTERVAL_KEY),
-      new DeprecationDelta("dfs.replication.min",
-        DFSConfigKeys.DFS_NAMENODE_REPLICATION_MIN_KEY),
-      new DeprecationDelta("dfs.replication.pending.timeout.sec",
-        DFSConfigKeys.DFS_NAMENODE_REPLICATION_PENDING_TIMEOUT_SEC_KEY),
-      new DeprecationDelta("dfs.max-repl-streams",
-        DFSConfigKeys.DFS_NAMENODE_REPLICATION_MAX_STREAMS_KEY),
-      new DeprecationDelta("dfs.permissions",
-        DFSConfigKeys.DFS_PERMISSIONS_ENABLED_KEY),
-      new DeprecationDelta("dfs.permissions.supergroup",
-        DFSConfigKeys.DFS_PERMISSIONS_SUPERUSERGROUP_KEY),
-      new DeprecationDelta("dfs.write.packet.size",
-        HdfsClientConfigKeys.DFS_CLIENT_WRITE_PACKET_SIZE_KEY),
-      new DeprecationDelta("dfs.block.size",
-        DFSConfigKeys.DFS_BLOCK_SIZE_KEY),
-      new DeprecationDelta("dfs.datanode.max.xcievers",
-        DFSConfigKeys.DFS_DATANODE_MAX_RECEIVER_THREADS_KEY),
-      new DeprecationDelta("io.bytes.per.checksum",
-        HdfsClientConfigKeys.DFS_BYTES_PER_CHECKSUM_KEY),
-      new DeprecationDelta("dfs.federation.nameservices",
-        DFSConfigKeys.DFS_NAMESERVICES),
-      new DeprecationDelta("dfs.federation.nameservice.id",
-        DFSConfigKeys.DFS_NAMESERVICE_ID),
-      new DeprecationDelta("dfs.client.file-block-storage-locations.timeout",
-        
HdfsClientConfigKeys.DFS_CLIENT_FILE_BLOCK_STORAGE_LOCATIONS_TIMEOUT_MS),
-    });
-  }
-
-  public static void main(String[] args) {
-    init();
-    Configuration.dumpDeprecatedKeys();
-  }
-}

Reply via email to