Denis Chudov created IGNITE-24072:
-------------------------------------

             Summary: Improve Raft configuration listener in order to process 
the pending assignments queue
                 Key: IGNITE-24072
                 URL: https://issues.apache.org/jira/browse/IGNITE-24072
             Project: Ignite
          Issue Type: Improvement
            Reporter: Denis Chudov


* The Raft configuration listener should also read pending assignments from 
meta storage interpreting them as a queue;
 * If there is one element in the queue, the configuration listener works in 
the same way as it does now: it saves the new Raft configuration as the stable 
assignments, and pending assignments entry in meta storage should be either 
removed or replaced with planned assignments if they exist, the planned 
assignments are also transformed in PAQ here;
 * If there is more than one element in PAQ, it means that the first element 
was just applied to the configuration. The listener should remove the first 
element from PAQ and save the new PAQ value to meta storage (through CAS with 
revision check, this logic remains). It also verifies that the target pending 
configuration is able to be achieved from the current one through the given 
PAQ, and if not, it should create the new PAQ. In this point, rebalancing is 
not completed and no more actions on this listener are required now; 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to