ydb-go-sdk's transactions are not committed using the `options.WithCommit()` option on last call `table.Transaction.Execute` in transaction
Transactions were NOT committed despite the explicit options.WithCommit flag 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.
ydb-go-sdk contains 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 (https://github.com/ydb-platform/ydb-go-sdk/pull/2091).
table.Transaction.CommitTx(ctx) instead use options.WithCommit().db.Table().DoTx(ctx, lambda) instead explicit start transaction on session.db.Query().Do(ctx, lambda) with the same logic in lambdaCommit with bug https://github.com/ydb-platform/ydb-go-sdk/commit/251128a64763555d9a79ee7a131dd154c9000eb9 Commit with fix https://github.com/ydb-platform/ydb-go-sdk/commit/25dcff4c41153f1f9413512ba12999b40bf7154d
왜 이 VPI인가 (설명가능 · 실험적)
VPI 산정 기준
| 영향도(심각도 등급 추정치) | 20.00 |
| 악용 신호(추가 악용신호 없음) | ×1.00 |
| VPI | 20.00 |
VPI 공식 vpi-v1 기준