Skip to content

Conversation

@Centril
Copy link
Contributor

@Centril Centril commented Nov 11, 2025

Description of Changes

Adds ProcedureContext::{with_tx, try_with_tx}.

Fixes #3515.

API and ABI breaking changes

None

Expected complexity level and risk

2

Testing

An integration test test_calling_with_tx is added.

@Centril Centril force-pushed the centril/proc-with-transaction branch 2 times, most recently from fcaf181 to ef30e09 Compare November 12, 2025 18:55
@Centril Centril changed the title Add ProcedureContext::with_transaction Add ProcedureContext::with_tx Nov 12, 2025
Copy link
Contributor

@gefjon gefjon left a comment

Choose a reason for hiding this comment

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

  • See comment in ModuleSubscriptions::send_procedure_message: I think (but am not confident) that we need to pass the procedure's last-referenced TX offset through and delay the procedure message in the case where the client is subscribed to confirmed reads. If I'm wrong about that because the queue is ordered anyways, you should instead update the comment with my reasoning. But I don't think that's right - if the client is not subscribed to the TX's writes, or if the TX was aborted rather than committed, we still should delay the procedure result message. In the rolled-back TX case we should include the most recent committed TX at the time of the rollback, I think.
  • I would greatly appreciate a test case added to the sdk-test-procedure module and sdks/rust/tests/procedure-client which exercises this functionality, including observing rows inserted within the TX.

@bfops bfops added the release-any To be landed in any release window label Nov 17, 2025
@Centril Centril force-pushed the centril/proc-with-transaction branch 4 times, most recently from bef087f to 8da6dbe Compare November 19, 2025 01:15
Copy link
Contributor

@gefjon gefjon left a comment

Choose a reason for hiding this comment

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

This looks great, thanks! Minor nits which I'll trust you to handle appropriately.

@Centril Centril force-pushed the centril/proc-with-transaction branch from 649057b to fedede8 Compare November 19, 2025 18:09
@Centril Centril enabled auto-merge November 19, 2025 18:10
@Centril Centril force-pushed the centril/proc-with-transaction branch from fedede8 to b769e58 Compare November 19, 2025 19:02
@Centril Centril added this pull request to the merge queue Nov 19, 2025
Merged via the queue into master with commit 0a32517 Nov 19, 2025
34 of 37 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

release-any To be landed in any release window

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Procedures: Add transaction API

5 participants