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

Sylvain Lebresne commented on CASSANDRA-7510:
---------------------------------------------

bq. Going to normal is the "I'm ready" message already

Are you sure that it means "I'm ready to receive client connections"? My 
reading of the code is that STATUS_NORMAL is sent as part of SS.joinTokenRing 
which is itself part of SS.initServer. The latter being called in 
CassandraDaemon.setup *before* we start the thrift and native protocol servers.

Let me be clear: we currently send the onAdd notification before bootstrap 
which is wrong and we should at least move that to SS.handleStateNormal so it's 
send at the end of bootstrapping. I'm on board with that part. However, I think 
that doesn't get us all the way to where we want to be, which is that we want 
to send onAdd/onUp notification only once the native protocol server is ready 
to accept connections.

> Notify clients that bootstrap is finished over binary protocol
> --------------------------------------------------------------
>
>                 Key: CASSANDRA-7510
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-7510
>             Project: Cassandra
>          Issue Type: Bug
>            Reporter: Joost Reuzel
>            Priority: Minor
>             Fix For: 2.0.10
>
>         Attachments: 7510.txt
>
>
> Currently, Cassandra will notify clients when a new node is added to a 
> cluster. However, that node is typically not usable yet. It first needs to 
> gossip its key range and finish loading all its assigned data before it 
> allows clients to connect. Depending on the amount of data this may take 
> quite a while. The clients in the mean time have no clue about the bootstrap 
> status of that node. The only thing they can do is periodically check if it 
> will accept a connection. 
> My proposal would be to send an additional UP event when the bootstrap is 
> done, this allows clients to mark the node initially as down/unavailable and 
> simply wait for the UP event to arrive.
> Kind regards,
> Joost



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to