You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Pavel Tupitsyn (Jira)" <ji...@apache.org> on 2026/03/09 10:05:00 UTC
[jira] [Created] (IGNITE-28107) C++: Rollback of client transaction on a closed channel should not throw exceptions
Pavel Tupitsyn created IGNITE-28107:
---------------------------------------
Summary: 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
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.
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)