[
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)