[ 
https://issues.apache.org/jira/browse/IGNITE-28106?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18064078#comment-18064078
 ] 

Igor Sapego commented on IGNITE-28106:
--------------------------------------

LGTMĀ 

> .NET: Rollback of client transaction on a closed channel should not throw 
> exceptions
> ------------------------------------------------------------------------------------
>
>                 Key: IGNITE-28106
>                 URL: https://issues.apache.org/jira/browse/IGNITE-28106
>             Project: Ignite
>          Issue Type: Improvement
>          Components: platforms ai3, thin clients ai3
>    Affects Versions: 3.1
>            Reporter: Pavel Tupitsyn
>            Assignee: Pavel Tupitsyn
>            Priority: Major
>              Labels: ignite-3
>             Fix For: 3.2
>
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> Currently, if the client is closed (for example, if cluster node was 
> restarted, or if the connection was lost), the transaction rollback fails 
> with an error.
> In fact, the server rolls back all transactions when a client disconnects, so 
> we should not throw an exception.
> Reproducer:
> {code}
>         [Test]
>         public async Task TestRollBackOnClosedConnectionDoesNotThrow()
>         {
>             using var client = await IgniteClient.StartAsync(GetConfig());
>             await using var tx = await client.Transactions.BeginAsync();
>             await TestUtils.ForceLazyTxStart(tx, client);
>             // ReSharper disable once DisposeOnUsingVariable
>             client.Dispose();
>             Assert.DoesNotThrowAsync(() => tx.RollbackAsync());
>         }
> {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to