incubator-cassandra-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jun Rao <jun...@almaden.ibm.com>
Subject Re: OPHF
Date Thu, 02 Apr 2009 17:09:04 GMT

If the partitioner maps String->token, then the load balancer can be
oblivious to the partitioner and do the balancing by reassigning tokens to
EndPoint. On the other hand, if the partitioner maps String->EndPoint, then
the load balancer has to tell the partitioner that it has changed some of
the decision the partitioner already made. How will this work?

Jun
IBM Almaden Research Center
K55/B1, 650 Harry Road, San Jose, CA  95120-6099

junrao@almaden.ibm.com


Jonathan Ellis <jbellis@gmail.com> wrote on 04/02/2009 09:51:26 AM:

>
> On Thu, Apr 2, 2009 at 10:38 AM, Jun Rao <junrao@almaden.ibm.com> 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_
>
> to
>
> private Map<Token, EndPoint> tokenToEndPointMap_
>
> where Token can either be implemented as a wrapper around BigIntegeror
String.
>
> > 2. What happens when EndPoints are added/removed from the system? Does
the
> > partitioner have to remember the history of the EndPoints?
>
> Ditto.
>
> > 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.
>
> -Jonathan
Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message