txn: implement timeout for transactions
Client code errors or manual mistakes can create transactions that are never closed. Such transaction will work as a memory leak. Implement timeout for transactions after which they are rolled back. Part of #6177 @TarantoolBot document Title: ability to set timeout for transactions was implemented Previously transactions are never closed until commit or rollback. Timeout for transactions was implemented after which they are rolled back. For these purpose, in `box.begin` the optional table parameter was added. For example if user want to start transaction with timeout 3s, he should use `box.begin({timeout = 3})`. Also was implement new configuration option `box.cfg.txn_timeout` which determines timeout for transactions, for which the timeout was not explicitly set. By default this option is set to infinity (TIMEOUT_INFINITY = 365 * 100 * 86400). Also in C API was added new function to set timeout for transaction - 'box_txn_set_timeout'.
Showing
- changelogs/unreleased/gh-6177-implement-txn-timeout.md 6 additions, 0 deletionschangelogs/unreleased/gh-6177-implement-txn-timeout.md
- extra/exports 1 addition, 0 deletionsextra/exports
- src/box/box.cc 26 additions, 0 deletionssrc/box/box.cc
- src/box/box.h 7 additions, 0 deletionssrc/box/box.h
- src/box/errcode.h 2 additions, 0 deletionssrc/box/errcode.h
- src/box/lua/cfg.cc 9 additions, 0 deletionssrc/box/lua/cfg.cc
- src/box/lua/load_cfg.lua 3 additions, 0 deletionssrc/box/lua/load_cfg.lua
- src/box/lua/schema.lua 15 additions, 1 deletionsrc/box/lua/schema.lua
- src/box/txn.c 67 additions, 1 deletionsrc/box/txn.c
- src/box/txn.h 24 additions, 0 deletionssrc/box/txn.h
- test/app-tap/init_script.result 1 addition, 0 deletionstest/app-tap/init_script.result
- test/box/admin.result 2 additions, 0 deletionstest/box/admin.result
- test/box/cfg.result 4 additions, 0 deletionstest/box/cfg.result
- test/box/error.result 2 additions, 0 deletionstest/box/error.result
- test/box/tx_timeout.result 219 additions, 0 deletionstest/box/tx_timeout.result
- test/box/tx_timeout.test.lua 82 additions, 0 deletionstest/box/tx_timeout.test.lua
Loading
Please register or sign in to comment