[ 
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)

Reply via email to