[
https://issues.apache.org/jira/browse/IGNITE-15732?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17434699#comment-17434699
]
Aleksey Plekhanov commented on IGNITE-15732:
--------------------------------------------
Cherry-picked to ignite-2.12
> 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
> Fix For: 2.13
>
> Time Spent: 40m
> Remaining Estimate: 0h
>
> 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)