[
https://issues.apache.org/jira/browse/IGNITE-18155?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Aleksandr Polovtcev updated IGNITE-18155:
-----------------------------------------
Description:
Update {{RaftGroupService#changePeersAsync}} method to support changing
learners configuration, for example:
{code:java}
/**
* @param peers New peers.
* @param learners New leaners.
* @param term Current known leader term.
* If real raft group term will be different - changePeers will be
skipped.
* @return A future.
*/
CompletableFuture<Void> changePeersAsync(List<Peer> peers, List<Peer> learners,
long term);
{code}
This also implies changing the signature of
{{RaftGroupEventsListener#onNewPeersConfigurationApplied}}:
{code:java}
/**
* Invoked on the leader, when new peers' configuration applied to raft group.
*
* @param peers list of peers, which was applied by raft group membership
configuration.
* @param learners list of learners, which was applied by raft group membership
configuration.
*/
void onNewPeersConfigurationApplied(List<PeerId> peers, List<PeerId> learners);
{code}
> Update changePeersAsync method to support learners configuration
> ----------------------------------------------------------------
>
> Key: IGNITE-18155
> URL: https://issues.apache.org/jira/browse/IGNITE-18155
> Project: Ignite
> Issue Type: Task
> Reporter: Aleksandr Polovtcev
> Assignee: Aleksandr Polovtcev
> Priority: Major
> Labels: ignite-3
>
> Update {{RaftGroupService#changePeersAsync}} method to support changing
> learners configuration, for example:
> {code:java}
> /**
> * @param peers New peers.
> * @param learners New leaners.
> * @param term Current known leader term.
> * If real raft group term will be different - changePeers will
> be skipped.
> * @return A future.
> */
> CompletableFuture<Void> changePeersAsync(List<Peer> peers, List<Peer>
> learners, long term);
> {code}
> This also implies changing the signature of
> {{RaftGroupEventsListener#onNewPeersConfigurationApplied}}:
> {code:java}
> /**
> * Invoked on the leader, when new peers' configuration applied to raft group.
> *
> * @param peers list of peers, which was applied by raft group membership
> configuration.
> * @param learners list of learners, which was applied by raft group
> membership configuration.
> */
> void onNewPeersConfigurationApplied(List<PeerId> peers, List<PeerId>
> learners);
> {code}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)