[ https://issues.apache.org/jira/browse/CASSANDRA-12585?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Dave Brosius updated CASSANDRA-12585: ------------------------------------- Priority: Minor (was: Major) > 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: Minor > Labels: stress > > 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)