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