You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Samuel Fink (JIRA)" <ji...@apache.org> on 2018/01/25 19:57:00 UTC

[jira] [Comment Edited] (CASSANDRA-14190) Non-disruptive seed node list reload

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

Samuel Fink edited comment on CASSANDRA-14190 at 1/25/18 7:56 PM:
------------------------------------------------------------------

[~jasobrown] Thanks for the comments and unit test, I wasn't sure how to go about making the interface testable. I've uploaded a newer version of the patch which changes the wording around the getseeds command to be more explicit in that it does not include the node IP. I also revised the unit test to get better coverage of the edge case behaviors of the reload operation.

The getseeds operation intentionally uses the instance of the list in Gossiper instead of the DatabaseDescriptor contents so that it can be used by an administrator to determine if the list needs to be reloaded and so that the response could be used for testing the reloadseeds command.


was (Author: sfink):
[~jasobrown] Thanks for the comments and unit test, I wasn't sure how to go about making the interface testable. I've uploaded a newer version of the patch which changes the wording around the getseeds command to be more explicit in that it does not include the node IP. I also revised the unit test to get better coverage of the edge case behaviors of the reload operation.

> Non-disruptive seed node list reload
> ------------------------------------
>
>                 Key: CASSANDRA-14190
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-14190
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Configuration, Lifecycle
>            Reporter: Samuel Fink
>            Assignee: Samuel Fink
>            Priority: Minor
>             Fix For: 4.x
>
>         Attachments: 14190-trunk.patch, 14190-trunk.patch
>
>
> Add a mechanism for reloading the Gossiper in-memory seed node IP list without requiring a service restart.
> The Gossiper keeps an in-memory copy of the seed node IP list and uses it during a gossip round to determine if the random node that was gossiped to is a seed node and for picking a seed node to gossip to in maybeGossipToSeed.
> Currently the Gossiper seed node list is only updated when an endpoint is removed, at the start of a shadow round, and on startup. Those scenarios don’t handle the case of seed nodes changing IP addresses (eg. DHCP lease changes) or additional seed nodes being added to the cluster.
> As described in CASSANDRA-3829 the current way to ensure that all nodes in the cluster have the same seed node list when there has been a change is to do a rolling restart of every node in the cluster. In large clusters rolling restarts can be very complicated to manage and can have performance impacts because the caches get flushed.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

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