[
https://issues.apache.org/jira/browse/IGNITE-24522?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Aleksandr Polovtsev updated IGNITE-24522:
-----------------------------------------
Description:
When a Raft snapshot is taken over a Zone Raft group, we have a bunch of table
storages that will participate in this snapshot. However, the set of these
storages can change, because new tables can be created and added to zone
concurrently. We need to introduce proper synchronization, so that new storages
do not interfere with creating a snapshot and cover it with tests.
Note that this only affects creating and sending a snapshot, because when
receiving a snapshot, new tables will simply remain empty, which is fine,
because a snapshot is tied to a particular catalog version.
Also note that same races exist when tables are being removed from a zone, but
this will be covered in a different ticket.
> Fix races on concurrent Raft snapshot creation and adding new tables
> --------------------------------------------------------------------
>
> Key: IGNITE-24522
> URL: https://issues.apache.org/jira/browse/IGNITE-24522
> Project: Ignite
> Issue Type: Task
> Reporter: Aleksandr Polovtsev
> Assignee: Aleksandr Polovtsev
> Priority: Major
> Labels: ignite-3
>
> When a Raft snapshot is taken over a Zone Raft group, we have a bunch of
> table storages that will participate in this snapshot. However, the set of
> these storages can change, because new tables can be created and added to
> zone concurrently. We need to introduce proper synchronization, so that new
> storages do not interfere with creating a snapshot and cover it with tests.
> Note that this only affects creating and sending a snapshot, because when
> receiving a snapshot, new tables will simply remain empty, which is fine,
> because a snapshot is tied to a particular catalog version.
> Also note that same races exist when tables are being removed from a zone,
> but this will be covered in a different ticket.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)