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/24 23:26:12 UTC
[jira] [Created] (CASSANDRA-4858) Coverage analysis for low-CL
queries
Jonathan Ellis created CASSANDRA-4858:
-----------------------------------------
Summary: 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
[jira] [Commented] (CASSANDRA-4858) Coverage analysis for low-CL
queries
Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
[ 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