incubator-cassandra-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Zhu Han <schumi....@gmail.com>
Subject Re: OPHF
Date Sat, 04 Apr 2009 07:08:56 GMT
Jun,

This has be implemented in cassandra. When a node is added to the system. it
would gossip it's token to other peers. These peers would re-compute the
range to endpoint map after receiving the notification from the Gossiper.
And then the ranges would be transfered from one endpoint to another if the
mapping is changed for it. You can check LeaveJoinProtocolImpl.Java for the
implementation.

best regards,
hanzhu


On Fri, Apr 3, 2009 at 1:09 AM, Jun Rao <junrao@almaden.ibm.com> wrote:

>
> 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