cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sylvain Lebresne (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CASSANDRA-4858) Coverage analysis for low-CL queries
Date Thu, 13 Dec 2012 10:07:22 GMT

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

Sylvain Lebresne commented on CASSANDRA-4858:
---------------------------------------------

It is true that for a given subpart of the ring, you'll need more nodes to cover it with vnodes
than without in general. But I think that's just one downside of vnodes and there is little
we can do about, and more importantly, I don't think we should focus on that on this ticket.

What we're trying to fix here is that when a node is primary replica for a range r, then he
is also replica for RF-1 other range contiguous to r. That's true with vnodes or not. So to
cover (at CL.ONE) the range composed of those RF contiguous ranges, we only need one RangeSliceCommand,
but currently we create RF ones. In other words, we currently create RF times too many RangeSliceCommand
because we don't take into account the replication factor.

And as it happens, in the degenerate case where RF == number of nodes, this is even worst
than that because in that case 1 RangeSliceCommand is always enough for CL.ONE, but we create
RF * nb-tokens-per-node ones, and that's where 'vnodes make this a lot worse'. But in general
this ticket is not really related to vnodes (but yes, range queries potentially suck more
with vnodes, but that's a completely different problem (though in practice I'm not sure it
really matters)).

                
> 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
>            Assignee: Vijay
>             Fix For: 1.2.1
>
>
> 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

Mime
View raw message