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 2009/08/01 00:24:14 UTC

[jira] Commented: (CASSANDRA-242) Implement method to "evenly" split a Range

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

Jonathan Ellis commented on CASSANDRA-242:
------------------------------------------

> The byte[] returned by getCollatedBytes are equivalent to those returned by Collator.getCollationKey(string).toByteArray

Ah, which the jvm gives you.  Okay.

I think we have too many layers of abstraction still, but the approach is reasonable.

(Also, the collationkey docs imply that there is no need to convert the bytes to ints before comparison.)


> Implement method to "evenly" split a Range
> ------------------------------------------
>
>                 Key: CASSANDRA-242
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-242
>             Project: Cassandra
>          Issue Type: New Feature
>          Components: Core
>            Reporter: Stu Hood
>            Assignee: Stu Hood
>         Attachments: CASSANDRA-242.diff
>
>
> Two tickets currently depend on being able to deterministically split a Range object into two "even" Ranges.
> This can be accomplished with RandomPartitioner/BigIntegerToken by taking the average of the tokens, but the OrderPreservingPartitioner/StringToken implementation uses a Java Collator to define the sort order of Tokens, which means that they are not necessarily sorted in byte/char order.
> Collator.getCollationKey(String).toByteArray() gets you a sortable byte array, but there is no publicly accessible API for converting a similar byte array back into a String.

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