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

simplify schema reconciliation

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Low
    • Resolution: Fixed
    • 0.8.1
    • None
    • None

    Description

      Currently, schema migrations can be replayed from one node to another in any of three ways:

      • a node processes a migration from a client, and pushes it to all live nodes (Migration.announce on the source)
      • a node sees that another node's schema version is older than his (MigrationManager.onChange on the source)
      • a node sees that his own schema version is older than another's and makes an explicit request (MigrationManager.onChange on the target, DefinitionsAnnounceVerbHandler on the source)

      The last of these is an optimization that isn't worth the extra complexity – under normal conditions, the initial announce from the coordinator updates everyone, and in recovery situations the latency gain of #3 over #2 is only a few seconds.

      Attachments

        1. 2715.txt
          20 kB
          Jonathan Ellis
        2. 2715.txt
          24 kB
          Jonathan Ellis

        Activity

          People

            jbellis Jonathan Ellis
            jbellis Jonathan Ellis
            Jonathan Ellis
            Gary Dusbabek
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: