[
https://issues.apache.org/jira/browse/IGNITE-21618?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Denis Chudov reassigned IGNITE-21618:
-------------------------------------
Assignee: Denis Chudov
> In-flights for read-only transactions
> -------------------------------------
>
> Key: IGNITE-21618
> URL: https://issues.apache.org/jira/browse/IGNITE-21618
> Project: Ignite
> Issue Type: Improvement
> Reporter: Denis Chudov
> Assignee: Denis Chudov
> Priority: Major
> Labels: ignite-3
>
> *Motivation*
> We need to make solid mechanism of closing read-only transactions' resources
> (scan cursors, etc.) on remote servers after tx finish. Resources are
> supposed to be closed by the requests from coordinator sent from a separate
> cleanup thread after the tx is finished, to maximise the performance of the
> tx finish itself and because these requests are needed only for resource
> cleanup. But we need to prevent a race, such as:
> * tx request supposing to create a scan cursor on remote server is sent
> * tx is finished
> * cleanup thread sends cleanup request
> * cleanup request reaches remote server
> * tx request reaches the remote server and opens a cursor that will never be
> closed.
> We need to ensure that cleanup request will be not sent until the coordinator
> receives responses for all requests that sent before tx finish, and no
> requests are allowed after tx finish. Something similar to RW inflight
> requests counter for RO is to be done.
> *Definition of done*
> Cleanup request from cleanup thread will be not sent until the coordinator
> receives responses for all requests that sent before tx finish, and no
> requests are allowed after tx finish.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)