Uploaded image for project: 'controller'
  1. controller
  2. CONTROLLER-1262

Clustering: FindPrimaryShard should return the leader's version

    XMLWordPrintable

Details

    • Bug
    • Status: Resolved
    • Resolution: Done
    • Post-Helium
    • None
    • mdsal
    • None
    • Operating System: All
      Platform: All

    • 3020
    • Normal

    Description

      With the recent write-only optimizations to elide the transaction actor and go directly to the shard, we no longer send the CreateTransaction message. Therefore, the TransactionProxy doesn't know the shard's version in order to handle compatibility.

      We need the FindPrimaryShard message to return the shard leader's version. This can be maintained by the ShardManager - we just need to include the version with the LeaderStateChanged message and send a LeaderStateChanged message when the leader's version changes.

      To obtain the leader's version, we can include it with the AppendEntries message. The follower should also send back it's version in the AppendEntriesReply which AbstractLeader can track in the FollowerInformation. This will also lay the groundwork for a newer-version leader to lead an older-version follower.

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            tpantelis Tom Pantelis
            tpantelis Tom Pantelis
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: