Author: jbellis
Date: Wed Jan 13 16:46:38 2010
New Revision: 898833
URL: http://svn.apache.org/viewvc?rev=898833&view=rev
Log:
fix NaN in nodeprobe totals when some CFs but not others have seen read or
write ops. patch by jbellis; reviewed by gdusbabek for CASSANDRA-646
Modified:
incubator/cassandra/branches/cassandra-0.5/CHANGES.txt
incubator/cassandra/branches/cassandra-0.5/src/java/org/apache/cassandra/tools/NodeProbe.java
Modified: incubator/cassandra/branches/cassandra-0.5/CHANGES.txt
URL:
http://svn.apache.org/viewvc/incubator/cassandra/branches/cassandra-0.5/CHANGES.txt?rev=898833&r1=898832&r2=898833&view=diff
==============================================================================
--- incubator/cassandra/branches/cassandra-0.5/CHANGES.txt (original)
+++ incubator/cassandra/branches/cassandra-0.5/CHANGES.txt Wed Jan 13 16:46:38
2010
@@ -1,5 +1,6 @@
0.5.0 final
* avoid attempting to delete temporary bootstrap files twice (CASSANDRA-681)
+ * fix bogus NaN in nodeprobe cfstats output (CASSANDRA-646)
0.5.0 RC3
Modified:
incubator/cassandra/branches/cassandra-0.5/src/java/org/apache/cassandra/tools/NodeProbe.java
URL:
http://svn.apache.org/viewvc/incubator/cassandra/branches/cassandra-0.5/src/java/org/apache/cassandra/tools/NodeProbe.java?rev=898833&r1=898832&r2=898833&view=diff
==============================================================================
---
incubator/cassandra/branches/cassandra-0.5/src/java/org/apache/cassandra/tools/NodeProbe.java
(original)
+++
incubator/cassandra/branches/cassandra-0.5/src/java/org/apache/cassandra/tools/NodeProbe.java
Wed Jan 13 16:46:38 2010
@@ -298,22 +298,21 @@
int writeCount = cfstore.getWriteCount();
int readCount = cfstore.getReadCount();
- tableReadCount += readCount;
- tableTotalReadTime += cfstore.getReadLatency() * readCount;
- tableWriteCount += writeCount;
- tableTotalWriteTime += cfstore.getWriteLatency() *
writeCount;
+ if (readCount > 0)
+ {
+ tableReadCount += readCount;
+ tableTotalReadTime += cfstore.getReadLatency() *
readCount;
+ }
+ if (writeCount > 0)
+ {
+ tableWriteCount += writeCount;
+ tableTotalWriteTime += cfstore.getWriteLatency() *
writeCount;
+ }
tablePendingTasks += cfstore.getPendingTasks();
}
- double tableReadLatency = Double.NaN;
- double tableWriteLatency = Double.NaN;
-
- if (tableReadCount > 0.0f) {
- tableReadLatency = tableTotalReadTime / tableReadCount;
- }
- if (tableWriteCount > 0.0f) {
- tableWriteLatency = tableTotalWriteTime / tableWriteCount;
- }
+ double tableReadLatency = tableReadCount > 0 ?
tableTotalReadTime / tableReadCount : Double.NaN;
+ double tableWriteLatency = tableWriteCount > 0 ?
tableTotalWriteTime / tableWriteCount : Double.NaN;
outs.println("\tRead Count: " + tableReadCount);
outs.println("\tRead Latency: " + String.format("%01.3f",
tableReadLatency) + " ms.");