Uploaded image for project: 'Ignite'
  1. Ignite
  2. IGNITE-18741

Implement PD-side logic for an initialization phase of group lease management

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • None
    • None

    Description

      Motivation

      There are two phases of lease management:

      • initialization - new leases management. // marked with greed
      • maintenance - already existing leases management. // marked with orange

      Given ticket is about new leases management on the placement driver side(the active actor one). So it covers the flow from the detection of a replication group appearance in the logical topology to sending leaseGrant message to the primary replica candidate.

      Definition of Done

      1. All triggers related to new primary replica candidate appearance are covered.
      2. Placement driver starts primary replica candidate promotion event loop.

      Implementation Notes

      1.Following events should be considered as triggers related to new primary replica candidate appearance:

      • MetaStorage based logical topology updates. We use  MS and not CMG events here in order to linearize logical topology updates with other configuration events. Please pay attention that DistributionZone logic is responsible for population ms with logical topology, following key DISTRIBUTION_ZONE_LOGICAL_TOPOLOGY_KEY is used and yep we may rename it.
      • Replication group assignment updates.

      As usual, we should first register listeners and then initialize the flow according to already existing assignments and logical topology.

      2. Following steps inside primary replica candidate promotion event loop are expected

      UPD:
      During implementation, the issue was reformulated and slightly redesigned. By the redesign result, a class diagram was drawn.

      Attachments

        Issue Links

          Activity

            People

              v.pyatkov Vladislav Pyatkov
              alapin Alexander Lapin
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 3h 40m
                  3h 40m