[
https://issues.apache.org/jira/browse/IGNITE-28107?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Pavel Tupitsyn updated IGNITE-28107:
------------------------------------
Description:
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.
was:
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}
> C++: Rollback of client transaction on a closed channel should not throw
> exceptions
> -----------------------------------------------------------------------------------
>
> Key: IGNITE-28107
> URL: https://issues.apache.org/jira/browse/IGNITE-28107
> Project: Ignite
> Issue Type: Improvement
> Components: thin clients ai3
> Affects Versions: 3.1
> Reporter: Pavel Tupitsyn
> Assignee: Pavel Tupitsyn
> Priority: Major
> Labels: ignite-3
> Fix For: 3.2
>
>
> 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.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)