[ 
https://issues.apache.org/jira/browse/IGNITE-18085?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Alexander Lapin updated IGNITE-18085:
-------------------------------------
    Description: 
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 along with logical topology version 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.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.

  was:
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 along with logical topology version 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.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.


> 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
>            Priority: Major
>
> 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 along with logical topology version 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.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.



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

Reply via email to