IGNITE-27091 Fix client tx rollback to ignore connection errors#7671
Open
ptupitsyn wants to merge 12 commits intoapache:mainfrom
Open
IGNITE-27091 Fix client tx rollback to ignore connection errors#7671ptupitsyn wants to merge 12 commits intoapache:mainfrom
ptupitsyn wants to merge 12 commits intoapache:mainfrom
Conversation
…channel should not throw exceptions https://issues.apache.org/jira/browse/IGNITE-27091
There was a problem hiding this comment.
Pull request overview
This PR addresses connection error handling during client transaction rollback operations. When a client disconnects or the server becomes unavailable, rollback operations now gracefully ignore connection exceptions instead of throwing errors, since the transaction is effectively rolled back on the server side when the connection is lost.
Changes:
- Modified client transaction rollback logic to catch and ignore
IgniteClientConnectionExceptionduring rollback operations - Added integration test to verify rollback behavior when client disconnects
- Added unit test to verify rollback behavior when server disconnects
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| ClientTransaction.java | Wrapped rollback logic to catch connection exceptions and return successfully, recognizing that disconnection implies server-side rollback |
| ItThinClientTransactionsTest.java | Added integration test verifying rollback succeeds after client disconnect for both sync and async cases |
| ClientTransactionsTest.java | Added unit test verifying rollback succeeds after server disconnect for both sync and async cases |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
...tionTest/java/org/apache/ignite/internal/runner/app/client/ItThinClientTransactionsTest.java
Outdated
Show resolved
Hide resolved
modules/client/src/test/java/org/apache/ignite/client/ClientTransactionsTest.java
Outdated
Show resolved
Hide resolved
…ansactionsTest.java Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…rnal/runner/app/client/ItThinClientTransactionsTest.java Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
# Conflicts: # modules/client/src/main/java/org/apache/ignite/internal/client/tx/ClientTransaction.java
ascherbakoff
approved these changes
Feb 27, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
When the client disconnects, server rolls back the transaction automatically, so it does not make sense to throw
IgniteClientConnectionExceptionfromrollbackorrollbackAsync.