You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Chris Lohfink (JIRA)" <ji...@apache.org> on 2015/03/01 23:03:04 UTC

[jira] [Created] (CASSANDRA-8883) Percentile computation should use ceil not floor in EstimatedHistogram

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)