You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Aleksey Plekhanov (Jira)" <ji...@apache.org> on 2021/10/20 14:32:00 UTC

[jira] [Assigned] (IGNITE-15732) Thin client: Tx can fail if there are concurrent tx rollbacks by timeout

     [ https://issues.apache.org/jira/browse/IGNITE-15732?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Aleksey Plekhanov reassigned IGNITE-15732:
------------------------------------------

    Assignee: Aleksey Plekhanov

> Thin client: Tx can fail if there are concurrent tx rollbacks by timeout
> ------------------------------------------------------------------------
>
>                 Key: IGNITE-15732
>                 URL: https://issues.apache.org/jira/browse/IGNITE-15732
>             Project: Ignite
>          Issue Type: Bug
>            Reporter: Aleksey Plekhanov
>            Assignee: Aleksey Plekhanov
>            Priority: Major
>              Labels: ise
>
> Due to race between timeout worker and client-connector workers there can be situations when some transaction is processed by client-connector worker and concurrently rolled back by timeout worker. In this case, {{threadMap}} can still contain the reference to this transaction but the transaction state is already set to "ROLLED_BACK", for such a state client-connector worker does not suspend the transaction and can proceed to the next request, which uses another transaction. When resuming this second transaction there is an exception thrown, since {{IgniteTxManager#threadMap}} is not cleared yet for the current worker thread:
> {noformat}
> org.apache.ignite.client.ClientException: Ignite failed to process request [103]: Thread already has started a transaction. (server status code [1]){noformat}
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)