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

Edward Capriolo commented on CASSANDRA-12643:
---------------------------------------------

After enabling a reporter and starting up Cassandra I have observed the 
following stack trace.

{noformat}
java.lang.IllegalStateException: Unable to compute when histogram overflowed
at 
org.apache.cassandra.utils.EstimatedHistogram.percentile(EstimatedHistogram.java:198)
 ~apache-cassandra-3.0.8.jar:3.0.8
at 
org.apache.cassandra.metrics.EstimatedHistogramReservoir$HistogramSnapshot.getValue(EstimatedHistogramReservoir.java:85)
 ~apache-cassandra-3.0.8.jar:3.0.8
at com.codahale.metrics.Snapshot.getMedian(Snapshot.java:38) 
~metrics-core-3.1.0.jar:3.1.0
at 
com.librato.metrics.MetricsLibratoBatch.addSampling(MetricsLibratoBatch.java:144)
 ~metrics-librato-4.1.2.5.jar:na
at 
com.librato.metrics.MetricsLibratoBatch.addHistogram(MetricsLibratoBatch.java:124)
 ~metrics-librato-4.1.2.5.jar:na
at com.librato.metrics.LibratoReporter.report(LibratoReporter.java:167) 
~metrics-librato-4.1.2.5.jar:na
at com.codahale.metrics.ScheduledReporter.report(ScheduledReporter.java:162) 
~metrics-core-3.1.0.jar:3.1.0
at com.librato.metrics.LibratoReporter.report(LibratoReporter.java:127) 
~metrics-librato-4.1.2.5.jar:na
at com.codahale.metrics.ScheduledReporter$1.run(ScheduledReporter.java:117) 
metrics-core-3.1.0.jar:3.1.0
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 
na:1.8.0_101
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) na:1.8.0_101
at 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
 na:1.8.0_101
at 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
 na:1.8.0_101
at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
na:1.8.0_101
at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
na:1.8.0_101
at java.lang.Thread.run(Thread.java:745) na:1.8.0_101
{noformat}

According to the inline documentation the largest bucket should accommodate 36 
seconds. The server only being alive for a few seconds it seems unlikely that 
these can be overflowed. 

This overflow bubbles up to the report and this prevents data from being 
exported. I poked around and do not understand why a fresh server would 
overflow. I found some nits in the code I can fix and maybe someone with more 
brain power can chime in.

> Estimated histograms tend to overflow
> -------------------------------------
>
>                 Key: CASSANDRA-12643
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-12643
>             Project: Cassandra
>          Issue Type: Bug
>            Reporter: Edward Capriolo
>            Assignee: Edward Capriolo
>




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

Reply via email to