[
https://issues.apache.org/jira/browse/IGNITE-23863?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Mikhail Efremov reassigned IGNITE-23863:
----------------------------------------
Assignee: Mikhail Efremov
> TopologyAwareRaftGroupService's onLeaderElected callbacks mechanism
> refactoring
> -------------------------------------------------------------------------------
>
> Key: IGNITE-23863
> URL: https://issues.apache.org/jira/browse/IGNITE-23863
> Project: Ignite
> Issue Type: Improvement
> Reporter: Mikhail Efremov
> Assignee: Mikhail Efremov
> Priority: Major
> Labels: ignite-3
>
> *Description*
> The main goal of the ticket is to improve the callbacks' sub-/unsubscribing
> mechanism refactoring that will allow straightforward approach to register
> and unrefister a custom {{onLeaderElected}} callbacks with the corresponding
> request sending if there'is the only new one callback is registered or none
> callbacs left after last deregistery.
> *Motivation*
> Now we're unable to register new callbacks in
> {{TopologyAwareRaftGroupService}}. The only handler is
> {{ServerEventHandler}}. But we definitely may want to add several more
> callbacks (e.g. IGNITE-22036), so we should improve the callback
> sub-/unsubscription mechanism.
> *Definition of done*
> # {{TopologyAwareRaftGroupService}} must be able to register more than one
> callbacks on leader elected event.
> # When the only first subscription performed the subscription request should
> be fired.
> # When the last callback is unsubscribed, then the unsubscription request
> should be fired.
> # Code must be consistent for all callbacks handling processes.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)