Nitsan Wakart created CASSANDRA-12585:
-----------------------------------------

             Summary: Fixup Cassandra Stress reporting thread model and 
precision
                 Key: CASSANDRA-12585
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-12585
             Project: Cassandra
          Issue Type: Improvement
          Components: Tools
            Reporter: Nitsan Wakart
            Assignee: Nitsan Wakart
            Priority: Critical


Stress current reporting thread currently has a complex, slow and imprecise 
method of collecting measurements from the Consumer threads.
StressMetrics thread iterates through the Timers (one Timer per op per Consumer 
thread), blocks until the consumer thread collects a measurement on that 
operation, which forces the consumer thread to collect a report and unblock the 
StressMetrics thread. This means:
- Reporting intervals are effected by sleep interval accuracy on the 
StressMetrics thread
- Interval report timing is staggered as the operations get collected.
- The intended logging interval often does not resemble the effective interval.

This patch simplifies collection method and resolves the above issues:
- Each Consumer thread submits timing data to a queue
- StressMetrics thread reads from the queues and merges the data into a report
- StressMetrics reads and reports for the intended interval, so not effected by 
timing inaccuracies
- Measurement intervals are aligned to the second, improving the ease of 
measurements correlation from several nodes.
See branch here:
https://github.com/nitsanw/cassandra/tree/fix-reporting-sync-issues



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to