[ 
https://issues.apache.org/jira/browse/IGNITE-18734?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17686570#comment-17686570
 ] 

Roman Puchkovskiy commented on IGNITE-18734:
--------------------------------------------

The patch looks good to me

> 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
>
>          Time Spent: 40m
>  Remaining Estimate: 0h
>
> 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}
> {{LogicalTopologyService}} interface should also be extended with a method 
> that will retrieve a list of validated nodes:
> {code:java}
> // Returns a list of validated nodes (including ones present in the Logical 
> Topology).
> CompletableFuture<Set<ClusterNode>> validatedNodesOnLeader();
> {code}



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

Reply via email to