[
https://issues.apache.org/jira/browse/IGNITE-21111?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Roman Puchkovskiy updated IGNITE-21111:
---------------------------------------
Summary: Mechanism to wait for completion of in-flight operations of RW
transactions started before index appearance (was: Mechanism to wait for
completion of in-flight operations started before index appearance)
> Mechanism to wait for completion of in-flight operations of RW transactions
> started before index appearance
> -----------------------------------------------------------------------------------------------------------
>
> Key: IGNITE-21111
> URL: https://issues.apache.org/jira/browse/IGNITE-21111
> Project: Ignite
> Issue Type: Improvement
> Reporter: Roman Puchkovskiy
> Priority: Major
> Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>
> The mechanism must enable the following:
> # Forbid to new operations to start on schema versions before the index
> appearance
> # Waiting for completion of all in-flight operations that started on schema
> versions before the index appearance
> # Fail all operations that attempt to start on schema versions with the
> index, but which transactions started before the index appearance
> This can be achieved using an in-memory data structure with counters of
> active in-flight operations per Catalog Version and the
> MinAllowableCatalogVersionToStartOperation.
> The following would be executed atomically wrt to each other:
> # Raising MinAllowableCatalogVersionToStartOperation when an index in the
> BACKFILLING state appears
> # Conditionally adding a new operation (with its operationTs and the
> corresponding Catalog version) to the structure (actually, increementing the
> corresponding counter) [the increment only happens if the operation Catalog
> version is still allowable wrt MinAllowableCatalogVersionToStartOperation;
> otherwise, failure is indicated by returning false)
> # Notifying a listener that no operations remain on Catalog versions lower
> than target version.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)