Author: cdouglas
Date: Thu Jul 3 19:15:32 2008
New Revision: 673893
URL: http://svn.apache.org/viewvc?rev=673893&view=rev
Log:
HADOOP-3683. Fix dfs metrics to count file listings rather than files
listed. Contributed by lohit vijayarenu.
Modified:
hadoop/core/trunk/CHANGES.txt
hadoop/core/trunk/src/hdfs/org/apache/hadoop/hdfs/server/namenode/NameNode.java
hadoop/core/trunk/src/hdfs/org/apache/hadoop/hdfs/server/namenode/metrics/NameNodeMetrics.java
hadoop/core/trunk/src/hdfs/org/apache/hadoop/hdfs/server/namenode/metrics/NameNodeStatistics.java
hadoop/core/trunk/src/hdfs/org/apache/hadoop/hdfs/server/namenode/metrics/NameNodeStatisticsMBean.java
Modified: hadoop/core/trunk/CHANGES.txt
URL:
http://svn.apache.org/viewvc/hadoop/core/trunk/CHANGES.txt?rev=673893&r1=673892&r2=673893&view=diff
==============================================================================
--- hadoop/core/trunk/CHANGES.txt (original)
+++ hadoop/core/trunk/CHANGES.txt Thu Jul 3 19:15:32 2008
@@ -751,6 +751,9 @@
HADOOP-3678. Avoid spurious exceptions logged at DataNode when clients
read from DFS. (rangadi)
+ HADOOP-3683. Fix dfs metrics to count file listings rather than files
+ listed. (lohit vijayarenu via cdouglas)
+
Release 0.17.1 - Unreleased
INCOMPATIBLE CHANGES
Modified:
hadoop/core/trunk/src/hdfs/org/apache/hadoop/hdfs/server/namenode/NameNode.java
URL:
http://svn.apache.org/viewvc/hadoop/core/trunk/src/hdfs/org/apache/hadoop/hdfs/server/namenode/NameNode.java?rev=673893&r1=673892&r2=673893&view=diff
==============================================================================
---
hadoop/core/trunk/src/hdfs/org/apache/hadoop/hdfs/server/namenode/NameNode.java
(original)
+++
hadoop/core/trunk/src/hdfs/org/apache/hadoop/hdfs/server/namenode/NameNode.java
Thu Jul 3 19:15:32 2008
@@ -296,6 +296,7 @@
null, masked),
clientName, clientMachine, overwrite, replication, blockSize);
myMetrics.numFilesCreated.inc();
+ myMetrics.numCreateFileOps.inc();
}
/** Coming in a future release.... */
@@ -336,7 +337,10 @@
String clientName) throws IOException {
stateChangeLog.debug("*BLOCK* NameNode.addBlock: file "
+src+" for "+clientName);
- return namesystem.getAdditionalBlock(src, clientName);
+ LocatedBlock locatedBlock = namesystem.getAdditionalBlock(src, clientName);
+ if (locatedBlock != null)
+ myMetrics.numAddBlockOps.inc();
+ return locatedBlock;
}
/**
@@ -428,7 +432,10 @@
stateChangeLog.debug("*DIR* Namenode.delete: src=" + src
+ ", recursive=" + recursive);
}
- return namesystem.delete(src, recursive);
+ boolean ret = namesystem.delete(src, recursive);
+ if (ret)
+ myMetrics.numDeleteFileOps.inc();
+ return ret;
}
/**
@@ -466,7 +473,7 @@
public DFSFileInfo[] getListing(String src) throws IOException {
DFSFileInfo[] files = namesystem.getListing(src);
if (files != null) {
- myMetrics.numFilesListed.inc(files.length);
+ myMetrics.numGetListingOps.inc();
}
return files;
}
Modified:
hadoop/core/trunk/src/hdfs/org/apache/hadoop/hdfs/server/namenode/metrics/NameNodeMetrics.java
URL:
http://svn.apache.org/viewvc/hadoop/core/trunk/src/hdfs/org/apache/hadoop/hdfs/server/namenode/metrics/NameNodeMetrics.java?rev=673893&r1=673892&r2=673893&view=diff
==============================================================================
---
hadoop/core/trunk/src/hdfs/org/apache/hadoop/hdfs/server/namenode/metrics/NameNodeMetrics.java
(original)
+++
hadoop/core/trunk/src/hdfs/org/apache/hadoop/hdfs/server/namenode/metrics/NameNodeMetrics.java
Thu Jul 3 19:15:32 2008
@@ -49,9 +49,15 @@
public MetricsTimeVaryingInt numFilesCreated = new
MetricsTimeVaryingInt("FilesCreated");
public MetricsTimeVaryingInt numGetBlockLocations = new
MetricsTimeVaryingInt("GetBlockLocations");
public MetricsTimeVaryingInt numFilesRenamed = new
MetricsTimeVaryingInt("FilesRenamed");
- public MetricsTimeVaryingInt numFilesListed = new
MetricsTimeVaryingInt("FilesListed");
+ public MetricsTimeVaryingInt numGetListingOps =
+ new MetricsTimeVaryingInt("GetListingOps");
+ public MetricsTimeVaryingInt numCreateFileOps =
+ new MetricsTimeVaryingInt("CreateFileOps");
+ public MetricsTimeVaryingInt numDeleteFileOps =
+ new MetricsTimeVaryingInt("DeleteFileOps");
+ public MetricsTimeVaryingInt numAddBlockOps =
+ new MetricsTimeVaryingInt("AddBlockOps");
-
public MetricsTimeVaryingRate transactions = new
MetricsTimeVaryingRate("Transactions");
public MetricsTimeVaryingRate syncs = new MetricsTimeVaryingRate("Syncs");
public MetricsTimeVaryingRate blockReport = new
MetricsTimeVaryingRate("blockReport");
@@ -95,8 +101,10 @@
numFilesCreated.pushMetric(metricsRecord);
numGetBlockLocations.pushMetric(metricsRecord);
numFilesRenamed.pushMetric(metricsRecord);
- numFilesListed.pushMetric(metricsRecord);
-
+ numGetListingOps.pushMetric(metricsRecord);
+ numCreateFileOps.pushMetric(metricsRecord);
+ numDeleteFileOps.pushMetric(metricsRecord);
+ numAddBlockOps.pushMetric(metricsRecord);
transactions.pushMetric(metricsRecord);
syncs.pushMetric(metricsRecord);
Modified:
hadoop/core/trunk/src/hdfs/org/apache/hadoop/hdfs/server/namenode/metrics/NameNodeStatistics.java
URL:
http://svn.apache.org/viewvc/hadoop/core/trunk/src/hdfs/org/apache/hadoop/hdfs/server/namenode/metrics/NameNodeStatistics.java?rev=673893&r1=673892&r2=673893&view=diff
==============================================================================
---
hadoop/core/trunk/src/hdfs/org/apache/hadoop/hdfs/server/namenode/metrics/NameNodeStatistics.java
(original)
+++
hadoop/core/trunk/src/hdfs/org/apache/hadoop/hdfs/server/namenode/metrics/NameNodeStatistics.java
Thu Jul 3 19:15:32 2008
@@ -163,11 +163,40 @@
return myMetrics.numFilesCreated.getPreviousIntervalValue();
}
+ /**
+ [EMAIL PROTECTED] call getNumGetListingOps() instead
+ */
+ @Deprecated
+ public int getNumFilesListed() {
+ return getNumGetListingOps();
+ }
+
/**
* @inheritDoc
*/
- public int getNumFilesListed() {
- return myMetrics.numFilesListed.getPreviousIntervalValue();
+ public int getNumGetListingOps() {
+ return myMetrics.numGetListingOps.getPreviousIntervalValue();
+ }
+
+ /**
+ * @inheritDoc
+ */
+ public int getNumCreateFileOps() {
+ return myMetrics.numCreateFileOps.getPreviousIntervalValue();
+ }
+
+ /**
+ * @inheritDoc
+ */
+ public int getNumDeleteFileOps() {
+ return myMetrics.numDeleteFileOps.getPreviousIntervalValue();
+ }
+
+ /**
+ * @inheritDoc
+ */
+ public int getNumAddBlockOps() {
+ return myMetrics.numAddBlockOps.getPreviousIntervalValue();
}
/** @inheritDoc */
Modified:
hadoop/core/trunk/src/hdfs/org/apache/hadoop/hdfs/server/namenode/metrics/NameNodeStatisticsMBean.java
URL:
http://svn.apache.org/viewvc/hadoop/core/trunk/src/hdfs/org/apache/hadoop/hdfs/server/namenode/metrics/NameNodeStatisticsMBean.java?rev=673893&r1=673892&r2=673893&view=diff
==============================================================================
---
hadoop/core/trunk/src/hdfs/org/apache/hadoop/hdfs/server/namenode/metrics/NameNodeStatisticsMBean.java
(original)
+++
hadoop/core/trunk/src/hdfs/org/apache/hadoop/hdfs/server/namenode/metrics/NameNodeStatisticsMBean.java
Thu Jul 3 19:15:32 2008
@@ -156,6 +156,32 @@
/**
* Number of files listed in the last interval
* @return number of operations
+ * @deprecated Use getNumGetListingOps() instead
*/
+ @Deprecated
int getNumFilesListed();
+
+ /**
+ * Number of files listed in the last interval
+ * @return number of operations
+ */
+ int getNumGetListingOps();
+
+ /**
+ * Number of file creation operations in the last interval
+ * @return number of file creation operations
+ */
+ int getNumCreateFileOps();
+
+ /**
+ * Number of file deletion operations in the last interval
+ * @return number of file deletion operations
+ */
+ int getNumDeleteFileOps();
+
+ /**
+ * Number of add block operations in the last interval
+ * @return number of add block operations
+ */
+ int getNumAddBlockOps();
}