Skip to content

[WIP] [WIP] Address feedback on Oracle sessionless transaction implementation#3890

Open
Copilot wants to merge 3 commits into
sessionless-transactionfrom
copilot/wip-address-feedback-oracle-transaction-implementa
Open

[WIP] [WIP] Address feedback on Oracle sessionless transaction implementation#3890
Copilot wants to merge 3 commits into
sessionless-transactionfrom
copilot/wip-address-feedback-oracle-transaction-implementa

Conversation

Copilot AI commented May 27, 2026

Copy link
Copy Markdown
Contributor

Thanks for the feedback on #3887. I've created this new PR, which merges into #3887, to address your comment. I will work on the changes and keep this PR's description up to date as I make progress.

Original PR: #3887
Triggering review: #3887 (comment)

@copilot this seems unrelated to this PR, can you provide another PR resolving this issue

});
return transactionStatus;
} catch (RuntimeException e) {
synchronousConnectionManager.complete(newConnectionStatus);

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is it ok to complete transaction on exception @dstepanov ?

@radovanradic radovanradic marked this pull request as ready for review May 28, 2026 08:49
@radovanradic radovanradic requested a review from Copilot May 28, 2026 08:49

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR follows up on the Oracle sessionless transaction work by tightening cleanup in synchronous programmatic transaction creation when a newly acquired connection fails before completion synchronization is registered.

Changes:

  • Adds cleanup for newly acquired connections if transaction creation/begin fails.
  • Adds cleanup and resume handling for suspended transactions when REQUIRES_NEW / NOT_SUPPORTED setup fails.

Comment on lines +188 to +190
} catch (RuntimeException e) {
synchronousConnectionManager.complete(newConnectionStatus);
throw e;
Comment on lines +214 to 221
} catch (RuntimeException e) {
try {
if (newConnection != null) {
synchronousConnectionManager.complete(newConnection);
}
} finally {
doResume(existingTransaction);
synchronousConnectionManager.complete(newConnection);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants