[ 
https://issues.apache.org/jira/browse/CASSANDRA-7974?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14275987#comment-14275987
 ] 

Chris Lohfink commented on CASSANDRA-7974:
------------------------------------------

It could be made synchronous. I was a little concerned that throwing a lock in 
the read/write path could affect performance enough it would Heisenberg the 
data. 

It being async was to avoid a synchronized block or ConcurrentStreamSummary 
which is slower (jmh shows CSS ~10x) and may become a point of contention 
across a lot of threads. Forcing it through a single thread fixes it and its 
able to actually run a lot faster then it could concurrently.  It being in 
TRACING was just because I was thinking its pretty similar in being a sampling 
of queries and overflow safe to throw away, its been a few months though so I 
can't remember the exact train of thought. Its trivial to add another executor 
though if thats cleaner.

Would it work to convert from byte[] to String in the jmx operation 
(finishLocalSampling)?

> 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: Chris Lohfink
>             Fix For: 2.1.3
>
>         Attachments: 7974.txt, cassandra-2.1-7974v2.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