Tyler Hobbs created CASSANDRA-11226:
---------------------------------------
Summary: nodetool tablestats' keyspace-level metrics are
wrong/misleading
Key: CASSANDRA-11226
URL: https://issues.apache.org/jira/browse/CASSANDRA-11226
Project: Cassandra
Issue Type: Bug
Components: Tools
Reporter: Tyler Hobbs
Priority: Minor
Fix For: 2.2.x, 3.0.x, 3.x
In the nodetool tablestats output (formerly cfstats), we display "keyspace"
level metrics before the table-level metrics:
{noformat}
Keyspace: testks
Read Count: 14772528
Read Latency: 0.14456651623879135 ms.
Write Count: 4761283
Write Latency: 0.062120404521218336 ms.
Pending Flushes: 0
Table: processes
SSTable count: 7
Space used (live): 496.76 MB
Space used (total): 496.76 MB
Space used by snapshots (total): 0 bytes
Off heap memory used (total): 285.76 KB
SSTable Compression Ratio: 0.2318241570710227
Number of keys (estimate): 3027
Memtable cell count: 2140
Memtable data size: 1.66 MB
Memtable off heap memory used: 0 bytes
Memtable switch count: 967
Local read count: 14772528
Local read latency: 0.159 ms
Local write count: 4761283
Local write latency: 0.068 ms
{noformat}
However, the keyspace-level metrics are misleading, at best. They are
aggregate metrics for every table in the keyspace _that is included in the
command line filters_. So, if you run {{tablestats}} for a single table, the
keyspace-level stats will only reflect that table's stats.
I see two possible fixes:
# If the command line options don't include the entire keyspace, skip the
keyspace-level stats
# Ignore the command line options, and always make the keyspace-level stats an
aggregate of all tables in the keyspace
My only concern with option 2 is that performance may suffer a bit on keyspaces
with many tables. However, this is a command line tool, so as long as the
response time is reasonable, I don't think it's a big deal.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)