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

Jonathan Ellis commented on CASSANDRA-1034:
-------------------------------------------

bq. the patch does some attempt at a better encapsulation, as it seems better 
to use the Token.{upper|lower}BoundKey to creates those fake keys that inlining 
the call to the constructor all over the code (which we do now). 

Okay, I'll buy that.  It's an awful lot of code churn for IMO a relatively 
minor win, but I see where you're going with that.

Help me understand this patchset a different way: which is the part without 
which CASSANDRA-1600 is impossible?
                
> Remove assumption that Key to Token is one-to-one
> -------------------------------------------------
>
>                 Key: CASSANDRA-1034
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1034
>             Project: Cassandra
>          Issue Type: Bug
>            Reporter: Stu Hood
>            Assignee: Sylvain Lebresne
>            Priority: Minor
>             Fix For: 1.1
>
>         Attachments: 0001-Generify-AbstractBounds.patch, 
> 0002-Remove-assumption-that-token-and-keys-are-one-to-one.patch, 
> 0003-unit-test.patch, 1034_v1.txt, CASSANDRA-1034.patch
>
>
> get_range_slices assumes that Tokens do not collide and converts a KeyRange 
> to an AbstractBounds. For RandomPartitioner, this assumption isn't safe, and 
> would lead to a very weird heisenberg.
> Converting AbstractBounds to use a DecoratedKey would solve this, because the 
> byte[] key portion of the DecoratedKey can act as a tiebreaker. 
> Alternatively, we could make DecoratedKey extend Token, and then use 
> DecoratedKeys in places where collisions are unacceptable.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to