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

Aleksandr Polovtcev updated IGNITE-18734:
-----------------------------------------
    Description: 
When working on IGNITE-18554, it was discovered that current Logical Topology 
API does not provide enough guarantees to implement the feature correctly. It 
is proposed to rework this API in the following way:

{code:java}
public interface LogicalTopologyEventListener {
    // Called after a node has been validated, but not yet joined the Logical 
Topology.
    void onNodeValidated(ClusterNode validatedNode);

    // Called if a node has passed validation but left before joining the 
cluster.
    void onNodeInvalidated(ClusterNode invalidatedNode);

    // Previously was called "onAppeared", renamed to be distinguishable from 
the Physical Topology listener.
    void onNodeJoined(ClusterNode joinedNode, LogicalTopologySnapshot 
newTopology);

    // Previously was called "onDisappeared", renamed to be distinguishable 
from the Physical Topology listener.
    void onNodeLeft(ClusterNode leftNode, LogicalTopologySnapshot newTopology);

    // Called when a Raft snapshot is applied. (no changes)
    void onTopologyLeap(LogicalTopologySnapshot newTopology);
}
{code}


  was:
When working on IGNITE-18554, it was discovered that current Logical Topology 
API does not provide enough guarantees to implement the feature correctly. It 
is proposed to rework this API in the following way:

{code:java}
public interface LogicalTopologyEventListener {
    // Called after a node has been validated, but not yet joined the Logical 
Topology.
    void onNodeValidated(ClusterNode validatedNode);

    // Called if a node has passed validation but left before joining the 
cluster.
    void onNodeInvalidated(ClusterNode invalidatedNode);

    // Previously was called "onAppeared", renamed to be distinguishable from 
the Physical Topology listener.
    void onNodeJoined(ClusterNode joinedNode, LogicalTopologySnapshot 
newTopology);

    // Previously was called "onDisappeared", renamed to be distinguishable 
from the Physical Topology listener.
    void onNodeLeft(ClusterNode disappearedNode, LogicalTopologySnapshot 
newTopology);

    // Called when a Raft snapshot is applied. (no changes)
    void onTopologyLeap(LogicalTopologySnapshot newTopology);
}
{code}



> Add verification-related methods to LogicalTopologyEventListener
> ----------------------------------------------------------------
>
>                 Key: IGNITE-18734
>                 URL: https://issues.apache.org/jira/browse/IGNITE-18734
>             Project: Ignite
>          Issue Type: Improvement
>            Reporter: Aleksandr Polovtcev
>            Assignee: Aleksandr Polovtcev
>            Priority: Major
>              Labels: ignite-3
>             Fix For: 3.0.0-beta2
>
>
> When working on IGNITE-18554, it was discovered that current Logical Topology 
> API does not provide enough guarantees to implement the feature correctly. It 
> is proposed to rework this API in the following way:
> {code:java}
> public interface LogicalTopologyEventListener {
>     // Called after a node has been validated, but not yet joined the Logical 
> Topology.
>     void onNodeValidated(ClusterNode validatedNode);
>     // Called if a node has passed validation but left before joining the 
> cluster.
>     void onNodeInvalidated(ClusterNode invalidatedNode);
>     // Previously was called "onAppeared", renamed to be distinguishable from 
> the Physical Topology listener.
>     void onNodeJoined(ClusterNode joinedNode, LogicalTopologySnapshot 
> newTopology);
>     // Previously was called "onDisappeared", renamed to be distinguishable 
> from the Physical Topology listener.
>     void onNodeLeft(ClusterNode leftNode, LogicalTopologySnapshot 
> newTopology);
>     // Called when a Raft snapshot is applied. (no changes)
>     void onTopologyLeap(LogicalTopologySnapshot newTopology);
> }
> {code}



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

Reply via email to