[
https://issues.apache.org/jira/browse/IGNITE-22990?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Roman Puchkovskiy updated IGNITE-22990:
---------------------------------------
Description:
If
* an operation (an RW read/write or a commit) concerns table T
* index I did not exist in InitialSchema for the transaction
* in the schema corresponding to the operation/commit index I on table T is at
least in the BUILDING state
then the schemas are not compatible.
In other words, we should not allow to commit an RW transaction which started
on a schema before an index was created in the Catalog, but which tries to
commit on a schema where the index was seen to be built.
This will make the mechanism introduced in IGNITE-21017 obsolete and it will
need to be removed (that is, we will need to both remove counting tx operations
in PartitionReplicaListener and remove the corresponding datastructure). The
reason is that the mechanism from IGNITE-21017 is heavier.
was:
If
* an operation (an RW read/write or a commit) concerns table T
* index I did not exist in InitialSchema for the transaction
* in the schema corresponding to the operation/commit index I on table T is at
least in the BUILDING state
then the schemas are not compatible.
In other words, we should not allow to commit an RW transaction which started
on a schema before an index was created in the Catalog, but which tries to
commit on a schema where the index was seen to be built.
This will make the mechanism introduced in IGNITE-21017 obsolete and it will
need to be removed. The reason is that the mechanism from IGNITE-21017 is
heavier.
> Treat a schema change in which an index appears and gets switched to BUILDING
> as incompatible
> ---------------------------------------------------------------------------------------------
>
> Key: IGNITE-22990
> URL: https://issues.apache.org/jira/browse/IGNITE-22990
> Project: Ignite
> Issue Type: Improvement
> Reporter: Roman Puchkovskiy
> Priority: Major
> Labels: ignite-3
>
> If
> * an operation (an RW read/write or a commit) concerns table T
> * index I did not exist in InitialSchema for the transaction
> * in the schema corresponding to the operation/commit index I on table T is
> at least in the BUILDING state
> then the schemas are not compatible.
> In other words, we should not allow to commit an RW transaction which started
> on a schema before an index was created in the Catalog, but which tries to
> commit on a schema where the index was seen to be built.
> This will make the mechanism introduced in IGNITE-21017 obsolete and it will
> need to be removed (that is, we will need to both remove counting tx
> operations in PartitionReplicaListener and remove the corresponding
> datastructure). The reason is that the mechanism from IGNITE-21017 is heavier.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)