[
https://issues.apache.org/jira/browse/CASSANDRA-1034?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12930778#action_12930778
]
Jonathan Ellis commented on CASSANDRA-1034:
-------------------------------------------
Okay, so that is a problem because we create DK(Token, null) internally for
range queries currently even when using the key-based API.
Once that is fixed I'm fine with saying "the first 10" (or if more convenient,
"that's undefined"), since only Hadoop or similar iterate-over-everything
approaches should be using Token-based range queries at the API level. (Again,
I'm assuming that there are enough tokens to achieve sufficient granularity,
iow, that the number of rows sharing a token is less than the InputSplit size.)
> 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
> Priority: Minor
> Attachments: 1034_v1.txt
>
>
> 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.
-
You can reply to this email to add a comment to the issue online.