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)

Reply via email to