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

Implement logical topology events subscription and notification

    XMLWordPrintableJSON

Details

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

    Description

      Motivation

      There are two types of typologies in Apache Ignite 3

      • Physical(Network) - nodes that are visible through network layer.
      • Logical - nodes that successfully passed the join procedure including local recovery and catch up phases, thus nodes that are ready to handle user load. More details in IEP-77

      In order to recalculate data nodes for specific distribution zone (see IEP-97) it's required for distribution zone manager to receive notifications about logical topology updates along with logical topology version similar to ones we have in network topology:

      • onAppeared
      • onDisappeared

      Definition of Done

      • It's possible to register listeners for logical topology onAppeared/onDisappeared events
      • Events are fired in a distributed manner to all recipients.
      • Each event produces ClusterNode.consistentId that was either added or removed and logical topology version. It's required to solve ABA problem on topology events, see https://issues.apache.org/jira/browse/IGNITE-18087 for more details. 
      • Events are ordered within each Producer to Recipient communication channel.
      • It's valid to have multiple producers, e.g. during CMG leader change, thus it's valid to send same set of event twice but order still matters. 
      • It's not valid to skip events, even in case of of CMG leader change.
      • Delivery guarantee is required.
      • Besides events, there should be a method to get current logical topology along with topology version.

      Attachments

        Issue Links

          Activity

            People

              rpuch Roman Puchkovskiy
              alapin Alexander Lapin
              Semyon Danilov Semyon Danilov
              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 - 1h
                  1h