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

Jonathan Ellis commented on CASSANDRA-2917:
-------------------------------------------

Easy: expose SS.getBootstrapToken

More work but more useful: expose this code instead:

{code}
        Range range = getLocalPrimaryRange();
        List<DecoratedKey> keys = new ArrayList<DecoratedKey>();
        for (ColumnFamilyStore cfs : ColumnFamilyStore.all())
        {
            for (DecoratedKey key : cfs.allKeySamples())
            {
                if (range.contains(key.token))
                    keys.add(key);
            }
        }
        FBUtilities.sortSampledKeys(keys, range);
{code}

This would allow more sophisticated rebalancing for [B]OPP clusters.

> expose calculate midrange for token in jmx
> ------------------------------------------
>
>                 Key: CASSANDRA-2917
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-2917
>             Project: Cassandra
>          Issue Type: Improvement
>            Reporter: Jackson Chung
>            Priority: Minor
>              Labels: lhf
>
> currently there is no easy way to get midrange, especially for OPP. For 
> simplicity, you could call OrderPreservingPartitioner.midpoint(Token, Token), 
> that gives you a rough estimate (and you'd still need to remove non-utf8 
> characters.)
> A more accurate but difficult way is to sample the keys in that range and 
> pick the midpoint of those. We should expose that via jmx, because without 
> this, supporting OPP w/o this is quite challenging.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to