Tarantool 1.9
Release: v. 1.9.0
Release 1.9.0
Release type: stable. Release date: 2018-02-26. Tag: 1.9.0-4-g195d446.
Release: v. 1.9.0.
This is the successor of the 1.7.6 stable release. The goal of this release is increased maturity of vinyl and master-master replication, and it contributes a number of features to this cause. Please follow the download instructions at https://tarantool.io/en/download/download.html to download and install a package for your operating system.
Functionality added or changed:
- (Security) it is now possible to block/unblock users. (gh-2898).
- (Security) new function box.session.euid() to return effective user. Effective user can be different from authenticated user in case of
setuid
functions orbox.session.su
. (gh-2994).- (Security) new super role, with superuser access. Grant ‘super’ to guest to disable access control. (gh-3022).
- (Security) on_auth trigger is now fired in case of both successful and failed authentication. (gh-3039).
- (Replication/recovery) new replication configuration algorithm: if replication doesn’t connect to replication_quorum peers in replication_connect_timeout seconds, the server start continues but the server enters the new orphan status, which is basically read-only, until the replicas connect to each other. (gh-3151 and gh-2958).
- (Replication/recovery) after replication connect at startup, the server does not start processing write requests before syncing up syncing up with all connected peers.
- (Replication/recovery) it is now possible to explicitly set instance_uuid and replica set uuid as configuration parameters. (gh-2967).
- (Replication/recovery) box.once() no longer fails on a read-only replica but waits. (gh-2537).
- (Replication/recovery) force_recovery can now skip a corrupted xlog file. (gh-3076).
- (Replication/recovery) improved replication monitoring: box.info.replication shows peer ip:port and correct replication lag even for idle peers. (gh-2753 and gh-2689).
- (Application server) new before triggers which can be used for conflict resolution in master-master replication. (gh-2993).
- (Application server) http client now correctly parses cookies and supports http+unix:// paths. (gh-3040 and gh-2801).
- (Application server)
fio
rock now supportsfile_exists()
,rename()
works across filesystems, andread()
without arguments reads the whole file. (gh-2924, gh-2751 and gh-2925).- (Application server)
fio
rock errors now follow Tarantool function call conventions and always return an error message in addition to the error flag.- (Application server)
digest
rock now supports pbkdf2 password hashing algorithm, useful in PCI/DSS compliant applications. (gh-2874).- (Application server) box.info.memory() provides a high-level overview of server memory usage, including networking, Lua, transaction and index memory. (gh-934).
- (Database) it is now possible to add missing tuple fields to an index, which is very useful when adding an index along with the evolution of the database schema. gh-2988).
- (Database) lots of improvements in field type support when creating or altering spaces and indexes. (gh-2893, gh-3011 and gh-3008).
- (Database) it is now possible to turn on is_nullable property on a field even if the space is not empty, the change is instantaneous. (gh-2973).
- (Database) logging has been improved in many respects: individual messages (gh-1972, gh-2743, gh-2900), more logging in cases when it was useful (gh-3096, gh-2871).
- (Vinyl storage engine) it is now possible to make a unique vinyl index non-unique without index rebuild. (gh-2449).
- (Vinyl storage engine) improved UPDATE, REPLACE and recovery performance in presence of secondary keys. (gh-2289, gh-2875 and gh-3154).
- (Vinyl storage engine) space:len() and space:bsize() now work for vinyl (although they are still not exact). (gh-3056).
- (Vinyl storage engine) recovery speed has improved in presence of secondary keys. (gh-2099).
- (Builds) Alpine Linux support. (gh-3067).