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 2010/02/04 07:36:28 UTC

[jira] Created: (CASSANDRA-763) getRangeSlice returns keys from outside the desired range

getRangeSlice returns keys from outside the desired range
---------------------------------------------------------

                 Key: CASSANDRA-763
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-763
             Project: Cassandra
          Issue Type: Bug
          Components: Core
            Reporter: Jonathan Ellis
            Assignee: Jonathan Ellis
             Fix For: 0.6




-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (CASSANDRA-763) getRangeSlice returns keys from outside the desired range

Posted by "Hudson (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-763?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12834887#action_12834887 ] 

Hudson commented on CASSANDRA-763:
----------------------------------

Integrated in Cassandra #357 (See [http://hudson.zones.apache.org/hudson/job/Cassandra/357/])
    

> getRangeSlice returns keys from outside the desired range
> ---------------------------------------------------------
>
>                 Key: CASSANDRA-763
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-763
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>            Reporter: Jonathan Ellis
>            Assignee: Jonathan Ellis
>             Fix For: 0.6
>
>         Attachments: 0001-add-Range.intersectsWith.txt, 0002-have-RangeSliceCommand-take-Range-or-Bounds-client-bou.txt
>
>


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (CASSANDRA-763) getRangeSlice returns keys from outside the desired range

Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-763?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12830259#action_12830259 ] 

Jonathan Ellis commented on CASSANDRA-763:
------------------------------------------

the semantics of client start/end keys passed to get_range_slice and the tokens in a Range object are different.  CASSANDRA-759 and CASSANDRA-758 tried to add options to getRangeSlice to be able to handle both but the two are still too different.  consider for instance the case where start=end -- in the former case this is a range with exactly one (potential) key included; in the latter it is a wrapping range including the entire ring.

this partially backs out 758 and 759 and instead adds a Bounds class (that shares a common superclass w/ Range); getRangeSlice can then take either a Bounds (which has the semantics of the old start/end pair) or a Range, which is the case CASSANDRA-342 is interested in, and can now use intersectsWith to make sure we're only getting each key once.

> getRangeSlice returns keys from outside the desired range
> ---------------------------------------------------------
>
>                 Key: CASSANDRA-763
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-763
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>            Reporter: Jonathan Ellis
>            Assignee: Jonathan Ellis
>             Fix For: 0.6
>
>         Attachments: 0001-add-Range.intersectsWith.txt, 0002-have-RangeSliceCommand-take-Range-or-Bounds-client-bou.txt
>
>


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (CASSANDRA-763) getRangeSlice returns keys from outside the desired range

Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CASSANDRA-763?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jonathan Ellis updated CASSANDRA-763:
-------------------------------------

    Attachment: 0002-have-RangeSliceCommand-take-Range-or-Bounds-client-bou.txt
                0001-add-Range.intersectsWith.txt

> getRangeSlice returns keys from outside the desired range
> ---------------------------------------------------------
>
>                 Key: CASSANDRA-763
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-763
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>            Reporter: Jonathan Ellis
>            Assignee: Jonathan Ellis
>             Fix For: 0.6
>
>         Attachments: 0001-add-Range.intersectsWith.txt, 0002-have-RangeSliceCommand-take-Range-or-Bounds-client-bou.txt
>
>


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (CASSANDRA-763) getRangeSlice returns keys from outside the desired range

Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-763?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12830312#action_12830312 ] 

Jonathan Ellis commented on CASSANDRA-763:
------------------------------------------

> Are we trying not to break network compatibility in 0.6

Nope, glad you are thinking about that but we already moved gossip to TCP which means no.  (Seems like a long time ago but yes that will be 0.6 :)

> we need to see a path toward actually encapsulating the intersection logic in them: for instance

You're right.  I will make that change.

> getRangeSlice returns keys from outside the desired range
> ---------------------------------------------------------
>
>                 Key: CASSANDRA-763
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-763
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>            Reporter: Jonathan Ellis
>            Assignee: Jonathan Ellis
>             Fix For: 0.6
>
>         Attachments: 0001-add-Range.intersectsWith.txt, 0002-have-RangeSliceCommand-take-Range-or-Bounds-client-bou.txt
>
>


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Resolved: (CASSANDRA-763) getRangeSlice returns keys from outside the desired range

Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CASSANDRA-763?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jonathan Ellis resolved CASSANDRA-763.
--------------------------------------

    Resolution: Fixed

committed w/ above changes

> getRangeSlice returns keys from outside the desired range
> ---------------------------------------------------------
>
>                 Key: CASSANDRA-763
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-763
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>            Reporter: Jonathan Ellis
>            Assignee: Jonathan Ellis
>             Fix For: 0.6
>
>         Attachments: 0001-add-Range.intersectsWith.txt, 0002-have-RangeSliceCommand-take-Range-or-Bounds-client-bou.txt
>
>


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (CASSANDRA-763) getRangeSlice returns keys from outside the desired range

Posted by "Stu Hood (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CASSANDRA-763?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12830302#action_12830302 ] 

Stu Hood commented on CASSANDRA-763:
------------------------------------

 * Are we trying not to break network compatibility in 0.6? This changes RangeSliceCommand
 * I'm worried that since the AbstractBounds class doesn't implement any methods, we are basically using the subclasses as boolean values: ('is the start included?' == x instanceof Bounds). To make the subclasses worthwhile, we need to see a path toward actually encapsulating the intersection logic in them: for instance, StorageProxy.restrictBounds should be implemented in terms of an intersection between two AbstractBounds objects.

In general, this looks like an improvement, so if we can see a way in the future to encapsulate more logic in bounds, I'd be fine with giving it a +1.

> getRangeSlice returns keys from outside the desired range
> ---------------------------------------------------------
>
>                 Key: CASSANDRA-763
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-763
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>            Reporter: Jonathan Ellis
>            Assignee: Jonathan Ellis
>             Fix For: 0.6
>
>         Attachments: 0001-add-Range.intersectsWith.txt, 0002-have-RangeSliceCommand-take-Range-or-Bounds-client-bou.txt
>
>


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.