Skip to content

3.2.1

Latest
Compare
Choose a tag to compare
@sergepetrenko sergepetrenko released this 28 Oct 17:03
· 214 commits to master since this release

3.2.1

Date: 2024-10-28
Tag: 3.2.1

Overview

3.2.1 is the 2nd stable version of the 3.2 release
series. It resolves 46 bugs since 3.2.0.

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.

Compatibility

Tarantool 3.x is backward compatible with Tarantool 2.11.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 3.x series.

Bugs fixed

Core

  • Fixed a memory leak in coio on address resolution error (gh-10482).
  • Fixed a memory leak in IPROTO on execution of the callback installed with
    box.iproto.override() (gh-10477).
  • Fixed a memory leak on foreign key constraint check failure (gh-10476).
  • Fixed a memory leak on an attempt to create or modify a user denied due to
    access restrictions (gh-10485).
  • Fixed a crash when slab_alloc_factor was low and memory pressure was high
    (gh-10148).
  • Fixed a crash in swim on Tarantool shutdown (gh-10495).
  • Fixed a crash when the first of two consequent DDL operations was
    rolled back due to WAL failure (gh-10235).
  • Fixed an inconsistency between internal caches and system spaces with
    MVCC enabled that could lead to unexplainable errors (gh-10262).

Config

  • Fixed scaling a replicaset down to one instance (gh-10716).

Memtx

  • Fixed a crash on transaction rollback if memory usage was close to the limit
    (gh-10551).
  • Fixed several bugs when DDL with MVCC enabled could lead to a crash
    or violate isolation of other transactions (gh-10146).

Vinyl

  • Fixed a memory leak on dump/compaction failure (gh-10489).
  • Fixed a bug when index.select() could silently skip a tuple if it failed to
    load a row from a run file (gh-10512).
  • Lowered the level used for logging range dump, compaction, split, and
    coalesce events from INFO to VERBOSE (gh-10524).
  • Fixed a bug when a compaction task could crash on a disk read error
    (gh-10555).
  • Fixed a bug when index.select() executed in the read-confirmed
    transaction isolation mode (default for read-only transactions) could corrupt
    the tuple cache by creating a chain bypassing an unconfirmed tuple. The bug
    could lead to a crash or invalid query results (gh-10558).
  • Added a fiber slice check to index.count() to prevent it from blocking
    for too long while counting tuples in a space stored in memory (gh-10553).
  • Fixed a bug when an attempt to alter the primary index of an empty space
    triggered a crash if executed concurrently with a DML request (gh-10603).

Replication

  • Fixed a memory leak on disconnection from replica (gh-10480).
  • Fixed a memory leak on a replica when it was removed from the cluster
    (gh-10490).
  • Optimized synchronous transaction queue processing (gh-9917).

LuaJIT

Backported patches from the vanilla LuaJIT trunk (gh-10199). The following
issues were fixed as part of this activity:

  • Now 64-bit non-FAT Mach-O object files are generated via -b -o osx.
  • Fixed string.format() compilation with many elements.
  • Fixed dlerror() in FFI call returning NULL.
  • Fixed __tostring metamethod access to enum cdata value.
  • Fixed limit check in narrowing optimization.
  • Dropped finalizer table rehashing after GC cycle (gh-10290).
  • Fixed recording of select(string, ...).
  • Fixed stack allocation after on-trace stack check.
  • Fixed recording of __concat metamethod that throws an error.
  • Fixed bit op coercion in DUALNUM builds.
  • Fixed 64-bit shift fold rules.
  • Fixed loop optimizations for cdata arguments of vararg FFI functions.

Lua

  • Changed return value type of space:bsize() from cdata to number
    (gh-9735).

Xlog

  • Fixed a memory leak in xlog.pairs() on failure to open the file (gh-10479).

Iconv

  • Fixed a memory leak in iconv.new() (gh-10487).

Datetime

  • Fixed a bug that caused datetime.parse() ignore the tzoffset
    option if a custom format was used (gh-8333).
  • Forbid non-integers in datetime.new() (gh-10391).
  • Forbid non-integers in :set() and datetime.parse() (gh-10391).
  • Forbid non-integers in SQL's CAST({}) AS datetime (gh-10391).
  • Implemented the tz option in datetime:parse() (gh-10420).

Netbox

  • Fixed a crash when net.box triggers deleted themselves (gh-10622).

SQL

  • Fixed a memory leak on an attempt to alter a table view (gh-10484).

Build

  • The BUILD_MISC_DOCS curl option is now disabled by default (gh-10576).
  • Several forgotten curl options are set in our build script.
  • Updated libcurl to version curl-8_10_1-241-g461ce6c61 (gh-10576).