Chris Lohfink created CASSANDRA-8883:
----------------------------------------

             Summary: Percentile computation should use ceil not floor in 
EstimatedHistogram
                 Key: CASSANDRA-8883
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-8883
             Project: Cassandra
          Issue Type: Bug
          Components: Core
            Reporter: Chris Lohfink
            Priority: Minor


When computing the pcount Cassandra uses floor and the comparison with elements 
is >= so given a simple example of there being a total of five elements
{code}
// data
[1, 1, 1, 1, 1]
// offsets
[1, 2, 3, 4, 5]
{code}
Cassandra  would report the 50th percentile as 2.  While 3 is the more expected 
value.  As a comparison using numpy
{code}
import numpy as np
np.percentile(np.array([1, 2, 3, 4, 5]), 50)
==> 3.0
{code}

The percentiles was added in CASSANDRA-4022 but is now used a lot in metrics 
Cassandra reports.  I think it should error on the side on overestimating 
instead of underestimating. 



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

Reply via email to