You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Roman Puchkovskiy (Jira)" <ji...@apache.org> on 2023/02/09 14:41:00 UTC

[jira] [Commented] (IGNITE-18734) Add verification-related methods to LogicalTopologyEventListener

    [ 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)