[
https://issues.apache.org/jira/browse/IGNITE-20863?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Kirill Tkalenko updated IGNITE-20863:
-------------------------------------
Description:
To implement IGNITE-20125, we need to correctly select the indexes into which
we will insert data during RW transactions update operations for partitions.
What do we need for this:
# Catalog version of the transaction by beginTs of the txId.
# Catalog version of the update operation for the transaction.
An approximate index selection algorithm:
# Start with the catalog version at the beginning of the transaction.
# Selecting all indexes by catalog version for a specific table.
## If the index is not in the resulting selection, then simply add it.
## If the index is already present in the resulting selection, then we do
nothing.
## If the index is present in the resulting selection but not in the catalog
version, then depending on its status it will be:
### registered - the index will be removed from the resulting selection.
### available - will remain in the resulting selection.
# Increase the catalog version, if it is greater than the directory version for
the update operation, then we will complete the index selection, else go to p.
2.
was:
To implement IGNITE-20125, we need to correctly select the indexes into which
we will insert data during update operations for partitions.
What do we need for this:
# Catalog version of the transaction by beginTs of the txId.
# Catalog version of the update operation for the transaction.
An approximate index selection algorithm:
# Start with the catalog version at the beginning of the transaction.
# Selecting all indexes by catalog version for a specific table.
## If the index is not in the resulting selection, then simply add it.
## If the index is already present in the resulting selection, then we do
nothing.
## If the index is present in the resulting selection but not in the catalog
version, then depending on its status it will be:
### registered - the index will be removed from the resulting selection.
### available - will remain in the resulting selection.
# Increase the catalog version, if it is greater than the directory version for
the update operation, then we will complete the index selection, else go to p.
2.
> Selecting indexes when performing update operations for partition
> -----------------------------------------------------------------
>
> Key: IGNITE-20863
> URL: https://issues.apache.org/jira/browse/IGNITE-20863
> Project: Ignite
> Issue Type: Improvement
> Reporter: Kirill Tkalenko
> Assignee: Kirill Tkalenko
> Priority: Major
> Labels: ignite-3
> Fix For: 3.0.0-beta2
>
> Time Spent: 20m
> Remaining Estimate: 0h
>
> To implement IGNITE-20125, we need to correctly select the indexes into which
> we will insert data during RW transactions update operations for partitions.
> What do we need for this:
> # Catalog version of the transaction by beginTs of the txId.
> # Catalog version of the update operation for the transaction.
> An approximate index selection algorithm:
> # Start with the catalog version at the beginning of the transaction.
> # Selecting all indexes by catalog version for a specific table.
> ## If the index is not in the resulting selection, then simply add it.
> ## If the index is already present in the resulting selection, then we do
> nothing.
> ## If the index is present in the resulting selection but not in the catalog
> version, then depending on its status it will be:
> ### registered - the index will be removed from the resulting selection.
> ### available - will remain in the resulting selection.
> # Increase the catalog version, if it is greater than the directory version
> for the update operation, then we will complete the index selection, else go
> to p. 2.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)