Uploaded image for project: 'Cassandra'
  1. Cassandra
  2. CASSANDRA-14190

Non-disruptive seed node list reload

Log workAgile BoardRank to TopRank to BottomAttach filesAttach ScreenshotVotersWatch issueWatchersCreate sub-taskConvert to sub-taskMoveLinkCloneLabelsUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

    Details

      Description

      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.

        Attachments

        1. 14190-trunk.patch
          19 kB
          Samuel Fink
        2. 14190-trunk.patch
          16 kB
          Samuel Fink
        3. 14190-trunk.patch
          8 kB
          Samuel Fink

          Activity

          $i18n.getText('security.level.explanation', $currentSelection) Viewable by All Users
          Cancel

            People

            • Assignee:
              SFink Samuel Fink Assign to me
              Reporter:
              SFink Samuel Fink
              Authors:
              Samuel Fink
              Reviewers:
              Jason Brown

              Dates

              • Created:
                Updated:
                Resolved:

                Issue deployment