[
https://issues.apache.org/jira/browse/CASSANDRA-7974?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Brandon Williams updated CASSANDRA-7974:
----------------------------------------
Attachment: 7974.txt
Here's a patch that illustrates the lines along which I was thinking.
Unfortunately this seems to expose a bug in stream lib (or I've done something
wrong; upgrading to 2.7.0 was no help):
{noformat}
Caused by: java.lang.NullPointerException: null
at
com.clearspring.analytics.util.DoublyLinkedList.remove(DoublyLinkedList.java:97)
~[stream-2.7.0.jar:na]
at
com.clearspring.analytics.stream.StreamSummary.incrementCounter(StreamSummary.java:137)
~[stream-2.7.0.jar:na]
at
com.clearspring.analytics.stream.StreamSummary.offerReturnAll(StreamSummary.java:128)
~[stream-2.7.0.jar:na]
at
com.clearspring.analytics.stream.StreamSummary.offer(StreamSummary.java:93)
~[stream-2.7.0.jar:na]
at
com.clearspring.analytics.stream.StreamSummary.offer(StreamSummary.java:82)
~[stream-2.7.0.jar:na]
at org.apache.cassandra.utils.TopKSampler.addSample(TopKSampler.java:58)
~[main/:na]
at
org.apache.cassandra.db.ColumnFamilyStore.getTopLevelColumns(ColumnFamilyStore.java:1877)
~[main/:na]
at
org.apache.cassandra.db.ColumnFamilyStore.getColumnFamily(ColumnFamilyStore.java:1682)
~[main/:na]
at org.apache.cassandra.db.Keyspace.getRow(Keyspace.java:345) ~[main/:na]
at
org.apache.cassandra.db.SliceByNamesReadCommand.getRow(SliceByNamesReadCommand.java:55)
~[main/:na]
at
org.apache.cassandra.service.StorageProxy$LocalReadRunnable.runMayThrow(StorageProxy.java:1360)
~[main/:na]
at
org.apache.cassandra.service.StorageProxy$DroppableRunnable.run(StorageProxy.java:2044)
~[main/:na]
... 4 common frames omitted
{noformat}
> Enable tooling to detect hot partitions
> ---------------------------------------
>
> Key: CASSANDRA-7974
> URL: https://issues.apache.org/jira/browse/CASSANDRA-7974
> Project: Cassandra
> Issue Type: Improvement
> Reporter: Brandon Williams
> Assignee: Brandon Williams
> Attachments: 7974.txt
>
>
> Sometimes you know you have a hot partition by the load on a replica set, but
> have no way of determining which partition it is. Tracing is inadequate for
> this without a lot of post-tracing analysis that might not yield results.
> Since we already include stream-lib for HLL in compaction metadata, it
> shouldn't be too hard to wire up topK for X seconds via jmx/nodetool and then
> return the top partitions hit.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)