[ 
https://issues.apache.org/jira/browse/CASSANDRA-18845?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17764707#comment-17764707
 ] 

Stefan Miklosovic commented on CASSANDRA-18845:
-----------------------------------------------

I as Iooked at this closer I realized I do not understand it either. 

If we want to add this:
{code:java}
if (currentSize == epSize && currentLive == liveSize && (epSize == liveSize || 
liveSize > 1)) {code}
When it was like this:
{code:java}
if (currentSize == epSize && currentLive == liveSize) {code}
That basically means, if I generalize that, that we consider the gossip to be 
settled as soon as there is more than 1 live endpoints detected? 

So when there is a cluster of 50 nodes, without this change, that "if" would 
return false (or it would not return true fast enough to increment numOkay to 
break from that while) as there would be new endpoints or live members detected 
each round.

But the question is, as Brandon mentioned that, why it takes almost minute and 
a half? 

> Waiting for gossip to settle on live endpoints
> ----------------------------------------------
>
>                 Key: CASSANDRA-18845
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-18845
>             Project: Cassandra
>          Issue Type: Improvement
>            Reporter: Cameron Zemek
>            Priority: Normal
>         Attachments: 18845-3.11.patch, 18845-4.0.patch, 18845-4.1.patch, 
> 18845-5.0.patch
>
>
> This is a follow up to CASSANDRA-18543
> Although that ticket added ability to set cassandra.gossip_settle_min_wait_ms 
> this is tedious and error prone. On a node just observed a 79 second gap 
> between waiting for gossip and the first echo response to indicate a node is 
> UP.
> The problem being that do not want to start Native Transport until gossip 
> settles otherwise queries can fail consistency such as LOCAL_QUORUM as it 
> thinks the replicas are still in DOWN state.
> Instead of having to set gossip_settle_min_wait_ms I am proposing that 
> (outside single node cluster) wait for UP message from another node before 
> considering gossip as settled. Eg.
> {code:java}
>             if (currentSize == epSize && currentLive == liveSize && liveSize 
> > 1)
>             {
>                 logger.debug("Gossip looks settled.");
>                 numOkay++;
>             } {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org

Reply via email to