[
https://issues.apache.org/jira/browse/IGNITE-25355?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Aleksandr Polovtsev updated IGNITE-25355:
-----------------------------------------
Description:
There exists a method called
{{TableManager#prepareTableResourcesAndLoadToZoneReplica}} which is called in
two execution paths:
# In {{beforeReplicaStarted}} callback, in order to load the table resource
into the replica being started;
# During node recovery, when {{TableManager}} recovers tables from the catalog
on node start.
Depending on whether resources are being loaded into a zone replica during
recovery or not, they are created in different modes. However, when
{{prepareTableResourcesAndLoadToZoneReplica}} is called during recovery, no
replicas are actually started yet, so this method is a no-op and actual
resource loading always happens in the {{beforeReplicaStarted}} callback. This
is very confusing and leads to a bug: resources are never created in the
recovery mode.
> Fix Replica startup in the colocation track
> -------------------------------------------
>
> Key: IGNITE-25355
> URL: https://issues.apache.org/jira/browse/IGNITE-25355
> Project: Ignite
> Issue Type: Bug
> Reporter: Aleksandr Polovtsev
> Assignee: Aleksandr Polovtsev
> Priority: Major
> Labels: ignite-3
> Time Spent: 10m
> Remaining Estimate: 0h
>
> There exists a method called
> {{TableManager#prepareTableResourcesAndLoadToZoneReplica}} which is called in
> two execution paths:
> # In {{beforeReplicaStarted}} callback, in order to load the table resource
> into the replica being started;
> # During node recovery, when {{TableManager}} recovers tables from the
> catalog on node start.
> Depending on whether resources are being loaded into a zone replica during
> recovery or not, they are created in different modes. However, when
> {{prepareTableResourcesAndLoadToZoneReplica}} is called during recovery, no
> replicas are actually started yet, so this method is a no-op and actual
> resource loading always happens in the {{beforeReplicaStarted}} callback.
> This is very confusing and leads to a bug: resources are never created in the
> recovery mode.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)