[
https://issues.apache.org/jira/browse/IGNITE-23881?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Mirza Aliev updated IGNITE-23881:
---------------------------------
Description:
h3. Motivation
For the purpose of the partition graceful start
https://issues.apache.org/jira/browse/IGNITE-23874
we need to implement the functionality to check if partition state machine has
user's input after raft group reconfiguration.
In the flow of the partition graceful start, when node send request to a node
from the next chain,
it specifies raft index of the conf, and the target node must answer if there
was user input after this raft group reconfiguration.
To receive this information, we must do two things: track and persist in the
partition state machine info if there was user input after raft
reconfiguration. This will be done
in this ticket https://issues.apache.org/jira/browse/IGNITE-23882
Second thing is the ability on node restart replay raft log in a safe mode and
track if there was not user inputs that weren't yet applied to state machine.
Safe mode means that we must exclude the situation when raft is started and
succesfully formed raft group and started to work. To prevent this, we can
apply to raft fake conf which contains
non-existing nodes. This will prevent such raft node to elect leader and form
raft group.
In this ticket the second thing must be implemented.
h3. Implementation notes
h3. Definition of done
* Node must be able on restart safely re-apply the rest of its log to state
machine,
so it could tell if there was user input into the specified partition after
specified raft re-configuration event.
> Add the ability to start raft in safe mode that will prevent leader election
> and will allow awaiting local raft log replay
> --------------------------------------------------------------------------------------------------------------------------
>
> Key: IGNITE-23881
> URL: https://issues.apache.org/jira/browse/IGNITE-23881
> Project: Ignite
> Issue Type: New Feature
> Reporter: Alexander Lapin
> Priority: Major
> Labels: ignite-3
>
> h3. Motivation
> For the purpose of the partition graceful start
> https://issues.apache.org/jira/browse/IGNITE-23874
> we need to implement the functionality to check if partition state machine
> has user's input after raft group reconfiguration.
> In the flow of the partition graceful start, when node send request to a node
> from the next chain,
> it specifies raft index of the conf, and the target node must answer if there
> was user input after this raft group reconfiguration.
> To receive this information, we must do two things: track and persist in the
> partition state machine info if there was user input after raft
> reconfiguration. This will be done
> in this ticket https://issues.apache.org/jira/browse/IGNITE-23882
> Second thing is the ability on node restart replay raft log in a safe mode
> and track if there was not user inputs that weren't yet applied to state
> machine.
> Safe mode means that we must exclude the situation when raft is started and
> succesfully formed raft group and started to work. To prevent this, we can
> apply to raft fake conf which contains
> non-existing nodes. This will prevent such raft node to elect leader and form
> raft group.
> In this ticket the second thing must be implemented.
> h3. Implementation notes
> h3. Definition of done
> * Node must be able on restart safely re-apply the rest of its log to state
> machine,
> so it could tell if there was user input into the specified partition after
> specified raft re-configuration event.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)