ydb-go-sdk's transactions are not committed using the `options.WithCommit()` option on last call `table.Transaction.Execute` in transaction
Low severity
GitHub Reviewed
Published
Apr 22, 2026
in
ydb-platform/ydb-go-sdk
•
Updated Apr 30, 2026
Package
Affected versions
>= 3.104.6, <= 3.134.1
Patched versions
3.134.2
Description
Published to the GitHub Advisory Database
Apr 30, 2026
Reviewed
Apr 30, 2026
Last updated
Apr 30, 2026
Impact
Transactions were NOT committed despite the explicit
options.WithCommitflag using table service client. Because of this, clients did not commit changes to the transaction, relying on the fact that the transaction commit was successful. This led (in rare cases) to a loss of data consistency.Patches
ydb-go-sdkcontains this problem in versions from v3.104.6 to v3.134.1. The fix for this problem has been released in version v3.134.2 (ydb-platform/ydb-go-sdk#2091).Workarounds
table.Transaction.CommitTx(ctx)instead useoptions.WithCommit().db.Table().DoTx(ctx, lambda)instead explicit start transaction on session.db.Query().Do(ctx, lambda)with the same logic inlambdaResources
Commit with bug ydb-platform/ydb-go-sdk@251128a
Commit with fix ydb-platform/ydb-go-sdk@25dcff4
References