Date: 2020-10-22 Tag: 2.5.2-1-gf63c43b
This release resolves roughly 25 issues since the 2.5.2 version. There may be bugs in less common areas. If you find any, feel free to report an issue at GitHub.
Tarantool 2.x is backward compatible with Tarantool 1.10.x in the binary data layout, client-server protocol, and replication protocol.
box.schema.upgrade() procedure to unlock all the new
features of the 2.x series.
- New function
space:alter(options)to change some space settings without recreation nor touching
_spacespace. Read more.
- Exposed the box region, key_def and several other functions in order to implement external tuple.keydef and tuple.merger modules on top of them (gh-5273, gh-5384).
- Fixed a bug related to ignoring internal getaddrinfo errors on macOS in logger (gh-4138).
- Fixed a crash when JSON tuple field access was used to get a multikey indexed field, and when a JSON contained [*] in the beginning (gh-5224).
- Fixed msgpack extension types decoding error message (gh-5016).
- Dropped restrictions on nullable multikey index root. They were introduced due to inaccuracy in multikey index realization. It is now fixed. Also all fields are now nullable by default as it was before 2.2.1 (gh-5192).
- Fixed fibers switch-over to prevent JIT machinery misbehavior. Trace recording is aborted when fiber yields the execution. The yield occurring while the compiled code is being run (it’s likely a function with a yield underneath called via LuaJIT FFI) leads to the platform panic (gh-1700, gh-4491).
- Fixed fibers switch-over to prevent implicit GC disabling. The yield occurring while user-defined __gc metamethod is running leads to the platform panic.
- Fixed a bug when a rolled back synchronous transaction could become committed after restart (gh-5140).
- Fixed crash in synchronous replication when master’s local WAL write fails (gh-5146).
- Instance will terminate if a synchronous transaction confirmation or rollback fail. Before it was undefined behavior (gh-5159).
- Snapshot could contain changes from a rolled back synchronous transaction (gh-5167).
- Fixed a crash when synchronous transaction’s rollback and confirm could be written simultaneously for the same LSN (gh-5185).
- Fixed a crash when replica cleared synchronous transaction queue, while it was not empty on master (gh-5195).
- During recovery of synchronous changes from snapshot the instance could crash (gh-5288).
- Having synchronous rows in the snapshot could make the instance hang on recovery (gh-5298).
- Anonymous replica could be registered and could prevent WAL files removal (gh-5287).
- XlogGapError is not a critical error anymore. It means, box.info.replication will show upstream status as ‘loading’ if the error was found. The upstream will be restarted until the error is resolved automatically with a help of another instance, or until the replica is removed from box.cfg.replication (gh-5287).
- Fixed the error occurring on loading luajit-gdb.py with Python 2 (gh-4828).
- Fixed a bug related to ignoring internal getaddrinfo errors. Now they can be thrown out by Lua socket functions (gh-4138).
- Fixed: import of table.clear() method (gh-5210). Affected versions: 2.5.0-265-g3af79e70b (inclusive) to 2.5.1-52-ged9a156 (exclusive).
- Fixed unhandled Lua error that may lead to memory leaks and
- SQL view are not alterable anymore. Beforehand it led to undefined behavior.
- Fixed potential lag on boot up procedure when system’s password database is slow in access (gh-5034).
- Get rid of typedef redefinitions for compatibility with C99 (gh-5313).