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

Anton Vinogradov updated IGNITE-12617:
--------------------------------------
    Description: 
Since IGNITE-9913, new-topology operations allowed immediately after 
cluster-wide recovery finished.

But is there any reason to wait for a cluster-wide recovery if only one node 
failed?
In this case, we should recover only the failed node's backups.
Unfortunately, RendezvousAffinityFunction tends to spread some node's backup 
partitions to the whole cluster. In this case, we, obviously have to perform 
cluster-wide recovery on switch.

But what if only some nodes will be the backups for every primary?

In case nodes combined into virtual cells where, for each partition, backups 
located at the same cell with primaries, it's possible to finish the switch 
outside the affected cell before tx recovery finish.

This optimization will allow us to start and even finish new operations outside 
the failed cell immediately.

In other words
- We should wait for tx recovery before finishing the global switch.
- We should wait for replicated caches recovery globally.
- As to partitioned caches, we have to minimize the waiting group to allow 
upcoming operations where possible during the switch.

  was:
In case nodes combined into virtual cells where, for each partition, backups 
located at the same cell with primaries, it's possible to finish the Switch 
outside the affected cell before tx recovery finish.

This optimization will allow us to start and even finish new operations without 
waiting for a cluster-wide Switch finish.

In other words
- We should wait for tx recovery before finishing the global switch.
- We should wait for replicated caches recovery globally.
- As to partitioned caches, we have to minimize the waiting group to allow 
upcoming operations where possible during the switch.


> PME-free switch should wait for recovery only at affected nodes.
> ----------------------------------------------------------------
>
>                 Key: IGNITE-12617
>                 URL: https://issues.apache.org/jira/browse/IGNITE-12617
>             Project: Ignite
>          Issue Type: Task
>            Reporter: Anton Vinogradov
>            Assignee: Anton Vinogradov
>            Priority: Major
>              Labels: iep-45
>             Fix For: 2.9
>
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> Since IGNITE-9913, new-topology operations allowed immediately after 
> cluster-wide recovery finished.
> But is there any reason to wait for a cluster-wide recovery if only one node 
> failed?
> In this case, we should recover only the failed node's backups.
> Unfortunately, RendezvousAffinityFunction tends to spread some node's backup 
> partitions to the whole cluster. In this case, we, obviously have to perform 
> cluster-wide recovery on switch.
> But what if only some nodes will be the backups for every primary?
> In case nodes combined into virtual cells where, for each partition, backups 
> located at the same cell with primaries, it's possible to finish the switch 
> outside the affected cell before tx recovery finish.
> This optimization will allow us to start and even finish new operations 
> outside the failed cell immediately.
> In other words
> - We should wait for tx recovery before finishing the global switch.
> - We should wait for replicated caches recovery globally.
> - As to partitioned caches, we have to minimize the waiting group to allow 
> upcoming operations where possible during the switch.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to