You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "maxwellguo (Jira)" <ji...@apache.org> on 2020/05/07 10:11:00 UTC

[jira] [Commented] (CASSANDRA-15796) Cassandra get range slice got Inaccurate estimates for concurrencyFactor

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

maxwellguo commented on CASSANDRA-15796:
----------------------------------------

we want to get the row for per range ,but the Denominator is the number for all cell the numerator is the regular column to request , So the data is also not so accurate

> Cassandra get range slice got Inaccurate estimates for concurrencyFactor 
> -------------------------------------------------------------------------
>
>                 Key: CASSANDRA-15796
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-15796
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Legacy/Coordination
>            Reporter: maxwellguo
>            Priority: Normal
>
> Cassandra version :3.11.4
> For table that  do not got a regular column , when we do partition range read and we got to the code function :
> {code:java}
> // Some comments here
> public String getRangeSlice(PartitionRangeReadCommand command, ConsistencyLevel consistencyLevel, long queryStartNanoTime)
> {code}
> we will do some calculation to estimate the data per range in the function :
> {code:java}
> // Some comments here
> private static float estimateResultsPerRange(PartitionRangeReadCommand command, Keyspace keyspace)
> {code}
>  when we got no index so we will use :
> {code:java}
> // Some comments here
> command.limits().estimateTotalResults(cfs)
>  --->(for CQLlimits)
> *public float estimateTotalResults(ColumnFamilyStore cfs)
>         {
>             // TODO: we should start storing stats on the number of rows (instead of the number of cells, which
>             // is what getMeanColumns returns)
>             float rowsPerPartition = ((float) cfs.getMeanColumns()) / cfs.metadata.partitionColumns().regulars.size();
>             return rowsPerPartition * (cfs.estimateKeys());
>         }*
> {code}
> when the regulars is zero ,we will got an error result  that is non-zero value divided by zero .



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cassandra.apache.org
For additional commands, e-mail: commits-help@cassandra.apache.org