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

Brandon Williams commented on CASSANDRA-8236:
---------------------------------------------

bq. VersionedValue.RPC_READY doesn't seemed to be used

You're right, can remove that on commit.

bq. In SS.handleStateNormal(), why do we need to call notifyJoined() even when 
isMoving is set to true? Wouldn't this introduce problems similar to 
CASSANDRA-8516?

It seems like it could, I didn't test with a moving node.

bq. In ApplicationState can we add a new value without removing one of the 
padding values?

Let me explain the risk in padding values.  Padding used to only have 5 values, 
and in 1.1 we almost exceeded them which would break everything since the enum 
lookup wouldn't resolve for some states, and that's catastrophic.  That's why 
we have the X_11_PADDING value from that near miss, and that's why I increased 
the padding to 10 values.  As long as the padding values aren't actually used, 
it's better to have them than not. And that's why, I actually didn't remove one 
:)

bq. Shouldn't we perhaps just add a new ApplicationState called TOPOLOGY_CHANGE 
that contains the Event.TopologyChange value that a node wants a client to 
receive?

I think that could work, but probably not by sending Event.TopologyChange 
itself, since we can only send a VersionedValue.  That's an implementation 
detail though and shouldn't be hard to solve.


> Delay "node up" and "node added" notifications until native protocol server 
> is started
> --------------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-8236
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-8236
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>            Reporter: Tyler Hobbs
>            Assignee: Brandon Williams
>             Fix For: 3.0
>
>         Attachments: 8236.txt
>
>
> As discussed in CASSANDRA-7510, there is still a gap between when a "node up" 
> or "node added" notification may be sent to native protocol clients (in 
> response to a gossip event) and when the native protocol server is ready to 
> serve requests.
> Everything in between the call to {{StorageService.instance.initServer()}} 
> and creation of the native server in {{CassandraDaemon.setup()}} contributes 
> to this delay, but waiting for Gossip to settle introduces the biggest delay.
> We may need to introduce a "STARTING" gossip state for the period inbetween, 
> which is why this is scheduled for 3.0.  If there's a better option, though, 
> it may make sense to put this in 2.1.



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

Reply via email to