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

sal-akka-raft: Eliminate ClientRequestTracker

    XMLWordPrintable

Details

    • Improvement
    • Status: In Review
    • Resolution: Unresolved
    • None
    • None
    • clustering
    • Operating System: All
      Platform: All

    Description

      ClientRequestTracker is a remnant of ShardCommitCoordinator's interaction with the journal when transaction commits did not carry their identifier.

      It is only used in the leader role to allow Shard-level components to discern what request is being continued. This information can easily be recovered from the payload itself, but requires a new API which will allow RaftActor to mark a payload as committed, where the payload can clear the identifier cache.

      This way the leader can access the attached identifier with no penalty during applyState() callback and we do not have to retain it in memory once applyState() finishes.

      In the follower case this is not a problem, too, as when a follower applies a payload, it will de-serialize both the contents and the identifier of the payload anyway.

      Attachments

        Issue Links

          # Subject Branch Project Status CR V

          Activity

            People

              TadeyBilan Tadey Bilan
              rovarga Robert Varga
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated: