On Jun 24, 4:18 am, Robey Pointer <[email protected]> wrote: > I think you're right. Because points-per-server is proportional to > (server weight / number of servers), when a server is added or > removed, the other servers may receive more or fewer points. Probably > ketama should have used points-per-server = server-weight * K.
IIRC original libketama implementation uses _fixed total_ number of points derived from the size of the shared memory region they reside in, hence the change per server on server add/remove. Though many memcached clients implement consistent hashing, most provide their own implementation of the algorithm, rather than link with libketama directly. For instance, in Perl client Cache::Memcached::Fast we use fixed points-per-server = server-weight * K, likely other clients do the same. tomash
