You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Alexander Lapin (Jira)" <ji...@apache.org> on 2022/11/04 07:37:00 UTC

[jira] [Created] (IGNITE-18085) Implement logical topology events subscription and notification

Alexander Lapin created IGNITE-18085:
----------------------------------------

             Summary: Implement logical topology events subscription and notification
                 Key: IGNITE-18085
                 URL: https://issues.apache.org/jira/browse/IGNITE-18085
             Project: Ignite
          Issue Type: Improvement
            Reporter: Alexander Lapin


h3. 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|https://cwiki.apache.org/confluence/display/IGNITE/IEP-97%3A+Distribution+Zones]) it's required for distribution zone manager to receive notifications about logical topology updates similar to ones we have in network topology:
 * onAppeared
 * onDisappeared

h3. 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 that was either added or removed. Meaning that both consistentId and id are important.
 * 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 (debateble), thus in case of CMG leader change, new one should check whether some events weren't send and send them.
 * Delivery guarantee is required (debateble).



--
This message was sent by Atlassian Jira
(v8.20.10#820010)