[
https://issues.apache.org/jira/browse/IGNITE-23937?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Roman Puchkovskiy updated IGNITE-23937:
---------------------------------------
Description:
In PartitionReplicaListener, when handling WriteIntentSwitchReplicaRequests, we
don't do schema sync at the corresponding transaction begin ts, so, when we try
to access indices to remove writes from them for an aborting
WriteIntentSwitchReplicaRequest, we might see a stale Catalog and fail to get
indices for the table if the table is already dropped.
Apart from fixing this, we should probably also
* Make sure that all request types are added to tests in
PartitionReplicaListenerTest that verify schema sync
* Rearrange the code to make it more difficult to miss application of schema
sync when adding a new request type
was:In PartitionReplicaListener, when handling
WriteIntentSwitchReplicaRequests, we don't do schema sync at the corresponding
transaction begin ts, so, when we try to access indices to remove writes from
them for an aborting WriteIntentSwitchReplicaRequest, we might see a stale
Catalog and fail to get indices for the table if the table is already dropped.
> WriteIntentSwitchReplicaRequest handling misses schema sync
> -----------------------------------------------------------
>
> Key: IGNITE-23937
> URL: https://issues.apache.org/jira/browse/IGNITE-23937
> Project: Ignite
> Issue Type: Bug
> Reporter: Roman Puchkovskiy
> Priority: Major
> Labels: ignite-3
>
> In PartitionReplicaListener, when handling WriteIntentSwitchReplicaRequests,
> we don't do schema sync at the corresponding transaction begin ts, so, when
> we try to access indices to remove writes from them for an aborting
> WriteIntentSwitchReplicaRequest, we might see a stale Catalog and fail to get
> indices for the table if the table is already dropped.
> Apart from fixing this, we should probably also
> * Make sure that all request types are added to tests in
> PartitionReplicaListenerTest that verify schema sync
> * Rearrange the code to make it more difficult to miss application of schema
> sync when adding a new request type
--
This message was sent by Atlassian Jira
(v8.20.10#820010)