[ 
https://issues.apache.org/jira/browse/IGNITE-16011?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Kirill Gusakov updated IGNITE-16011:
------------------------------------
    Description: 
{color:#0e101a}When partition assignments are updated, we need to start raft 
changePeers and handle failover scenarios.{color}

 

{color:#0e101a}When metastore event about partition assignments updates 
received we need to:{color}

- Start all needed nodes 
{code:java}
partition.assignments.stable / partition.assignments.pending{code}
{color:#808080}
{color}- After successful starts - check if current node is the leader of raft 
group (leader response must be updated by current term) and 
changePeers(leaderTerm, peers). changePeers{color:#808080} {color}from old 
terms must be skipped.

{color:#0e101a}Also, we need the propagation of some new events from the raft 
side:{color}
 * {color:#0e101a}onLeaderChanged() - must be executed from the new leader when 
raft group changes the leader. Maybe we actually need to also check if a new 
lease is received - we need to investigate.{color}
 * {color:#0e101a}onChangePeersError() - must be executed when any errors 
during changePeers occurred{color}
 * {color:#0e101a}onChangePeersCommitted(peers -> closure) - must be executed 
with the list of new peers when changePeers has successfully done.{color}

{color:#0e101a}and handle them by appropriate way.{color}

 

 

 

(Phase 1)

  was:
{color:#0e101a}We need the propagation of some new events from the raft 
side:{color}
 * {color:#0e101a}onLeaderChanged() - must be executed from the new leader when 
raft group changes the leader. Maybe we actually need to also check if a new 
lease is received - we need to investigate.{color}
 * {color:#0e101a}onChangePeersError() - must be executed when any errors 
during changePeers occurred{color}
 * {color:#0e101a}onChangePeersCommitted(peers -> closure) - must be executed 
with the list of new peers when changePeers has successfully done.{color}

 

 

(Phase 1)


> Implement integration with raft changePeers for rebalance cases
> ---------------------------------------------------------------
>
>                 Key: IGNITE-16011
>                 URL: https://issues.apache.org/jira/browse/IGNITE-16011
>             Project: Ignite
>          Issue Type: Task
>            Reporter: Kirill Gusakov
>            Priority: Major
>              Labels: ignite-3
>
> {color:#0e101a}When partition assignments are updated, we need to start raft 
> changePeers and handle failover scenarios.{color}
>  
> {color:#0e101a}When metastore event about partition assignments updates 
> received we need to:{color}
> - Start all needed nodes 
> {code:java}
> partition.assignments.stable / partition.assignments.pending{code}
> {color:#808080}
> {color}- After successful starts - check if current node is the leader of 
> raft group (leader response must be updated by current term) and 
> changePeers(leaderTerm, peers). changePeers{color:#808080} {color}from old 
> terms must be skipped.
> {color:#0e101a}Also, we need the propagation of some new events from the raft 
> side:{color}
>  * {color:#0e101a}onLeaderChanged() - must be executed from the new leader 
> when raft group changes the leader. Maybe we actually need to also check if a 
> new lease is received - we need to investigate.{color}
>  * {color:#0e101a}onChangePeersError() - must be executed when any errors 
> during changePeers occurred{color}
>  * {color:#0e101a}onChangePeersCommitted(peers -> closure) - must be executed 
> with the list of new peers when changePeers has successfully done.{color}
> {color:#0e101a}and handle them by appropriate way.{color}
>  
>  
>  
> (Phase 1)



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to