|
@@ -124,6 +124,8 @@ import static org.apache.hadoop.fs.CommonConfigurationKeysPublic.FS_TRASH_INTERV
|
|
|
import static org.apache.hadoop.fs.CommonConfigurationKeysPublic.FS_TRASH_INTERVAL_KEY;
|
|
|
import static org.apache.hadoop.hdfs.DFSConfigKeys.DFS_HA_NN_NOT_BECOME_ACTIVE_IN_SAFEMODE;
|
|
|
import static org.apache.hadoop.hdfs.DFSConfigKeys.DFS_HA_NN_NOT_BECOME_ACTIVE_IN_SAFEMODE_DEFAULT;
|
|
|
+import static org.apache.hadoop.hdfs.DFSConfigKeys.DFS_IMAGE_PARALLEL_LOAD_DEFAULT;
|
|
|
+import static org.apache.hadoop.hdfs.DFSConfigKeys.DFS_IMAGE_PARALLEL_LOAD_KEY;
|
|
|
import static org.apache.hadoop.hdfs.client.HdfsClientConfigKeys.DFS_NAMENODE_RPC_PORT_DEFAULT;
|
|
|
import static org.apache.hadoop.fs.CommonConfigurationKeysPublic.HADOOP_CALLER_CONTEXT_ENABLED_KEY;
|
|
|
import static org.apache.hadoop.fs.CommonConfigurationKeysPublic.HADOOP_CALLER_CONTEXT_ENABLED_DEFAULT;
|
|
@@ -326,7 +328,8 @@ public class NameNode extends ReconfigurableBase implements
|
|
|
DFS_NAMENODE_REPLICATION_STREAMS_HARD_LIMIT_KEY,
|
|
|
DFS_NAMENODE_REPLICATION_WORK_MULTIPLIER_PER_ITERATION,
|
|
|
DFS_BLOCK_REPLICATOR_CLASSNAME_KEY,
|
|
|
- DFS_BLOCK_PLACEMENT_EC_CLASSNAME_KEY));
|
|
|
+ DFS_BLOCK_PLACEMENT_EC_CLASSNAME_KEY,
|
|
|
+ DFS_IMAGE_PARALLEL_LOAD_KEY));
|
|
|
|
|
|
private static final String USAGE = "Usage: hdfs namenode ["
|
|
|
+ StartupOption.BACKUP.getName() + "] | \n\t["
|
|
@@ -2188,6 +2191,8 @@ public class NameNode extends ReconfigurableBase implements
|
|
|
.equals(DFS_BLOCK_PLACEMENT_EC_CLASSNAME_KEY)) {
|
|
|
reconfBlockPlacementPolicy();
|
|
|
return newVal;
|
|
|
+ } else if (property.equals(DFS_IMAGE_PARALLEL_LOAD_KEY)) {
|
|
|
+ return reconfigureParallelLoad(newVal);
|
|
|
} else {
|
|
|
throw new ReconfigurationException(property, newVal, getConf().get(
|
|
|
property));
|
|
@@ -2363,6 +2368,17 @@ public class NameNode extends ReconfigurableBase implements
|
|
|
return newVal;
|
|
|
}
|
|
|
|
|
|
+ String reconfigureParallelLoad(String newVal) {
|
|
|
+ boolean enableParallelLoad;
|
|
|
+ if (newVal == null) {
|
|
|
+ enableParallelLoad = DFS_IMAGE_PARALLEL_LOAD_DEFAULT;
|
|
|
+ } else {
|
|
|
+ enableParallelLoad = Boolean.parseBoolean(newVal);
|
|
|
+ }
|
|
|
+ FSImageFormatProtobuf.refreshParallelSaveAndLoad(enableParallelLoad);
|
|
|
+ return Boolean.toString(enableParallelLoad);
|
|
|
+ }
|
|
|
+
|
|
|
@Override // ReconfigurableBase
|
|
|
protected Configuration getNewConf() {
|
|
|
return new HdfsConfiguration();
|