Aleksey Plekhanov created IGNITE-15732:
------------------------------------------

             Summary: 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


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)

Reply via email to