HDFS-5986. Merging change r1575384 from trunk to branch-2.

git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/branches/branch-2@1575385 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Chris Nauroth 2014-03-07 19:45:24 +00:00
parent ffaab80c42
commit e4ef7774b5
5 changed files with 16 additions and 1 deletions

View File

@ -141,6 +141,9 @@ Release 2.4.0 - UNRELEASED
HDFS-6061. Allow dfs.datanode.shared.file.descriptor.path to contain
multiple entries and fall back when needed (cmccabe)
HDFS-5986. Capture the number of blocks pending deletion on namenode webUI.
(cnauroth)
OPTIMIZATIONS
HDFS-5790. LeaseManager.findPath is very slow when many leases need recovery

View File

@ -5501,6 +5501,7 @@ public long getScheduledReplicationBlocks() {
return blockManager.getScheduledReplicationBlocksCount();
}
@Override
@Metric
public long getPendingDeletionBlocks() {
return blockManager.getPendingDeletionBlocksCount();

View File

@ -145,4 +145,10 @@ public interface FSNamesystemMBean {
* Return the maximum number of inodes in the file system
*/
public long getMaxObjects();
/**
* Number of blocks pending deletion
* @return number of blocks pending deletion
*/
long getPendingDeletionBlocks();
}

View File

@ -148,6 +148,7 @@
<tr><th><a href="#tab-datanode">Dead Nodes</a></th><td>{NumDeadDataNodes} (Decommissioned: {NumDecomDeadDataNodes})</td></tr>
<tr><th><a href="#tab-datanode">Decommissioning Nodes</a></th><td>{NumDecommissioningDataNodes}</td></tr>
<tr><th title="Excludes missing blocks.">Number of Under-Replicated Blocks</th><td>{UnderReplicatedBlocks}</td></tr>
<tr><th>Number of Blocks Pending Deletion</th><td>{PendingDeletionBlocks}</td></tr>
{/fs}
</table>

View File

@ -17,7 +17,7 @@
*/
package org.apache.hadoop.hdfs.server.namenode;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.*;
import java.lang.management.ManagementFactory;
import java.util.Map;
@ -63,6 +63,10 @@ public void test() throws Exception {
assertTrue(stat.containsKey("Snapshots")
&& (Long) stat.get("Snapshots") == fsn.getNumSnapshots());
Object pendingDeletionBlocks = mbs.getAttribute(mxbeanName,
"PendingDeletionBlocks");
assertNotNull(pendingDeletionBlocks);
assertTrue(pendingDeletionBlocks instanceof Long);
} finally {
if (cluster != null) {
cluster.shutdown();