ChangeLog 1.5 - tsafin/tarantool GitHub Wiki

Version 1.5.3

(bugfix release, released 2014-01-28)

Incompatible changes

The number of log levels is increased by 1. Anyone using a non-default log_level setting in the configuration file should modify their configuration file to preserve the same level of log verbosity.

Bugs fixed (server)

  • gh-69 A new severity '!' introduced for system errors. System errors are errors a system administrator shoud pay particular attention to, so a dedicated log level was introduced for them. @kostja
  • gh-79 Additional check for memory allocations were implemented in the TREE index. @alyapunov
  • gh-136 Call box.dostring('box.cfg.wal_mode') could crash the server @pmwkaa
  • gh-171 A few inconsistencies in the RPM specification were fixed. @pmwkaa

Bugs fixed (tools)

  • a memory leak in tarantool --cat was fixed @bigbes92
  • tarantool --cat now supports DELETE from Tarantool 1.3 @kostja
  • tarantar manpage was added @pgulutzan

Version 1.5.2

(bugfix release, released 2013-12-06)

Incompatible changes

  • TEE option in the command line client (tarantool) is replaced with analogous PAGER option, gh-59, @bigbes92

New and obsolete platforms

Ubuntu "Quantal", "Raring" and "Saucy" were added. Debian "Squeeze" is no longer supported. There is now a spec for building Tarantool "DMG" packages on Mac OS X. SUSE 13.1 support has been added for builds from the source code. Numerous fixes in the RPM spec file.

Functionality added or changed

  • instead of using a pure copy-on-write and fork() for snapshot, Tarantool began using tuple versions when saving a snapshot. During a snapshot, the slab allocator is put into "delayed free" mode, in which old tuples are not removed, so that they can be put into the snapshot. Once a snapshot is done, these tuples are garbage collected. This significantly improved the speed of fork() for save snapshot and reduced snapshot process memory consumption (patch by odnoklassniki, gh-47, @nevinitsin).

  • the previous feature unraveled a bug in OpenVZ which caused Tarantool to crash with segmentation violation under OpenVZ. While the bug in OpenVZ is being fixed, a patch which automatically detects OpenVZ and disables tuple versioning on it was implemented gh-91, @unera

  • replica process title and 'show info' now reflects the state of a replica. When the replica has just started, the field contains connecting, once connected, the field says connected, and if connection has failed and the replica is trying to reconnect, the field contains failed, @rtsisyk

  • a new statement on the administrative console show index displays memory used by Tarantool indexes (odnoklassniki contribution, @nevinitsin)

  • show slab now displays the amount of memory wasted by the slab allocator due to internal fragmentation (odnoklassniki contribution, @nevinitsin)

  • when saving a snapshot, with snap_io_rate_limit set, the server now fsync()s the snapshot file once in every snap_io_rate_limit bytes. This reduces potentially destructive impact of the file system cache and its parameters on disk utilization, i.e. actually does the job snap_io_rate_limit was designed to do (odnoklassniki contribution, @nevinitsin)

  • there is now a local Lua table box.session.storage in every connection which is automatically cleaned up by the server when the connection is destroyed, gh-26, @unera

  • a new UPDATE operation multi-delete can delete multiple fields, @rtsisyk

  • when reading the snapshot, the server now responds to signals and can be terminated, @rtsisyk

  • replication spawner process now ignores SIGUSR1/SIGUSR2 signals, since these signals are used to save a snapshot and should not kill any application in tarantool server process group, @kostja

  • Tarantool now tries to give the logger option in the configuration file a basic check at the start, and refuses to start if it turns out to be broken. Otherwise, if logger option was set incorrectly, the server could not even complain about it anywhere, since it had no logs, @kostja

  • Lua io and package libraries were added to the list of libraries disabled in sandbox mode. @kostja

  • numerous additions and improvements in the User Guide @pgulutzan

    • new Tarantool tutorial
    • description of the binary format of the write ahead log
    • tarantar, tarancheck, tarantool, tarantool_deploy utilities documented
    • basic examples for a few programming languages, PHP, Perl, Python, C
    • documentation for Tarantool plugins, in particular MySQL and PostgreSQL connector plugin
    • a Lua tutorial
    • numerous corrections and improvements throughout the manual
    • added a new manual Appendix with server limitations
  • tarantool command line client now only requires one of the ports (either binary -p or administrative -a) and discovers the remaining ports automatically using the specified port gh-90, @bigbes92

  • tarantool command line client now supports PAGER option. For example, you can set pager to grep to filter server output, gh-59, @bigbes92

  • tarantar now supports log_dir/snap_dir options in the configuration file @bigbes92

  • tarantar now can be given a memory limit, work in daemon mode, and create a snapshot up to the given LSN. @pmwkaa

  • tarantool printer for snapshots and xlogs was prettified, added filtering support for LSNs when playing snapshot files gh-102 @bigbes92

Bugs fixed (server)

Bugs fixed (tools)