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

Populate DistributionZoneManager with MetaStorage listeners to logical topology events

    XMLWordPrintableJSON

Details

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

    Description

      Motivation

      As was mentioned in https://issues.apache.org/jira/browse/IGNITE-18087 In order to calculate dataNodes for each distribution zone it's required to have proper actor that will listen to:

      • Logical topology events.
      • Distribution zone reconfiguration events (adding, updating, removing).
      • Distribution zone processing enabling/disabling.

      and properly react to such events. As you can see from IGNITE-18087 we have two phase reaction on logical topology events. During the first phase we update logicalTopology and logicalTopologyVersion in meta storage and don't trigger dataNodes recalculation directly. Why? Because it's simpler - after inserting logical topology inside meta storage we mutually linearize topology events and distribution zone modification events with the help of meta storage revision.

      Thus, given ticket is about reaction to meta storage logical topology events. So it's required to register corresponding watch on start with a handler that will recalculate dataNodes and update given ms key with the help of invoke. Use revision based condition like we do it in rebalance in order to prevent concurrent and stale updates.

      Definition of Done

      • DataNodes keys in meta storage are updated for each distribution zone along with triggerRevision helper key as a result of logical topology key updates in meta storage.

      Implementation Notes

      Required logic is described above in Motivation section. Two new keys in meta storage (but not configuration) are expected.

      Attachments

        Issue Links

          Activity

            People

              Sergey Uttsel Sergey Uttsel
              alapin Alexander Lapin
              Votes:
              0 Vote for this issue
              Watchers:
              2 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 - 4.5h
                  4.5h