commit 7e72167dfde0c9b87700cfe6f872784eb236537f from: Sergey Ostanevich date: Wed Jul 31 15:37:07 2024 UTC Generate changelog for 3.1.1 Also, remove unreleased/ entries. NO_DOC=changelog NO_TEST=changelog NO_CHANGELOG=changelog commit - 0ec2457a5cfcf8b73818bd6ce287f51b9b567ed8 commit + 7e72167dfde0c9b87700cfe6f872784eb236537f blob - ada12e2fc0aff7304eed563d6b5ffbd8a126290f (mode 644) blob + /dev/null --- changelogs/unreleased/bump-libcurl-to-8.8.0.md +++ /dev/null @@ -1,3 +0,0 @@ -## bugfix/build - -* Updated libcurl to version 8.8.0. blob - 76cb2f879ada1029554860f8bc87d0f3aa5d4023 (mode 644) blob + /dev/null --- changelogs/unreleased/config-not-a-table-role-error-message.md +++ /dev/null @@ -1,4 +0,0 @@ -## bugfix/config - -* Improved an error message on an attempt to use a non-table module as a role - (gh-10049). blob - 8c5b12e208ec956d4d0eb28d7b3b5317b0ee3631 (mode 644) blob + /dev/null --- changelogs/unreleased/config-support-vshard-ee.md +++ /dev/null @@ -1,4 +0,0 @@ -## bugfix/config - -* Support for `vshard-ee` in addition to `vshard` in the sharding configuration - logic (ghe-815). blob - 5a76a6dee739aa67f80d639084f41374265fe4f9 (mode 644) blob + /dev/null --- changelogs/unreleased/gh-10013-wal-queue-max-size.md +++ /dev/null @@ -1,4 +0,0 @@ -## bugfix/box - -* Fixed the `wal_queue_max_size` configuration option not being applied during - the initial configuration (gh-10013). blob - a053d42a19429a02c7bd4674e0143ceb37929f9e (mode 644) blob + /dev/null --- changelogs/unreleased/gh-10026-vy-index-build-crash-on-invalid-upsert-fix.md +++ /dev/null @@ -1,4 +0,0 @@ -## bugfix/vinyl - -* Fixed a bug when creation of a new index crashed while trying to process - an invalid `UPSERT` statement (gh-10026). blob - 615f97386687945b185c4c7acb4fd98542c19d0b (mode 644) blob + /dev/null --- changelogs/unreleased/gh-10087-update-quorum-in-on_commit-trigger.md +++ /dev/null @@ -1,7 +0,0 @@ -## bugfix/replication - -* Fixed the inability to add a new replica to the replicaset if the user has - manually made space `_cluster` synchronous. Now the synchronous replication - quorum is updated after the `_cluster` change is confirmed by a quorum rather - than immediately after persisting the configuration change in the WAL - (gh-10087). blob - 7d4023565ae3528f045def5ae879d3b997c5a49d (mode 644) blob + /dev/null --- changelogs/unreleased/gh-10090-tuple-hash-double-fix.md +++ /dev/null @@ -1,6 +0,0 @@ -## bugfix/core - -* Fixed a bug when hashing a tuple with `double` fields could crash. - The bug could trigger a crash in memtx while inserting a tuple into - a `hash` index and in vinyl while writing a bloom filter on dump or - compaction (gh-10090). blob - f02db6f5fc393f90b730fdb9bed953855a2ebd85 (mode 644) blob + /dev/null --- changelogs/unreleased/gh-10094-vy-index-drop-crash-fix.md +++ /dev/null @@ -1,4 +0,0 @@ -## bugfix/vinyl - -* Fixed a bug when a DDL operation dropping a unique index could crash - if performed concurrently with DML requests (gh-10094). blob - 7a40071c99a8ee86d9cb4f4b56e20e50c6b60e31 (mode 644) blob + /dev/null --- changelogs/unreleased/gh-10095-vy-index-update-def-fix.md +++ /dev/null @@ -1,4 +0,0 @@ -## bugfix/vinyl - -* Fixed a bug when a DDL operation crashed in case of extending the key parts - of a secondary index with the primary index key parts (gh-10095). blob - 3dff68a29588b96cf618e680b610eda273ba1840 (mode 644) blob + /dev/null --- changelogs/unreleased/gh-10099-vy-crash-on-invalid-upsert-fix.md +++ /dev/null @@ -1,4 +0,0 @@ -## bugfix/vinyl - -* Fixed a bug when an `upsert` statement crashed in case the created tuple had - fields conflicting with the primary key definition (gh-10099). blob - c52eea7512d727676173ff13282f197cc58c502c (mode 644) blob + /dev/null --- changelogs/unreleased/gh-10109-vy-read-iterator-fix.md +++ /dev/null @@ -1,4 +0,0 @@ -## bugfix/vinyl - -* Fixed a bug when a tuple was not returned by range `select`. The bug could - also trigger a crash in the read iterator (gh-10109). blob - 201f3af65239141f4911cd715f10a698fc2bb3f3 (mode 644) blob + /dev/null --- changelogs/unreleased/gh-10123-vy-tuple-field-lookup-fix.md +++ /dev/null @@ -1,4 +0,0 @@ -## bugfix/vinyl - -* Fixed a bug when internal optimization algorithm caused a crash while a read - thread tried to look up a tuple field (gh-10123). blob - ef4c9a3b00ba95f922529c664fba6272afae9bce (mode 644) blob + /dev/null --- changelogs/unreleased/gh-10128-vy-invalid-vylog-fix.md +++ /dev/null @@ -1,4 +0,0 @@ -## bugfix/vinyl - -* Fixed a bug when recovery failed with the error "Invalid VYLOG file: Run XXXX - forgotten but not registered" (gh-10128). blob - b393c594096814ddb09d7cdc222e731ad28f7427 (mode 644) blob + /dev/null --- changelogs/unreleased/gh-10163-fix-functional-index-drop-memleak.md +++ /dev/null @@ -1,3 +0,0 @@ -## bugfix/box - -* Fixed memory leak on functional index drop (gh-10163). blob - bd65ecb11a6d127a5a07469c4b8f30de3e6c38b9 (mode 644) blob + /dev/null --- changelogs/unreleased/gh-10173-is-sync-feature.md +++ /dev/null @@ -1,4 +0,0 @@ -## bugfix/core - -* Added the missing IPROTO_FEATURE_IS_SYNC feature, which requires - IPROTO_IS_SYNC in IPROTO_BEGIN/COMMIT requests on the server (gh-10173). blob - eaa4d2e96e8d15e92eeb2d504460639449054056 (mode 644) blob + /dev/null --- changelogs/unreleased/gh-10187-fix-memleaks-on-dead-fiber-usage.md +++ /dev/null @@ -1,3 +0,0 @@ -## bugfix/core - -* Fixed memory leaks on using dead fiber (gh-10187). blob - 872c3f4531673a79ee3e8f130babfa90427b6d65 (mode 644) blob + /dev/null --- changelogs/unreleased/gh-10196-fix-fiber-self-join-hang.md +++ /dev/null @@ -1,3 +0,0 @@ -## bugfix/core - -* Fixed hang on fiber self join (gh-10196). blob - 151f366d769619832f993aa3cf1465a0961f181c (mode 644) blob + /dev/null --- changelogs/unreleased/gh-10233-vy-snapshot-hang-fix.md +++ /dev/null @@ -1,4 +0,0 @@ -## bugfix/vinyl - -* Fixed a bug when a race between `box.snapshot` and the creation of a new - index could lead to a fiber hang (gh-10233, gh-10267). blob - 8fe3c07afd0e10811c916797ad5e541d244dfaa0 (mode 644) blob + /dev/null --- changelogs/unreleased/gh-10243-sql-varbinary-from-lua.md +++ /dev/null @@ -1,4 +0,0 @@ -## bugfix/sql - -* Fixed a bug with using a Lua varbinary object as a bound variable in - SQL (gh-10243). blob - 859bb4d7767984caa9f484aaa437ca16d1d4b08e (mode 644) blob + /dev/null --- changelogs/unreleased/gh-10277-vy-log-dump-after-gc-fix.md +++ /dev/null @@ -1,5 +0,0 @@ -## bugfix/vinyl - -* Fixed a bug when recovery could fail with the error "Invalid VYLOG file: - Deleted range XXXX has run slices" or "Invalid VYLOG file: Run XXXX committed - after deletion" after an index drop (gh-10277). blob - fd2a6322f895ee5682001a28ad26e6e6724675a2 (mode 644) blob + /dev/null --- changelogs/unreleased/gh-10278-vy-tuple-format-lookup-fix.md +++ /dev/null @@ -1,4 +0,0 @@ -## bugfix/vinyl - -* Fixed a multi-threading race condition that could cause a writer thread to - crash while looking up a tuple format (gh-10278). blob - 7684dd5bc42a0e4576b228e494a469a85c8947c9 (mode 644) blob + /dev/null --- changelogs/unreleased/gh-10292-vy-log-force-recovery.md +++ /dev/null @@ -1,4 +0,0 @@ -## bugfix/vinyl - -* The `force_recovery` mode can now be used to suppress "Invalid VYLOG file" - recovery errors (gh-10292). blob - c13ca7a1b18df29f1626f2a0f747e632eb803afc (mode 644) blob + /dev/null --- changelogs/unreleased/gh-5975-vy-duplicate-key-error-fix.md +++ /dev/null @@ -1,3 +0,0 @@ -## bugfix/vinyl - -* Fixed a bug when a duplicate key error referred to a wrong index (gh-5975). blob - fb243e56296c6344e3bae82b9dcee33509490746 (mode 644) blob + /dev/null --- changelogs/unreleased/gh-7502-bump-openssl.md +++ /dev/null @@ -1,3 +0,0 @@ -## feature/build - -* Updated OpenSSL to version 3.2.1 (gh-7502). blob - 4bede11b8c890ac69ae589775b75a11336d7483c (mode 644) blob + /dev/null --- changelogs/unreleased/gh-8130-enable-somaxconn-on-mac.md +++ /dev/null @@ -1,5 +0,0 @@ -## bugfix/core - -* Fixed the bug that on Mac the system setting `kern.ipc.somaxconn` was ignored - for listening sockets. Now it is used, but capped at 32367 due to how - `listen()` works on Mac (gh-8130). blob - f3c33c7eb310f94040a447b8811320bbb1b2a2cd (mode 644) blob + /dev/null --- changelogs/unreleased/gh-9094-timeout-on-too-big-xlog-subscribe.md +++ /dev/null @@ -1,4 +0,0 @@ -## bugfix/replication - -* Fixed a bug when a replica could timeout on subscribe if the master had to - open a big enough xlog file for that (gh-9094). blob - d6b4d2090a7d355ce5ceff6c55b35c5fce77a6d3 (mode 644) blob + /dev/null --- changelogs/unreleased/gh-9556-fix-uri-ipv6.md +++ /dev/null @@ -1,5 +0,0 @@ -## bugfix/lua/uri - -* Fixed a bug that caused characters A-F to be unsupported in IPv6 - addresses. Changed the `uri.format` output for IPv6 to be - encapsulated in brackets `[]` (gh-9556). blob - 15da09ef4eaf4528e3fcf176b4f6cd8b41477f43 (mode 644) blob + /dev/null --- changelogs/unreleased/gh-9621-netbox-worker-crash.md +++ /dev/null @@ -1,4 +0,0 @@ -## bugfix/lua - -* Fixed a corner case when the netbox connection's worker fiber case could crash - (gh-9621). blob - 7f9be6ccb26ff5e155ddd7601141f7a1c6b6ffe7 (mode 644) blob + /dev/null --- changelogs/unreleased/gh-9748-downstream-lag-bug.md +++ /dev/null @@ -1,4 +0,0 @@ -## bugfix/replication - -* Fixed a bug that the `box.info.replication[...].downstream.lag` value could be - misleading, not updating in time, frozen (gh-9748). blob - 6c067e5008d9fe7eca184608d67decf8b277fb8a (mode 644) blob + /dev/null --- changelogs/unreleased/gh-9769-vy-unique-nullable-index-fix.md +++ /dev/null @@ -1,4 +0,0 @@ -## bugfix/vinyl - -* Fixed a bug in the transaction manager when a tuple was not committed to - a unique nullable secondary index (gh-9769). blob - b7900f6877c7d689986941034cab36e8a2e3f3e7 (mode 644) blob + /dev/null --- changelogs/unreleased/gh-9826-netbox-on_schema_reload-close.md +++ /dev/null @@ -1,4 +0,0 @@ -## bugfix/lua - -* Fixed a bug that caused a `net.box` connection to crash after being closed - from the connection's `on_schema_reload` trigger (gh-9621). blob - 44cdc4cfd81ba3f6f770f9b4b636917553334b57 (mode 644) blob + /dev/null --- changelogs/unreleased/gh-9855-box-ctl-demote-guarantee-demoting.md +++ /dev/null @@ -1,5 +0,0 @@ -## bugfix/replication - -* Fixed a bug that allowed the old leader in - `box.cfg{election_mode = 'candidate'` mode to get re-elected after resigning - himself through `box.ctl.demote` (gh-9855). blob - 91c642d1e51414be5daa0edff03f4b291f1c2c01 (mode 644) blob + /dev/null --- changelogs/unreleased/gh-9893-rollback-ddl-on-_space-space.md +++ /dev/null @@ -1,3 +0,0 @@ -## bugfix/box - -* Fixed rollback of DDL statements on the `_space` space (gh-9893). blob - 679a69162e05806380e5df62c6a175d5d9c60453 (mode 644) blob + /dev/null --- changelogs/unreleased/gh-9916-registration-invalid-lsn.md +++ /dev/null @@ -1,5 +0,0 @@ -## bugfix/replication - -* Fixed a bug when an anonymous replica register or a replica name assignment - could fail with an error "LSN for ... is used twice" in release and crash in - debug (gh-9916). blob - 15f928af0744679cebe5a2fdb781fb4eab6ceba1 (mode 644) blob + /dev/null --- changelogs/unreleased/gh-9924-luajit-fixes.md +++ /dev/null @@ -1,17 +0,0 @@ -## bugfix/luajit - -Backported patches from the vanilla LuaJIT trunk (gh-9924). The following issues -were fixed as part of this activity: - -* Fixed `BC_VARG` recording. -* Fixed `ffi.alignof()` for reference types. -* Fixed `sizeof()` expression in C parser for reference types. -* Fixed `ffi.metatype()` for typedefs with attributes. -* Fixed `ffi.metatype()` for non-raw types. -* Fixed IR chain invariant in DCE. -* Fixed OOM errors handling during trace stitching. -* Fixed `IR_HREF` vs. `IR_HREFK` aliasing in non-`nil` store check. -* Fixed generation of Mach-O object files. -* Fixed undefined behavior when negating `INT_MIN` integers. -* Replaced the numeric values of NYI bytecodes that can't be compiled, with - their names in the `jit.dump()`. blob - f8ffbff55667aed9a3309f780fd0235a9b838a26 (mode 644) blob + /dev/null --- changelogs/unreleased/gh-9995-vy-scheduler-crash-fix.md +++ /dev/null @@ -1,4 +0,0 @@ -## bugfix/vinyl - -* Fixed a use-after-free bug in the compaction scheduler triggered by a race - with a concurrent DDL operation (gh-9995). blob - 340e0cb487566b7a9753372c2f02a545f4cfc516 (mode 644) blob + /dev/null --- changelogs/unreleased/ghe-827-etcd-ssl-cert.md +++ /dev/null @@ -1,4 +0,0 @@ -## bugfix/config - -* Added the `ssl.ssl_cert` configuration option for `etcd` configuration - storage (ghe-827). blob - /dev/null blob + 707d46eb978c41792d088e46d1c2cb8bbb225874 (mode 644) --- /dev/null +++ changelogs/3.1.1.md @@ -0,0 +1,142 @@ +# 3.1.1 + +Date: 2024-07-31 +Tag: 3.1.1 + +## Overview + +3.1.1 is the 2nd [stable][release_policy] version of the 3.1 release +series. It resolves 46 bugs since 3.1.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][issues] on GitHub. + +[release_policy]: https://www.tarantool.io/en/doc/latest/release/policy/ +[issues]: https://github.com/tarantool/tarantool/issues + +## 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][upgrade] using the `box.schema.upgrade()` procedure to unlock +all the new features of the 3.x series. + +[upgrade]: https://www.tarantool.io/en/doc/latest/book/admin/upgrades/ + +## Bugs fixed + +### Core + +* Fixed a bug when hashing a tuple with `double` fields could crash. + The bug could trigger a crash in memtx while inserting a tuple into + a `hash` index and in vinyl while writing a bloom filter on dump or + compaction (gh-10090). +* Fixed the bug that on Mac the system setting `kern.ipc.somaxconn` was ignored + for listening sockets. Now it is used, but capped at 32367 due to how + `listen()` works on Mac (gh-8130). +* Fixed memory leaks on using dead fiber (gh-10187). +* Fixed hang on fiber self join (gh-10196). +* Added the missing IPROTO_FEATURE_IS_SYNC feature, which requires + IPROTO_IS_SYNC in IPROTO_BEGIN/COMMIT requests on the server (gh-10173). +* Fixed the `wal_queue_max_size` configuration option not being applied during + the initial configuration (gh-10013). +* Fixed rollback of DDL statements on the `_space` space (gh-9893). +* Fixed memory leak on functional index drop (gh-10163). + +### Vinyl + +* Fixed a use-after-free bug in the compaction scheduler triggered by a race + with a concurrent DDL operation (gh-9995). +* Fixed a bug in the transaction manager when a tuple was not committed to + a unique nullable secondary index (gh-9769). +* Fixed a bug when creation of a new index crashed while trying to process + an invalid `UPSERT` statement (gh-10026). +* Fixed a bug when a duplicate key error referred to a wrong index (gh-5975). +* Fixed a bug when a DDL operation dropping a unique index could crash + if performed concurrently with DML requests (gh-10094). +* Fixed a bug when a DDL operation crashed in case of extending the key parts + of a secondary index with the primary index key parts (gh-10095). +* Fixed a bug when an `upsert` statement crashed in case the created tuple had + fields conflicting with the primary key definition (gh-10099). +* Fixed a bug when a tuple was not returned by range `select`. The bug could + also trigger a crash in the read iterator (gh-10109). +* Fixed a bug when internal optimization algorithm caused a crash while a read + thread tried to look up a tuple field (gh-10123). +* Fixed a bug when recovery failed with the error "Invalid VYLOG file: Run XXXX + forgotten but not registered" (gh-10128). +* Fixed a bug when a race between `box.snapshot` and the creation of a new + index could lead to a fiber hang (gh-10233, gh-10267). +* Fixed a multi-threading race condition that could cause a writer thread to + crash while looking up a tuple format (gh-10278). +* Fixed a bug when recovery could fail with the error "Invalid VYLOG file: + Deleted range XXXX has run slices" or "Invalid VYLOG file: Run XXXX committed + after deletion" after an index drop (gh-10277). +* The `force_recovery` mode can now be used to suppress "Invalid VYLOG file" + recovery errors (gh-10292). + +### Replication + +* Fixed a bug when a replica could timeout on subscribe if the master had to + open a big enough xlog file for that (gh-9094). +* Fixed a bug that the `box.info.replication[...].downstream.lag` value could be + misleading, not updating in time, frozen (gh-9748). +* Fixed a bug that allowed the old leader in + `box.cfg{election_mode = 'candidate'` mode to get re-elected after resigning + himself through `box.ctl.demote` (gh-9855). +* Fixed the inability to add a new replica to the replica set if the user has + manually made space `_cluster` synchronous. Now the synchronous replication + quorum is updated after the `_cluster` change is confirmed by a quorum rather + than immediately after persisting the configuration change in the WAL + (gh-10087). +* Fixed a bug when an anonymous replica register or a replica name assignment + could fail with an error "LSN for ... is used twice" in release and crash in + debug (gh-9916). + +### LuaJIT + +Backported patches from the vanilla LuaJIT trunk (gh-9924). The following issues +were fixed as part of this activity: + +* Fixed `BC_VARG` recording. +* Fixed `ffi.alignof()` for reference types. +* Fixed `sizeof()` expression in C parser for reference types. +* Fixed `ffi.metatype()` for typedefs with attributes. +* Fixed `ffi.metatype()` for non-raw types. +* Fixed IR chain invariant in DCE. +* Fixed OOM error handling during trace stitching. +* Fixed `IR_HREF` vs. `IR_HREFK` aliasing in non-`nil` store check. +* Fixed generation of Mach-O object files. +* Fixed undefined behavior when negating `INT_MIN` integers. +* Replaced the numeric values of NYI bytecodes that can't be compiled, with + their names in the `jit.dump()`. + +### Lua + +* Fixed a corner case when the netbox connection's worker fiber case could crash + (gh-9621). +* Fixed a bug that caused a `net.box` connection to crash after being closed + from the connection's `on_schema_reload` trigger (gh-9621). +* Fixed a bug that caused characters A-F to be unsupported in IPv6 + addresses. Changed the `uri.format` output for IPv6 to be + encapsulated in brackets `[]` (gh-9556). + +### SQL + +* Fixed a bug with using a Lua varbinary object as a bound variable in + SQL (gh-10243). + +### Config + +* Improved an error message on an attempt to use a non-table module as a role + (gh-10049). +* Support for `vshard-ee` in addition to `vshard` in the sharding configuration + logic (ghe-815). +* Added the `ssl.ssl_cert` configuration option for `etcd` configuration + storage (ghe-827). + +### Build + +* Updated libcurl to version 8.8.0. +* Updated OpenSSL to version 3.2.1 (gh-7502).