Tarantool 2.8.4
Released on 2022-04-25.
- Release: v. 2.8.4.
- Tag:
2.8.4
.
2.8.4 is the third stable version of the 2.8 release series. It introduces 1 improvement and resolves 16 bugs since version 2.8.3.
The “stable” label means that we have all planned features implemented and we see no high-impact issues. However, if you encounter an issue, feel free to report it on GitHub.
Tarantool 2.x is backward compatible with Tarantool 1.10.x in the binary data layout, client-server protocol, and replication protocol.
Please
upgrade
using the box.schema.upgrade()
procedure to unlock all the new
features of the 2.x series.
- Support fedora-35 build (gh-6692).
- Fixed a crash that could happen in case a tuple is deleted from a functional index while there is an iterator pointing to it (gh-6786).
- Fixed memory leak in interactive console (gh-6817).
- Fixed an assertion fail when passing tuple without primary key fields to before_replace trigger. Now tuple format is checked before execution of before_replace triggers and after each one (gh-6780).
- Banned DDL operations in space
on_replace
triggers, since they could lead to a crash (gh-6920). - Fixed a bug due to which all fibers created with
fiber_attr_setstacksize()
leaked until the thread exit. Their stacks also leaked except whenfiber_set_joinable(..., true)
was used.
- Reconfiguration of
box.cfg.election_timeout
could lead to a crash or undefined behaviour if done during an ongoing election with a special WAL write in progress.
- Fixed top part of Lua stack (red zone, free slots, top slot)
unwinding in
lj-stack
command. - Added the value of
g->gc.mmudata
field tolj-gc
output. string.char()
builtin recording is fixed in case when no arguments are given (gh-6371, gh-6548).- Actually made JIT respect
maxirconst
trace limit while recording (gh-6548).
- Added iterator type checking and allow to pass iterator as a
box.index.{ALL,GT,…}
directly (gh-6501).
- Fixed invalid headers after redirect (gh-6101).
- When
force_recovery
cfg option is set, Tarantool is able to boot fromsnap
/xlog
combinations wherexlog
covers changes committed both before and aftersnap
creation. For example,0...0.xlog
, covering everything up tovclock {1: 15}
and0...09.snap
, corresponding tovclock {1: 9}
(gh-6794).