[
https://issues.apache.org/jira/browse/IGNITE-22899?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Roman Puchkovskiy updated IGNITE-22899:
---------------------------------------
Description:
When a node starts and finds a ClusterResetMessage in its Vault, it executes
the CMG reset routine described in IGNITE-22807. If the message contains fields
related to the Metastorage (which means that MG repair is requested), the
following has to be done:
# Pause node startup before starting Metastorage
# On the repair conductor (that is, the node whose consistentId is the same as
the value of 'conductor' in the message), the following is done:
## Wait till all nodes specified in the 'nodes' field of the message pass
basic validation on the CMG
## Send a MetastorageRepairStartMessage to those nodes (see IGNITE-22900)
## After receiving responses from all the nodes (if a node leaves the
‘basically validated’ node set (or a higher set), the procedure ends with an
error and ‘cluster reset’ has to be repeated), the Conductor chooses new MG
nodes from those that successfully returned responses [the set of nodes that
returned successful responses is U] (by choosing top N ordering them by
index+term; N is metastorageReplicationFactor from the ClusterResetMessage)
## The Conductor submits CmgChangeMgNodesCommand (containing new MG nodes) to
the CMG
## The Conductor then chooses one of the new MG nodes having the highest
index+term as the new leader and sends it a BecomeMetastorageLeaderMessage
## After getting a successful response to BecomeMetastorageLeaderMessage, the
Conductor forms a new Raft configuration including all new MG nodes as the
voting set and other nodes from U as learners. It then does changePeers via the
new leader to switch to this configuration. After the leader elected on the
previous step (the sole leader) gets reelected (or ceases to be a leader), the
prohibition for it to send idle safe time commands and manage learners is lifted
was:
When a node starts and finds a ClusterResetMessage in its Vault, it executes
the CMG reset routine described in IGNITE-22807. If the message contains fields
related to the Metastorage (which means that MG repair is requested), the
following has to be done:
# Pause node startup before starting Metastorage
# On the repair conductor (that is, the node whose consistentId is the same as
the value of 'conductor' in the message), the following is done:
## Wait till all nodes specified in the 'nodes' field of the message pass
basic validation on the CMG
## Send a MetastorageRepairStartMessage to those nodes
## After receiving responses from all the nodes (if a node leaves the
‘basically validated’ node set (or a higher set), the procedure ends with an
error and ‘cluster reset’ has to be repeated), the Conductor chooses new MG
nodes from those that successfully returned responses [the set of nodes that
returned successful responses is U] (by choosing top N ordering them by
index+term; N is metastorageReplicationFactor from the ClusterResetMessage)
## The Conductor submits CmgChangeMgNodesCommand (containing new MG nodes) to
the CMG
## The Conductor then chooses one of the new MG nodes having the highest
index+term as the new leader and sends it a BecomeMetastorageLeaderMessage
## After getting a successful response to BecomeMetastorageLeaderMessage, the
Conductor forms a new Raft configuration including all new MG nodes as the
voting set and other nodes from U as learners. It then does changePeers via the
new leader to switch to this configuration. After the leader elected on the
previous step (the sole leader) gets reelected (or ceases to be a leader), the
prohibition for it to send idle safe time commands and manage learners is lifted
> Repair MG on node start
> -----------------------
>
> Key: IGNITE-22899
> URL: https://issues.apache.org/jira/browse/IGNITE-22899
> Project: Ignite
> Issue Type: Improvement
> Reporter: Roman Puchkovskiy
> Priority: Major
> Labels: ignite-3
>
> When a node starts and finds a ClusterResetMessage in its Vault, it executes
> the CMG reset routine described in IGNITE-22807. If the message contains
> fields related to the Metastorage (which means that MG repair is requested),
> the following has to be done:
> # Pause node startup before starting Metastorage
> # On the repair conductor (that is, the node whose consistentId is the same
> as the value of 'conductor' in the message), the following is done:
> ## Wait till all nodes specified in the 'nodes' field of the message pass
> basic validation on the CMG
> ## Send a MetastorageRepairStartMessage to those nodes (see IGNITE-22900)
> ## After receiving responses from all the nodes (if a node leaves the
> ‘basically validated’ node set (or a higher set), the procedure ends with an
> error and ‘cluster reset’ has to be repeated), the Conductor chooses new MG
> nodes from those that successfully returned responses [the set of nodes that
> returned successful responses is U] (by choosing top N ordering them by
> index+term; N is metastorageReplicationFactor from the ClusterResetMessage)
> ## The Conductor submits CmgChangeMgNodesCommand (containing new MG nodes)
> to the CMG
> ## The Conductor then chooses one of the new MG nodes having the highest
> index+term as the new leader and sends it a BecomeMetastorageLeaderMessage
> ## After getting a successful response to BecomeMetastorageLeaderMessage,
> the Conductor forms a new Raft configuration including all new MG nodes as
> the voting set and other nodes from U as learners. It then does changePeers
> via the new leader to switch to this configuration. After the leader elected
> on the previous step (the sole leader) gets reelected (or ceases to be a
> leader), the prohibition for it to send idle safe time commands and manage
> learners is lifted
>
--
This message was sent by Atlassian Jira
(v8.20.10#820010)