Mikhail Efremov created IGNITE-23863:
----------------------------------------
Summary: 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
*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)