cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Tyler Hobbs (JIRA)" <>
Subject [jira] [Commented] (CASSANDRA-9206) Remove seed gossip probability
Date Fri, 24 Apr 2015 23:31:39 GMT


Tyler Hobbs commented on CASSANDRA-9206:

Regardless of whether we decide to do this (I think we should, but we need to test it on some
very large clusters), can we agree that it shouldn't go in 2.1?  It's a fairly major change
in a pretty important component, so 3.0 seems most appropriate.

> Remove seed gossip probability
> ------------------------------
>                 Key: CASSANDRA-9206
>                 URL:
>             Project: Cassandra
>          Issue Type: Improvement
>            Reporter: Brandon Williams
>            Assignee: Brandon Williams
>             Fix For: 2.1.5
>         Attachments: 9206.txt
> Currently, we use probability to determine whether a node will gossip with a seed:
> {noformat} 
>                 double probability = seeds.size() / (double) (liveEndpoints.size() +
>                 double randDbl = random.nextDouble();
>                 if (randDbl <= probability)
>                     sendGossip(prod, seeds);
> {noformat}
> I propose that we remove this probability, and instead *always* gossip with a seed. 
This of course means increased traffic and processing on the seed(s), but even a 1000 node
cluster with a single seed will only put ~1000 messages per second on the seed, which is virtually
nothing.  Should it become a problem, the solution is simple: add more seeds.  Since seeds
will also always gossip with each other, this effectively gives us a poor man's spanning tree,
with the only cost being removing a few lines of code, and should greatly improve our gossip
convergence time, especially in large clusters.

This message was sent by Atlassian JIRA

View raw message