You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Jonathan Ellis (JIRA)" <ji...@apache.org> on 2012/10/25 16:41:12 UTC
[jira] [Commented] (CASSANDRA-4858) Coverage analysis for low-CL
queries
[ https://issues.apache.org/jira/browse/CASSANDRA-4858?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13484168#comment-13484168 ]
Jonathan Ellis commented on CASSANDRA-4858:
-------------------------------------------
Sylvain says, "I don't think there is anything to win in doing something more complex than (in very pseudo code):"
{noformat}
ranges = new ArrayQueue(getRestrictedRanges(command.range));
while (!ranges.isEmpty())
{
range = ranges.poll();
endpoints = endpointsFor(range);
while (intersection(endpoints, endpointsFor(ranges.peek())) >=
requiredByCL)
{
nextRange = ranges.poll();
range = union(range, nextRange);
endpoints = intersection(endpoints, endpointsFor(nextRange));
}
send range to endpoints
}
{noformat}
> Coverage analysis for low-CL queries
> ------------------------------------
>
> Key: CASSANDRA-4858
> URL: https://issues.apache.org/jira/browse/CASSANDRA-4858
> Project: Cassandra
> Issue Type: Improvement
> Components: Core
> Reporter: Jonathan Ellis
> Fix For: 1.3
>
>
> There are many cases where getRangeSlice creates more
> RangeSliceCommand than it should, because it always creates one for each range
> returned by getRestrictedRange. Especially for CL.ONE this does not take
> the replication factor into account and is potentially pretty wasteful.
> A range slice at CL.ONE on a 3 node cluster with RF=3 should only
> ever create one RangeSliceCommand.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira