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

Denis Chudov updated IGNITE-20993:
----------------------------------
    Description: 
*Motivation*

Currently the following is possible:
 * node A performs the recovery on revision _x_ and in case of absence of 
stable assignments calculates the assignments from data nodes for this revision;
 * node B is doing the same for recovery revision _y_ which is not equal to 
{_}x{_}.

As a result, they can start partitions for different assignments which are not 
consistent, and this can lead to side effects like unavailability of the 
majority for some partitions, and ambiguous unpredictable assignments will be 
written to meta storate due to the race between these nodes.

*Definition of done*

The multiple nodes performing recovery always start partitions for assignments 
calculated for the same revision.

*Implementation notes*

The common revision for different nodes in this case can be revision on which 
the table was created, this revision can be saved to meta storage under the 
special key.

 

  was:
*Motivation*

Currently the following is possible:
 * node A performs the recovery on revision _x_ and in case of absence of 
stable assignments calculates the assignments from data nodes for this revision;
 * node B is doing the same for recovery revision _y_ which is not equal to 
{_}x{_}.

As a result, they can start partitions for different assignments which are not 
consistent, and this can lead to side effects like unavailability of the 
majority for some partitions. 

*Definition of done*

The multiple nodes performing recovery always start partitions for assignments 
calculated for the same revision.

*Implementation notes*

The common revision for different nodes in this case can be revision on which 
the table was created, this revision can be saved to meta storage under the 
special key.

 


> Make the tables recover on the same assignments on different nodes
> ------------------------------------------------------------------
>
>                 Key: IGNITE-20993
>                 URL: https://issues.apache.org/jira/browse/IGNITE-20993
>             Project: Ignite
>          Issue Type: Improvement
>            Reporter: Denis Chudov
>            Priority: Major
>              Labels: ignite-3
>
> *Motivation*
> Currently the following is possible:
>  * node A performs the recovery on revision _x_ and in case of absence of 
> stable assignments calculates the assignments from data nodes for this 
> revision;
>  * node B is doing the same for recovery revision _y_ which is not equal to 
> {_}x{_}.
> As a result, they can start partitions for different assignments which are 
> not consistent, and this can lead to side effects like unavailability of the 
> majority for some partitions, and ambiguous unpredictable assignments will be 
> written to meta storate due to the race between these nodes.
> *Definition of done*
> The multiple nodes performing recovery always start partitions for 
> assignments calculated for the same revision.
> *Implementation notes*
> The common revision for different nodes in this case can be revision on which 
> the table was created, this revision can be saved to meta storage under the 
> special key.
>  



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

Reply via email to