HDFS-11060. make DEFAULT_MAX_CORRUPT_FILEBLOCKS_RETURNED configurable. Contributed by Lantao Jin.
(cherry picked from commit e95c5e9f62
)
This commit is contained in:
parent
830ef12af8
commit
964f3454d1
|
@ -238,6 +238,9 @@ public class DFSConfigKeys extends CommonConfigurationKeys {
|
||||||
public static final int DFS_NAMENODE_MAINTENANCE_REPLICATION_MIN_DEFAULT
|
public static final int DFS_NAMENODE_MAINTENANCE_REPLICATION_MIN_DEFAULT
|
||||||
= 1;
|
= 1;
|
||||||
|
|
||||||
|
public static final String DFS_NAMENODE_MAX_CORRUPT_FILE_BLOCKS_RETURNED_KEY = "dfs.namenode.max-corrupt-file-blocks-returned";
|
||||||
|
public static final int DFS_NAMENODE_MAX_CORRUPT_FILE_BLOCKS_RETURNED_DEFAULT = 100;
|
||||||
|
|
||||||
public static final String DFS_NAMENODE_REPLICATION_MAX_STREAMS_KEY =
|
public static final String DFS_NAMENODE_REPLICATION_MAX_STREAMS_KEY =
|
||||||
HdfsClientConfigKeys.DeprecatedKeys.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 int DFS_NAMENODE_REPLICATION_MAX_STREAMS_DEFAULT = 2;
|
||||||
|
|
|
@ -425,7 +425,7 @@ public class FSNamesystem implements Namesystem, FSNamesystemMBean,
|
||||||
public static final Log auditLog = LogFactory.getLog(
|
public static final Log auditLog = LogFactory.getLog(
|
||||||
FSNamesystem.class.getName() + ".audit");
|
FSNamesystem.class.getName() + ".audit");
|
||||||
|
|
||||||
static final int DEFAULT_MAX_CORRUPT_FILEBLOCKS_RETURNED = 100;
|
private final int maxCorruptFileBlocksReturn;
|
||||||
static int BLOCK_DELETION_INCREMENT = 1000;
|
static int BLOCK_DELETION_INCREMENT = 1000;
|
||||||
private final boolean isPermissionEnabled;
|
private final boolean isPermissionEnabled;
|
||||||
private final UserGroupInformation fsOwner;
|
private final UserGroupInformation fsOwner;
|
||||||
|
@ -831,6 +831,10 @@ public class FSNamesystem implements Namesystem, FSNamesystemMBean,
|
||||||
DFSConfigKeys.DFS_NAMENODE_FILE_CLOSE_NUM_COMMITTED_ALLOWED_KEY,
|
DFSConfigKeys.DFS_NAMENODE_FILE_CLOSE_NUM_COMMITTED_ALLOWED_KEY,
|
||||||
DFSConfigKeys.DFS_NAMENODE_FILE_CLOSE_NUM_COMMITTED_ALLOWED_DEFAULT);
|
DFSConfigKeys.DFS_NAMENODE_FILE_CLOSE_NUM_COMMITTED_ALLOWED_DEFAULT);
|
||||||
|
|
||||||
|
this.maxCorruptFileBlocksReturn = conf.getInt(
|
||||||
|
DFSConfigKeys.DFS_NAMENODE_MAX_CORRUPT_FILE_BLOCKS_RETURNED_KEY,
|
||||||
|
DFSConfigKeys.DFS_NAMENODE_MAX_CORRUPT_FILE_BLOCKS_RETURNED_DEFAULT);
|
||||||
|
|
||||||
this.dtpReplaceDatanodeOnFailure = ReplaceDatanodeOnFailure.get(conf);
|
this.dtpReplaceDatanodeOnFailure = ReplaceDatanodeOnFailure.get(conf);
|
||||||
|
|
||||||
this.standbyShouldCheckpoint = conf.getBoolean(
|
this.standbyShouldCheckpoint = conf.getBoolean(
|
||||||
|
@ -5497,7 +5501,7 @@ public class FSNamesystem implements Namesystem, FSNamesystemMBean,
|
||||||
if (src.startsWith(path)){
|
if (src.startsWith(path)){
|
||||||
corruptFiles.add(new CorruptFileBlockInfo(src, blk));
|
corruptFiles.add(new CorruptFileBlockInfo(src, blk));
|
||||||
count++;
|
count++;
|
||||||
if (count >= DEFAULT_MAX_CORRUPT_FILEBLOCKS_RETURNED)
|
if (count >= maxCorruptFileBlocksReturn)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -612,6 +612,15 @@
|
||||||
</description>
|
</description>
|
||||||
</property>
|
</property>
|
||||||
|
|
||||||
|
<property>
|
||||||
|
<name>dfs.namenode.max-corrupt-file-blocks-returned</name>
|
||||||
|
<value>100</value>
|
||||||
|
<description>
|
||||||
|
The maximum number of corrupt file blocks listed by NameNode Web UI,
|
||||||
|
JMX and other client request.
|
||||||
|
</description>
|
||||||
|
</property>
|
||||||
|
|
||||||
<property>
|
<property>
|
||||||
<name>dfs.blocksize</name>
|
<name>dfs.blocksize</name>
|
||||||
<value>134217728</value>
|
<value>134217728</value>
|
||||||
|
|
|
@ -452,7 +452,7 @@ public class TestListCorruptFileBlocks {
|
||||||
cluster = new MiniDFSCluster.Builder(conf).build();
|
cluster = new MiniDFSCluster.Builder(conf).build();
|
||||||
FileSystem fs = cluster.getFileSystem();
|
FileSystem fs = cluster.getFileSystem();
|
||||||
final int maxCorruptFileBlocks =
|
final int maxCorruptFileBlocks =
|
||||||
FSNamesystem.DEFAULT_MAX_CORRUPT_FILEBLOCKS_RETURNED;
|
conf.getInt(DFSConfigKeys.DFS_NAMENODE_MAX_CORRUPT_FILE_BLOCKS_RETURNED_KEY, 100);
|
||||||
|
|
||||||
// create 110 files with one block each
|
// create 110 files with one block each
|
||||||
DFSTestUtil util = new DFSTestUtil.Builder().setName("testMaxCorruptFiles").
|
DFSTestUtil util = new DFSTestUtil.Builder().setName("testMaxCorruptFiles").
|
||||||
|
|
Loading…
Reference in New Issue