incubator-cassandra-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jonathan Ellis <>
Subject Re: OPHF
Date Thu, 02 Apr 2009 16:51:26 GMT
On Thu, Apr 2, 2009 at 10:38 AM, Jun Rao <> wrote:
> Johnathan,
> Could you explain a bit more how the pluggable partitioner (that provides
> String-> EndPoint mapping) works?
> In particular,
> 1. How does the partitioner obtain the list of EndPoints in the system?

Same way it does now, through Gossip.  The main change is from

private Map<BigInteger, EndPoint> tokenToEndPointMap_


private Map<Token, EndPoint> tokenToEndPointMap_

where Token can either be implemented as a wrapper around BigInteger or String.

> 2. What happens when EndPoints are added/removed from the system? Does the
> partitioner have to remember the history of the EndPoints?


> 3. How does the partitioner coordinate with the load-balancer? Suppose some
> rows are moved from one EndPoint to another. How is that information
> communicated and used by the partitioner so that routing remains correct?

Load balancing isn't complete yet; I didn't mean to imply otherwise.
So I don't know for sure.  Avinash has probably thought about this
more.  But having Token be abstract shouldn't affect the algorithm.


View raw message