Brandon Williams created CASSANDRA-9206:
-------------------------------------------

             Summary: Remove seed gossip probability
                 Key: CASSANDRA-9206
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-9206
             Project: Cassandra
          Issue Type: Improvement
            Reporter: Brandon Williams
            Assignee: Brandon Williams


Currently, we use probability to determine whether a node will gossip with a 
seed:

{noformat} 
                double probability = seeds.size() / (double) 
(liveEndpoints.size() + unreachableEndpoints.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 code, and should greatly improve 
our gossip convergence time, especially in large clusters.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to