From ae9095ec3b75d42a812164e65ad477923480cd4e Mon Sep 17 00:00:00 2001 From: Nick Volynkin Date: Fri, 20 Aug 2021 16:32:23 +0700 Subject: [PATCH 01/12] Add a blog post about Tarantool releases in Aug 2021 --- doc/release.rst | 7 +- doc/release/2021-08-releases.rst | 380 +++++++++++++++++++++++++++++++ 2 files changed, 384 insertions(+), 3 deletions(-) create mode 100644 doc/release/2021-08-releases.rst diff --git a/doc/release.rst b/doc/release.rst index 4dee96a13d..b99be9c87d 100644 --- a/doc/release.rst +++ b/doc/release.rst @@ -51,12 +51,12 @@ Each link leads to the release notes page of the corresponding version: * - 2.8 - 2.8.0 - :doc:`2.8.1 ` - - 2.8.2 + - :doc:`2.8.2 ` * - 2.7 - 2.7.0 - :doc:`2.7.1 ` - - :doc:`2.7.2 ` + - :doc:`2.7.2 `, :doc:`2.7.3 ` * - 2.6 - 2.6.0 @@ -100,7 +100,8 @@ Each link leads to the release notes page of the corresponding version: :doc:`1.10.7 `, :doc:`1.10.8 `, :doc:`1.10.9 `, - :doc:`1.10.10 ` + :doc:`1.10.10 `, + :doc:`1.10.11 ` For smaller feature changes and bug fixes, see closed diff --git a/doc/release/2021-08-releases.rst b/doc/release/2021-08-releases.rst new file mode 100644 index 0000000000..7b0a7479f4 --- /dev/null +++ b/doc/release/2021-08-releases.rst @@ -0,0 +1,380 @@ +Tarantool Releases in August 2021 +================================= + +Date: 2021-08-19 + +Introduction +------------ + +Meet the new Tarantool releases in August 2021: +versions :tarantool-release:`2.8.2`, +:tarantool-release:`2.7.3` and :tarantool-release:`1.10.11`. + +Automated Raft-based failover out of the box +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Raft-based failover algorithm is now a part of Tarantool, available out of the box. +Use it to improve data safety and reliability of Tarantool applications. + +Use interactive transactions with any programming language +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Write applications with interactive transactions in the programming language of your choice. + +Interactive transactions are now a part of iproto, +enabling applications in any programming language to use them. + + +New and updated features +------------------------ + +Core +~~~~ + + +- The information about the state of synchronous replication is now available via the + ``box.info.synchro`` interface (:tarantool-release:`2.7.3`, :tarantool-issue:`5191`). + +LuaJIT +~~~~~~ + +- Introduced support for ``LJ_DUALNUM`` mode in ``luajit-gdb.py``. + (:tarantool-release:`2.8.2`, :tarantool-release:`2.7.3`, :tarantool-issue:`6224`) + +Lua +~~~ + +- The new method ``table.equals`` compares two tables by value with + respect to the ``__eq`` metamethod. + (:tarantool-release:`2.8.2`, :tarantool-release:`2.7.3`) + +Logging +^^^^^^^ + +- The ``log`` module now supports symbolic representation of log levels. + It is now possible to specify levels the same way as in + the ``box.cfg{}`` call. + (:tarantool-release:`2.8.2`, :tarantool-issue:`5882`) + + + For example, instead of + + .. code-block:: lua + + require('log').cfg{level = 6} + + one can use + + .. code-block:: lua + + require('log').cfg{level = 'verbose'} + +SQL +~~~ + +- Descriptions of type mismatch error and inconsistent type error have + become more informative. + (:tarantool-release:`2.8.2`, :tarantool-release:`2.7.3`, :tarantool-issue:`6176`) + +- Removed explicit cast from ``BOOLEAN`` to numeric types and vice + versa. + (:tarantool-release:`2.8.2`, :tarantool-release:`2.7.3`, :tarantool-issue:`4770`) + +- Removed explicit cast from ``VARBINARY`` to numeric types and vice + versa. + (:tarantool-release:`2.8.2`, :tarantool-release:`2.7.3`, :tarantool-issue:`4772`, :tarantool-issue:`5852`). + +- Fixed a bug due to which a string that is not ``NULL`` terminated + could not be cast to ``BOOLEAN``, even if the conversion should be + successful according to the rules. + (:tarantool-release:`2.8.2`, :tarantool-release:`2.7.3`) + +Build +~~~~~ + +- Fedora 34 builds are now supported. + (:tarantool-release:`2.8.2`, :tarantool-issue:`6074`) + +- Fedora 28 and 29 builds are no longer supported. + +Bugs fixed +---------- + +Core +~~~~ + +- **[Breaking change]** ``fiber.wakeup()`` in Lua and + ``fiber_wakeup()`` in C became NOP on the currently running fiber. + Previously they allowed to “ignore” the next yield or sleep, which + resulted in unexpected spurious wake-ups. Calling these functions + right before ``fiber.create()`` in Lua or ``fiber_start()`` in C + could lead to a crash (in debug build) or undefined behaviour (in + release build). (:tarantool-issue:`6043`) + + There was a single use case for the previous behaviour: rescheduling + in the same event loop iteration, which is not the same as + ``fiber.sleep(0)`` in Lua and ``fiber_sleep(0)`` in C. This could be + done in the following way: + + in C: + + .. code:: c + + fiber_wakeup(fiber_self()); + fiber_yield(); + + and in Lua: + + .. code:: lua + + fiber.self():wakeup() + fiber.yield() + + To get the same effect in C, one can now use ``fiber_reschedule()``. + In Lua it is now impossible to directly reschedule the current fiber + in the same event loop iteration. There is a way to reschedule self + through a second fiber, but we strongly discourage doing so: + + .. code:: lua + + -- don't use this code + local self = fiber.self() + fiber.new(function() self:wakeup() end) + fiber.sleep(0) + +- Fixed memory leak on each ``box.on_commit()`` and + ``box.on_rollback()`` (:tarantool-issue:`6025`). + +- ``fiber_join()`` now checks if the argument is a joinable fiber. + Abscence of this check could lead to unpredictable results. Note that + the issue affects C level only; in Lua interface ``fiber:join()`` the + protection is turned on already. + +- Now Tarantool yields when scanning ``.xlog`` files for the latest + applied vclock and when finding the right place in ``.xlog``\ s to + start recovering. This means that the instance becomes responsive + right after ``box.cfg`` call even when an empty ``.xlog`` was not + created on the previous exit. + + This also prevents relay from timing out when a freshly subscribed + replica needs rows from the end of a relatively long (hundreds of + MBs) ``.xlog`` (:tarantool-issue:`5979`). + +- The counter in ``x.yM rows processed`` log messages will no longer + reset on each newly recovered ``xlog``. + +- Fixed a crash in JSON update on tuple/space, where update included + two or more operations, which accessed fields in reversed order, and + these fields didn’t exist. Example: + ``box.tuple.new({1}):update({{'=', 4, 4}, {'=', 3, 3}})`` (:tarantool-issue:`6069`). + +- Fixed invalid results produced by ``json`` module’s ``encode`` + function when it was used from the Lua garbage collector. For + instance, this could happen in functions used as ``ffi.gc()``. + (:tarantool-issue:`6050`) + +- Added a check for user input of the number of iproto threads: value + must be greater than zero and less then or equal to 1000 (:tarantool-issue:`6005`). + +- Changing a listed address can no longer cause iproto threads to close + the same socket several times. + +- Tarantool now always correctly removes the Unix socket when it exits. + +- Simultaneously updating a key in different transactions can no longer + result in a crash in MVCC. (:tarantool-issue:`6131`) + +- Fixed a bug when memtx MVCC crashed during reading uncommitted DDL + (:tarantool-issue:`5515`) + +- Fixed a bug when memtx MVCC crashed if an index was created in + transaction (:tarantool-issue:`6137`) + +- Fixed segmentation fault with MVCC when entire space was updated + concurrently (:tarantool-issue:`5892`) + +- Fixed a bug with failed assertion after stress update of the same + key. (:tarantool-issue:`6193`) + +- Fixed a crash if you call box.snapshot during an incomplete + transaction (:tarantool-issue:`6229`) + +- Fixed console client connection breakage if request times out + (:tarantool-issue:`6249`). + +- Added missing broadcast to net.box.future:discard() so that now + fibers waiting for a request result are woken up when the request is + discarded (:tarantool-issue:`6250`). + +- ``box.info.uuid``, ``box.info.cluster.uuid``, and + ``tostring(decimal)`` with any decimal number in Lua sometimes could + return garbage if ``__gc`` handlers are used in user’s code + (:tarantool-issue:`6259`). + +- Fixed an error message that happened in very specific case during + MVCC operation (:tarantool-issue:`6247`) + +- Fixed a repeatable read violation after delete (:tarantool-issue:`6206`) + +- Fixed a bug when hash select{} was not tracked by MVCC engine + (:tarantool-issue:`6040`) + +- Fixed a crash in MVCC after drop of a space with several indexes + (:tarantool-issue:`6274`) + +- Fixed a bug when GC at some state could leave tuples in secondary + indexes (:tarantool-issue:`6234`) + +- Disallow yields after DDL operations in MVCC mode. It fixes crash + which takes place in case several transactions refer to system spaces + (:tarantool-issue:`5998`). + +- Fixed bug in MVCC connected which happens on rollback after DDL + operation (:tarantool-issue:`5998`). + +- Fixed a bug when rollback resulted in unserializable behaviour + (:tarantool-issue:`6325`) + +Vinyl +~~~~~ + +- Fixed possible keys divergence during secondary index build which + might lead to missing tuples in it (:tarantool-issue:`6045`). + +- Fixed a race between Vinyl garbage collection and compaction + resulting in broken vylog and recovery (:tarantool-issue:`5436`). + +Replication +~~~~~~~~~~~ + +- Fixed use after free in relay thread when using elections (:tarantool-issue:`6031`). + +- Fixed a possible crash when a synchronous transaction was followed by + an asynchronous transaction right when its confirmation was being + written (:tarantool-issue:`6057`). + +- Fixed an error when a replica, at attempt to subscribe to a foreign + cluster (with different replicaset UUID), didn’t notice it is not + possible, and instead was stuck in an infinite retry loop printing an + error about “too early subscribe” (:tarantool-issue:`6094`). + +- Fixed an error when a replica, at attempt to join a cluster with + exclusively read-only replicas available, instead of failing or + retrying just decided to boot its own replicaset. Now it fails with + an error about the other nodes being read-only so they can’t register + it (:tarantool-issue:`5613`). + +- When an error happened during appliance of a transaction received + from a remote instance via replication, it was always reported as + “Failed to write to disk” regardless of what really happened. Now the + correct error is shown. For example, “Out of memory”, or “Transaction + has been aborted by conflict”, and so on (:tarantool-issue:`6027`). + +- Fixed replication stopping occasionally with ``ER_INVALID_MSGPACK`` + when replica is under high load (:tarantool-issue:`4040`). + +- Fixed a cluster sometimes being unable to bootstrap if it contains + nodes with ``election_mode`` ``manual`` or ``voter`` (:tarantool-issue:`6018`). + +- Fixed a possible crash when ``box.ctl.promote()`` was called in a + cluster with >= 3 instances, happened in debug build. In release + build it could lead to undefined behaviour. It was likely to happen + if a new node was added shortly before the promotion (:tarantool-issue:`5430`). + +- Fixed a rare error appearing when MVCC + (``box.cfg.memtx_use_mvcc_engine``) was enabled and more than one + replica was joined to a cluster. The join could fail with the error + ``"ER_TUPLE_FOUND: Duplicate key exists in unique index 'primary' in space '_cluster'"``. + The same could happen at bootstrap of a cluster having >= 3 nodes + (:tarantool-issue:`5601`). + +Raft +~~~~ + +- Fixed a rare crash with the leader election enabled (any mode except + ``off``), which could happen if a leader resigned from its role at + the same time as some other node was writing something related to the + elections to WAL. The crash was in debug build and in the release + build it would lead to undefined behaviour (:tarantool-issue:`6129`). + +- Fixed an error when a new replica in a Raft cluster could try to join + from a follower instead of a leader and failed with an error + ``ER_READONLY`` (:tarantool-issue:`6127`). + +.. _luajit-1: + +LuaJIT +~~~~~~ + +- Fixed optimization for single-char strings in ``IR_BUFPUT`` assembly + routine. + +- Fixed slots alignment in ``lj-stack`` command output when ``LJ_GC64`` + is enabled (:tarantool-issue:`5876`). + +- Fixed dummy frame unwinding in ``lj-stack`` command. + +- Fixed detection of inconsistent renames even in the presence of sunk + values (:tarantool-issue:`4252`, :tarantool-issue:`5049`, :tarantool-issue:`5118`). + +- Fixed the order VM registers are allocated by LuaJIT frontend in case + of ``BC_ISGE`` and ``BC_ISGT`` (:tarantool-issue:`6227`). + +.. _lua-1: + +Lua +~~~ + +- When error is raised during encoding call results, auxiliary + lightuserdata value is not removed from the main Lua coroutine stack. + Prior to the fix it leads to undefined behaviour during the next + usage of this Lua coroutine (:tarantool-issue:`4617`). + +- Fixed Lua C API misuse, when the error is raised during call results + encoding on unprotected coroutine and expected to be catched on the + different one, that is protected (:tarantool-issue:`6248`). + +Triggers +^^^^^^^^ + +- Fixed possibility crash in case when trigger removes itself. Fixed + possibility crash in case when someone destroy trigger, when it’s + yield (:tarantool-issue:`6266`). + +.. _sql-1: + +SQL +~~~ + +- User-defined functions can now return VARBINARY to SQL as result + (:tarantool-issue:`6024`). + +- Fixed assert on cast of DOUBLE value that greater than -1.0 and less + than 0.0 to INTEGER and UNSIGNED (:tarantool-issue:`6255`). + +- Removed spontaneous conversion from INTEGER to DOUBLE in a field of + type NUMBER (:tarantool-issue:`5335`). + +- All arithmetic operations can now only accept numeric values + (:tarantool-issue:`5756`). + +MVCC +~~~~ + +- Fixed MVCC interaction with ephemeral spaces: TX manager now ignores + such spaces (:tarantool-issue:`6095`). + +- Fixed a loss of tuple after a conflict exception (:tarantool-issue:`6132`) + +- Fixed a segfault in update/delete of the same tuple (:tarantool-issue:`6021`) + + +Compatibility +------------- + +Tarantool 2.x is backward compatible with Tarantool 1.10.x in the binary +data layout, client-server protocol, and replication protocol. + +`Upgrade `__ +using the ``box.schema.upgrade()`` procedure to unlock all the new +features of the 2.x series. \ No newline at end of file From 27589d6bb3635ca75ab36debc108da58b2ab1248 Mon Sep 17 00:00:00 2001 From: Kseniia Antonova Date: Mon, 23 Aug 2021 19:52:34 +0300 Subject: [PATCH 02/12] Proofread a blog post --- doc/release/2021-08-releases.rst | 345 +++++++++++++++---------------- 1 file changed, 172 insertions(+), 173 deletions(-) diff --git a/doc/release/2021-08-releases.rst b/doc/release/2021-08-releases.rst index 7b0a7479f4..f6d4887a66 100644 --- a/doc/release/2021-08-releases.rst +++ b/doc/release/2021-08-releases.rst @@ -14,10 +14,10 @@ Automated Raft-based failover out of the box ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Raft-based failover algorithm is now a part of Tarantool, available out of the box. -Use it to improve data safety and reliability of Tarantool applications. +Use it to improve the data safety and reliability of Tarantool applications. -Use interactive transactions with any programming language -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +The ability to use interactive transactions with any programming language +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Write applications with interactive transactions in the programming language of your choice. @@ -38,32 +38,31 @@ Core LuaJIT ~~~~~~ -- Introduced support for ``LJ_DUALNUM`` mode in ``luajit-gdb.py``. - (:tarantool-release:`2.8.2`, :tarantool-release:`2.7.3`, :tarantool-issue:`6224`) +- Introduced support for ``LJ_DUALNUM`` mode in ``luajit-gdb.py`` + (:tarantool-release:`2.8.2`, :tarantool-release:`2.7.3`, :tarantool-issue:`6224`). Lua ~~~ -- The new method ``table.equals`` compares two tables by value with - respect to the ``__eq`` metamethod. - (:tarantool-release:`2.8.2`, :tarantool-release:`2.7.3`) +- Introduced the new method ``table.equals``. It compares two tables by value with + respect to the ``__eq`` metamethod + (:tarantool-release:`2.8.2`, :tarantool-release:`2.7.3`). Logging ^^^^^^^ -- The ``log`` module now supports symbolic representation of log levels. - It is now possible to specify levels the same way as in - the ``box.cfg{}`` call. - (:tarantool-release:`2.8.2`, :tarantool-issue:`5882`) - +- The ``log`` module now supports the symbolic representation of log levels. + Now it is possible to specify levels the same way as in + the ``box.cfg{}`` call + (:tarantool-release:`2.8.2`, :tarantool-issue:`5882`). For example, instead of - .. code-block:: lua + .. code-block:: lua require('log').cfg{level = 6} - one can use + it is possible to use .. code-block:: lua @@ -73,27 +72,27 @@ SQL ~~~ - Descriptions of type mismatch error and inconsistent type error have - become more informative. - (:tarantool-release:`2.8.2`, :tarantool-release:`2.7.3`, :tarantool-issue:`6176`) + become more informative + (:tarantool-release:`2.8.2`, :tarantool-release:`2.7.3`, :tarantool-issue:`6176`). - Removed explicit cast from ``BOOLEAN`` to numeric types and vice - versa. - (:tarantool-release:`2.8.2`, :tarantool-release:`2.7.3`, :tarantool-issue:`4770`) + versa + (:tarantool-release:`2.8.2`, :tarantool-release:`2.7.3`, :tarantool-issue:`4770`). - Removed explicit cast from ``VARBINARY`` to numeric types and vice - versa. + versa (:tarantool-release:`2.8.2`, :tarantool-release:`2.7.3`, :tarantool-issue:`4772`, :tarantool-issue:`5852`). - Fixed a bug due to which a string that is not ``NULL`` terminated could not be cast to ``BOOLEAN``, even if the conversion should be - successful according to the rules. - (:tarantool-release:`2.8.2`, :tarantool-release:`2.7.3`) + successful according to the rules + (:tarantool-release:`2.8.2`, :tarantool-release:`2.7.3`). Build ~~~~~ -- Fedora 34 builds are now supported. - (:tarantool-release:`2.8.2`, :tarantool-issue:`6074`) +- Fedora 34 builds are now supported + (:tarantool-release:`2.8.2`, :tarantool-issue:`6074`). - Fedora 28 and 29 builds are no longer supported. @@ -113,7 +112,7 @@ Core There was a single use case for the previous behaviour: rescheduling in the same event loop iteration, which is not the same as - ``fiber.sleep(0)`` in Lua and ``fiber_sleep(0)`` in C. This could be + ``fiber.sleep(0)`` in Lua and ``fiber_sleep(0)`` in C. It could be done in the following way: in C: @@ -131,242 +130,242 @@ Core fiber.yield() To get the same effect in C, one can now use ``fiber_reschedule()``. - In Lua it is now impossible to directly reschedule the current fiber - in the same event loop iteration. There is a way to reschedule self - through a second fiber, but we strongly discourage doing so: + In Lua, it is impossible now to reschedule the current fiber directly + in the same event loop iteration. One can reschedule self + through a second fiber, but it is strongly discouraged to do so: .. code:: lua - -- don't use this code + -- do not use this code local self = fiber.self() fiber.new(function() self:wakeup() end) fiber.sleep(0) -- Fixed memory leak on each ``box.on_commit()`` and - ``box.on_rollback()`` (:tarantool-issue:`6025`). +- Fixed memory leak on ``box.on_commit()`` and + ``box.on_rollback()`` (:tarantool-issue:`6025`). -- ``fiber_join()`` now checks if the argument is a joinable fiber. - Abscence of this check could lead to unpredictable results. Note that - the issue affects C level only; in Lua interface ``fiber:join()`` the - protection is turned on already. +- ``fiber_join()`` now checks if the argument is a joinable fiber. + The absence of this check could lead to unpredictable results. Note that + the issue affects C level only; in Lua interface ``fiber:join()`` the + protection already is turned on. -- Now Tarantool yields when scanning ``.xlog`` files for the latest - applied vclock and when finding the right place in ``.xlog``\ s to - start recovering. This means that the instance becomes responsive - right after ``box.cfg`` call even when an empty ``.xlog`` was not - created on the previous exit. +- Now Tarantool yields when it scans ``.xlog`` files for the latest + applied vclock and when it finds the right place in ``.xlog``\ s to + start recovering. It means that the instance becomes responsive + right after the ``box.cfg`` call even when an empty ``.xlog`` was not + created on the previous exit. - This also prevents relay from timing out when a freshly subscribed - replica needs rows from the end of a relatively long (hundreds of - MBs) ``.xlog`` (:tarantool-issue:`5979`). + This fix also prevents the relay from timing out when a freshly subscribed + replica needs rows from the end of a relatively long (hundreds of + MBs) ``.xlog`` (:tarantool-issue:`5979`). -- The counter in ``x.yM rows processed`` log messages will no longer - reset on each newly recovered ``xlog``. +- The counter in ``x.yM rows processed`` log messages will no longer + reset on each newly recovered ``xlog``. -- Fixed a crash in JSON update on tuple/space, where update included - two or more operations, which accessed fields in reversed order, and - these fields didn’t exist. Example: - ``box.tuple.new({1}):update({{'=', 4, 4}, {'=', 3, 3}})`` (:tarantool-issue:`6069`). +- Fixed a crash in JSON update on tuple/space, where update included + two or more operations, which accessed fields in reversed order, and + these fields didn’t exist. Example: + ``box.tuple.new({1}):update({{'=', 4, 4}, {'=', 3, 3}})`` (:tarantool-issue:`6069`). -- Fixed invalid results produced by ``json`` module’s ``encode`` - function when it was used from the Lua garbage collector. For - instance, this could happen in functions used as ``ffi.gc()``. - (:tarantool-issue:`6050`) +- Fixed invalid results of the ``json`` module’s ``encode`` + function when it was used from the Lua garbage collector. For + instance, this could happen in functions used as ``ffi.gc()`` + (:tarantool-issue:`6050`). -- Added a check for user input of the number of iproto threads: value - must be greater than zero and less then or equal to 1000 (:tarantool-issue:`6005`). +- Added a check for user input of the number of iproto threads: value + must be greater than zero and less than or equal to 1000 (:tarantool-issue:`6005`). -- Changing a listed address can no longer cause iproto threads to close - the same socket several times. +- Changing a listed address can no longer cause iproto threads to close + the same socket several times. -- Tarantool now always correctly removes the Unix socket when it exits. +- Tarantool now always removes the Unix socket correctly when it exits. -- Simultaneously updating a key in different transactions can no longer - result in a crash in MVCC. (:tarantool-issue:`6131`) +- Now simultaneously updating a key in different transactions do not result in a crash in MVCC + (:tarantool-issue:`6131`). -- Fixed a bug when memtx MVCC crashed during reading uncommitted DDL - (:tarantool-issue:`5515`) +- Fixed a bug when memtx MVCC crashed during reading uncommitted DDL + (:tarantool-issue:`5515`). -- Fixed a bug when memtx MVCC crashed if an index was created in - transaction (:tarantool-issue:`6137`) +- Fixed a bug when memtx MVCC crashed if an index was created in + transaction (:tarantool-issue:`6137`). -- Fixed segmentation fault with MVCC when entire space was updated - concurrently (:tarantool-issue:`5892`) +- Fixed segmentation fault with MVCC when the entire space was updated + concurrently (:tarantool-issue:`5892`). -- Fixed a bug with failed assertion after stress update of the same - key. (:tarantool-issue:`6193`) +- Fixed a bug with failed assertion after the stress update of the same + key (:tarantool-issue:`6193`). -- Fixed a crash if you call box.snapshot during an incomplete - transaction (:tarantool-issue:`6229`) +- Fixed a crash if ``box.snapshot` is called during an incomplete + transaction (:tarantool-issue:`6229`). -- Fixed console client connection breakage if request times out - (:tarantool-issue:`6249`). +- Fixed console client connection breakage if request timed out + (:tarantool-issue:`6249`). -- Added missing broadcast to net.box.future:discard() so that now - fibers waiting for a request result are woken up when the request is - discarded (:tarantool-issue:`6250`). +- Added missing broadcast to ``net.box.future:discard()`` so that now + fibers waiting for a request result are woken up when the request is + discarded (:tarantool-issue:`6250`). -- ``box.info.uuid``, ``box.info.cluster.uuid``, and - ``tostring(decimal)`` with any decimal number in Lua sometimes could - return garbage if ``__gc`` handlers are used in user’s code - (:tarantool-issue:`6259`). +- ``box.info.uuid``, ``box.info.cluster.uuid``, and + ``tostring(decimal)`` with any decimal number in Lua sometimes could + return garbage if ``__gc`` handlers are used in the user’s code + (:tarantool-issue:`6259`). -- Fixed an error message that happened in very specific case during - MVCC operation (:tarantool-issue:`6247`) +- Fixed an error message that happened in a particular case during + MVCC operation (:tarantool-issue:`6247`). -- Fixed a repeatable read violation after delete (:tarantool-issue:`6206`) +- Fixed a repeatable read violation after delete (:tarantool-issue:`6206`). -- Fixed a bug when hash select{} was not tracked by MVCC engine - (:tarantool-issue:`6040`) +- Fixed a bug when the MVCC engine didn't track hash ``select{}`` + (:tarantool-issue:`6040`). -- Fixed a crash in MVCC after drop of a space with several indexes - (:tarantool-issue:`6274`) +- Fixed a crash in MVCC after a drop of space with several indexes + (:tarantool-issue:`6274`). -- Fixed a bug when GC at some state could leave tuples in secondary - indexes (:tarantool-issue:`6234`) +- Fixed a bug when GC at some state could leave tuples in secondary + indexes (:tarantool-issue:`6234`). -- Disallow yields after DDL operations in MVCC mode. It fixes crash - which takes place in case several transactions refer to system spaces - (:tarantool-issue:`5998`). +- Disallow yields after DDL operations in MVCC mode. It fixes crash + which takes place when several transactions refer to system spaces + (:tarantool-issue:`5998`). -- Fixed bug in MVCC connected which happens on rollback after DDL - operation (:tarantool-issue:`5998`). +- Fixed bug in MVCC connected which happens on rollback after DDL + operation (:tarantool-issue:`5998`). -- Fixed a bug when rollback resulted in unserializable behaviour - (:tarantool-issue:`6325`) +- Fixed a bug when rollback resulted in unserializable behaviour + (:tarantool-issue:`6325`). Vinyl ~~~~~ -- Fixed possible keys divergence during secondary index build which - might lead to missing tuples in it (:tarantool-issue:`6045`). +- Fixed possible keys divergence during secondary index build which + might lead to missing tuples in it (:tarantool-issue:`6045`). -- Fixed a race between Vinyl garbage collection and compaction - resulting in broken vylog and recovery (:tarantool-issue:`5436`). +- Fixed a race between Vinyl garbage collection and compaction + resulting in broken vylog and recovery (:tarantool-issue:`5436`). Replication ~~~~~~~~~~~ -- Fixed use after free in relay thread when using elections (:tarantool-issue:`6031`). +- Fixed use after free in relay thread when using elections (:tarantool-issue:`6031`). -- Fixed a possible crash when a synchronous transaction was followed by - an asynchronous transaction right when its confirmation was being - written (:tarantool-issue:`6057`). +- Fixed a possible crash when a synchronous transaction was followed by + an asynchronous transaction right when its confirmation was being + written (:tarantool-issue:`6057`). -- Fixed an error when a replica, at attempt to subscribe to a foreign - cluster (with different replicaset UUID), didn’t notice it is not - possible, and instead was stuck in an infinite retry loop printing an - error about “too early subscribe” (:tarantool-issue:`6094`). +- Fixed an error when a replica, at attempt to subscribe to a foreign + cluster (with different replicaset UUID), didn’t notice it is impossible, + and instead was stuck in an infinite retry loop printing + a ``too earle subscribe`` error (:tarantool-issue:`6094`). -- Fixed an error when a replica, at attempt to join a cluster with - exclusively read-only replicas available, instead of failing or - retrying just decided to boot its own replicaset. Now it fails with - an error about the other nodes being read-only so they can’t register - it (:tarantool-issue:`5613`). +- Fixed an error when a replica, at attempt to join a cluster with + exclusively read-only replicas available, just booted its own replicaset, + instead of failing or retrying. Now it fails with + an error about the other nodes being read-only so they can’t register + it (:tarantool-issue:`5613`). -- When an error happened during appliance of a transaction received - from a remote instance via replication, it was always reported as - “Failed to write to disk” regardless of what really happened. Now the - correct error is shown. For example, “Out of memory”, or “Transaction - has been aborted by conflict”, and so on (:tarantool-issue:`6027`). +- If an error occurred during the appliance of a transaction received + from a remote instance via replication, it was always reported as + ``Failed to write to disk`` regardless of what really happened. Now the + correct error is shown. For example, ``Out of memory``, or + ``Transaction has been aborted by conflict``, and so on (:tarantool-issue:`6027`). -- Fixed replication stopping occasionally with ``ER_INVALID_MSGPACK`` - when replica is under high load (:tarantool-issue:`4040`). +- Fixed replication occasionally stopping with ``ER_INVALID_MSGPACK`` + when the replica is under high load (:tarantool-issue:`4040`). -- Fixed a cluster sometimes being unable to bootstrap if it contains - nodes with ``election_mode`` ``manual`` or ``voter`` (:tarantool-issue:`6018`). +- Fixed a cluster sometimes being unable to bootstrap if it contains + nodes with ``election_mode`` ``manual`` or ``voter`` (:tarantool-issue:`6018`). -- Fixed a possible crash when ``box.ctl.promote()`` was called in a - cluster with >= 3 instances, happened in debug build. In release - build it could lead to undefined behaviour. It was likely to happen - if a new node was added shortly before the promotion (:tarantool-issue:`5430`). +- Fixed a possible crash when ``box.ctl.promote()`` was called in a + cluster with more than three instances, happened in debug build. In release + build, it could lead to undefined behaviour. It was likely to happen + if a new node was added shortly before the promotion (:tarantool-issue:`5430`). -- Fixed a rare error appearing when MVCC - (``box.cfg.memtx_use_mvcc_engine``) was enabled and more than one - replica was joined to a cluster. The join could fail with the error - ``"ER_TUPLE_FOUND: Duplicate key exists in unique index 'primary' in space '_cluster'"``. - The same could happen at bootstrap of a cluster having >= 3 nodes - (:tarantool-issue:`5601`). +- Fixed a rare error appearing when MVCC + (``box.cfg.memtx_use_mvcc_engine``) was enabled, and more than one + replica joined the cluster. The join could fail with the error + ``"ER_TUPLE_FOUND: Duplicate key exists in unique index 'primary' in space '_cluster'"``. + The same could happen at the bootstrap of a cluster having more than three nodes + (:tarantool-issue:`5601`). Raft ~~~~ -- Fixed a rare crash with the leader election enabled (any mode except - ``off``), which could happen if a leader resigned from its role at - the same time as some other node was writing something related to the - elections to WAL. The crash was in debug build and in the release - build it would lead to undefined behaviour (:tarantool-issue:`6129`). +- Fixed a rare crash with the leader election enabled (any mode except + ``off``), which could happen if a leader resigned from its role at + the same time as some other node was writing something related to the + elections to WAL. The crash was in debug build, and in the release + build it would lead to undefined behaviour (:tarantool-issue:`6129`). -- Fixed an error when a new replica in a Raft cluster could try to join - from a follower instead of a leader and failed with an error - ``ER_READONLY`` (:tarantool-issue:`6127`). +- Fixed an error when a new replica in a Raft cluster tried to join + from a follower instead of a leader and failed with an error + ``ER_READONLY`` (:tarantool-issue:`6127`). -.. _luajit-1: +.. _luajit-1: LuaJIT ~~~~~~ -- Fixed optimization for single-char strings in ``IR_BUFPUT`` assembly - routine. +- Fixed optimization for single-char strings in ``IR_BUFPUT`` assembly + routine. -- Fixed slots alignment in ``lj-stack`` command output when ``LJ_GC64`` - is enabled (:tarantool-issue:`5876`). +- Fixed slots alignment in ``lj-stack`` command output when ``LJ_GC64`` + is enabled (:tarantool-issue:`5876`). -- Fixed dummy frame unwinding in ``lj-stack`` command. +- Fixed dummy frame unwinding in ``lj-stack`` command. -- Fixed detection of inconsistent renames even in the presence of sunk - values (:tarantool-issue:`4252`, :tarantool-issue:`5049`, :tarantool-issue:`5118`). +- Fixed detection of inconsistent renames even in the presence of sunk + values (:tarantool-issue:`4252`, :tarantool-issue:`5049`, :tarantool-issue:`5118`). -- Fixed the order VM registers are allocated by LuaJIT frontend in case - of ``BC_ISGE`` and ``BC_ISGT`` (:tarantool-issue:`6227`). +- Fixed the order VM registers are allocated by LuaJIT frontend in case + of ``BC_ISGE`` and ``BC_ISGT`` (:tarantool-issue:`6227`). -.. _lua-1: +.. _lua-1: Lua ~~~ -- When error is raised during encoding call results, auxiliary - lightuserdata value is not removed from the main Lua coroutine stack. - Prior to the fix it leads to undefined behaviour during the next - usage of this Lua coroutine (:tarantool-issue:`4617`). +- When an error occurs during encoding call results, the auxiliary + lightuserdata value is not removed from the main Lua coroutine stack. + Before the fix, it led to undefined behaviour during the next + usage of this Lua coroutine (:tarantool-issue:`4617`). -- Fixed Lua C API misuse, when the error is raised during call results - encoding on unprotected coroutine and expected to be catched on the - different one, that is protected (:tarantool-issue:`6248`). +- Fixed Lua C API misuse when the error is raised during call results + encoding on unprotected coroutine and expected to be caught on the + different one that is protected (:tarantool-issue:`6248`). Triggers ^^^^^^^^ -- Fixed possibility crash in case when trigger removes itself. Fixed - possibility crash in case when someone destroy trigger, when it’s - yield (:tarantool-issue:`6266`). +- Fixed possible crash in case trigger removes itself. Fixed + possible crash in case someone destroys trigger when it’s + yield (:tarantool-issue:`6266`). -.. _sql-1: +.. _sql-1: SQL ~~~ -- User-defined functions can now return VARBINARY to SQL as result - (:tarantool-issue:`6024`). +- User-defined functions can now return VARBINARY to SQL as a result + (:tarantool-issue:`6024`). -- Fixed assert on cast of DOUBLE value that greater than -1.0 and less - than 0.0 to INTEGER and UNSIGNED (:tarantool-issue:`6255`). +- Fixed assert on a cast of DOUBLE value greater than -1.0 and less + than 0.0 to INTEGER and UNSIGNED (:tarantool-issue:`6255`). -- Removed spontaneous conversion from INTEGER to DOUBLE in a field of - type NUMBER (:tarantool-issue:`5335`). +- Removed spontaneous conversion from INTEGER to DOUBLE in a field of + NUMBER type (:tarantool-issue:`5335`). -- All arithmetic operations can now only accept numeric values - (:tarantool-issue:`5756`). +- All arithmetic operations can now only accept numeric values + (:tarantool-issue:`5756`). MVCC ~~~~ -- Fixed MVCC interaction with ephemeral spaces: TX manager now ignores - such spaces (:tarantool-issue:`6095`). +- Fixed MVCC interaction with ephemeral spaces: TX manager now ignores + them (:tarantool-issue:`6095`). -- Fixed a loss of tuple after a conflict exception (:tarantool-issue:`6132`) +- Fixed a loss of tuple after a conflict exception (:tarantool-issue:`6132`). -- Fixed a segfault in update/delete of the same tuple (:tarantool-issue:`6021`) +- Fixed a segfault in update/delete of the same tuple (:tarantool-issue:`6021`). Compatibility From 214fc19f04dda6e9507a4101aa0d457e892379ad Mon Sep 17 00:00:00 2001 From: Kseniia Antonova Date: Mon, 23 Aug 2021 22:35:39 +0300 Subject: [PATCH 03/12] Move the Compatibility section --- doc/release/2021-08-releases.rst | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/doc/release/2021-08-releases.rst b/doc/release/2021-08-releases.rst index f6d4887a66..dc9ec74da8 100644 --- a/doc/release/2021-08-releases.rst +++ b/doc/release/2021-08-releases.rst @@ -24,6 +24,15 @@ Write applications with interactive transactions in the programming language of Interactive transactions are now a part of iproto, enabling applications in any programming language to use them. +Compatibility +------------- + +Tarantool 2.x is backward compatible with Tarantool 1.10.x in the binary +data layout, client-server protocol, and replication protocol. + +`Upgrade `__ +using the ``box.schema.upgrade()`` procedure to unlock all the new +features of the 2.x series. New and updated features ------------------------ @@ -366,14 +375,3 @@ MVCC - Fixed a loss of tuple after a conflict exception (:tarantool-issue:`6132`). - Fixed a segfault in update/delete of the same tuple (:tarantool-issue:`6021`). - - -Compatibility -------------- - -Tarantool 2.x is backward compatible with Tarantool 1.10.x in the binary -data layout, client-server protocol, and replication protocol. - -`Upgrade `__ -using the ``box.schema.upgrade()`` procedure to unlock all the new -features of the 2.x series. \ No newline at end of file From 8b948c48943af7f5df49a8e056d6a407297b36d8 Mon Sep 17 00:00:00 2001 From: Kseniia Antonova Date: Mon, 23 Aug 2021 22:50:16 +0300 Subject: [PATCH 04/12] Add the note about breaking change --- doc/release/2021-08-releases.rst | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/doc/release/2021-08-releases.rst b/doc/release/2021-08-releases.rst index dc9ec74da8..89aa27167e 100644 --- a/doc/release/2021-08-releases.rst +++ b/doc/release/2021-08-releases.rst @@ -34,6 +34,12 @@ data layout, client-server protocol, and replication protocol. using the ``box.schema.upgrade()`` procedure to unlock all the new features of the 2.x series. +There are changes labeled with **[Breaking change]**. It means that the +old behavior was considered error-prone and therefore changed to protect +users from unintended mistakes. However, there is a little probability +that someone can lean on the old behavior, and this label is to bring +attention to the things that have been changed. + New and updated features ------------------------ @@ -117,7 +123,7 @@ Core resulted in unexpected spurious wake-ups. Calling these functions right before ``fiber.create()`` in Lua or ``fiber_start()`` in C could lead to a crash (in debug build) or undefined behaviour (in - release build). (:tarantool-issue:`6043`) + release build) (:tarantool-issue:`6043`). There was a single use case for the previous behaviour: rescheduling in the same event loop iteration, which is not the same as From 043dc853cccff27e2a7ea3ff8bad3665ec4bf188 Mon Sep 17 00:00:00 2001 From: Kseniia Antonova Date: Tue, 24 Aug 2021 11:48:51 +0300 Subject: [PATCH 05/12] Add 2021-08-releases.rst to toctree --- doc/release.rst | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/doc/release.rst b/doc/release.rst index b99be9c87d..3e44fca4a4 100644 --- a/doc/release.rst +++ b/doc/release.rst @@ -120,7 +120,8 @@ Release notes for series before 1.10 are also available: release/policy release/legacy-policy - release/major-featuresg + release/major-features + release/2021-08-releases release/2.8.1 release/2.7.2 release/2.7.1 From a4903715583744032c904ef05a4f9f4e7d63e385 Mon Sep 17 00:00:00 2001 From: Kseniia Antonova Date: Tue, 24 Aug 2021 12:35:33 +0300 Subject: [PATCH 06/12] Add tarantool-release links --- doc/release/2021-08-releases.rst | 112 +++++++++++++++++++------------ 1 file changed, 70 insertions(+), 42 deletions(-) diff --git a/doc/release/2021-08-releases.rst b/doc/release/2021-08-releases.rst index 89aa27167e..786fb98be1 100644 --- a/doc/release/2021-08-releases.rst +++ b/doc/release/2021-08-releases.rst @@ -162,7 +162,8 @@ Core - ``fiber_join()`` now checks if the argument is a joinable fiber. The absence of this check could lead to unpredictable results. Note that the issue affects C level only; in Lua interface ``fiber:join()`` the - protection already is turned on. + protection already is turned on + (:tarantool-release:`2.8.2`, :tarantool-release:`2.7.3`). - Now Tarantool yields when it scans ``.xlog`` files for the latest applied vclock and when it finds the right place in ``.xlog``\ s to @@ -172,15 +173,18 @@ Core This fix also prevents the relay from timing out when a freshly subscribed replica needs rows from the end of a relatively long (hundreds of - MBs) ``.xlog`` (:tarantool-issue:`5979`). + MBs) ``.xlog`` + (:tarantool-release:`2.8.2`, :tarantool-release:`2.7.3`, :tarantool-issue:`5979`). -- The counter in ``x.yM rows processed`` log messages will no longer - reset on each newly recovered ``xlog``. +- The counter in ``x.yM rows processed`` log messages no longer + resets on each newly recovered ``xlog`` + (:tarantool-release:`2.8.2`, :tarantool-release:`2.7.3`). - Fixed a crash in JSON update on tuple/space, where update included two or more operations, which accessed fields in reversed order, and these fields didn’t exist. Example: - ``box.tuple.new({1}):update({{'=', 4, 4}, {'=', 3, 3}})`` (:tarantool-issue:`6069`). + ``box.tuple.new({1}):update({{'=', 4, 4}, {'=', 3, 3}})`` + (:tarantool-release:`2.8.2`, :tarantool-issue:`6069`). - Fixed invalid results of the ``json`` module’s ``encode`` function when it was used from the Lua garbage collector. For @@ -188,30 +192,37 @@ Core (:tarantool-issue:`6050`). - Added a check for user input of the number of iproto threads: value - must be greater than zero and less than or equal to 1000 (:tarantool-issue:`6005`). + must be greater than zero and less than or equal to 1000 + (:tarantool-release:`2.8.2`, :tarantool-issue:`6005`). - Changing a listed address can no longer cause iproto threads to close - the same socket several times. + the same socket several times + (:tarantool-release:`2.8.2`). -- Tarantool now always removes the Unix socket correctly when it exits. +- Tarantool now always removes the Unix socket correctly when it exits + (:tarantool-release:`2.8.2`). - Now simultaneously updating a key in different transactions do not result in a crash in MVCC - (:tarantool-issue:`6131`). + (:tarantool-release:`2.8.2`, :tarantool-release:`2.7.3`, :tarantool-issue:`6131`). - Fixed a bug when memtx MVCC crashed during reading uncommitted DDL - (:tarantool-issue:`5515`). + (:tarantool-release:`2.8.2`, :tarantool-release:`2.7.3`, :tarantool-issue:`5515`). - Fixed a bug when memtx MVCC crashed if an index was created in - transaction (:tarantool-issue:`6137`). + transaction + (:tarantool-release:`2.8.2`, :tarantool-release:`2.7.3`, :tarantool-issue:`6137`). - Fixed segmentation fault with MVCC when the entire space was updated - concurrently (:tarantool-issue:`5892`). + concurrently + (:tarantool-release:`2.8.2`, :tarantool-release:`2.7.3`, :tarantool-issue:`5892`). - Fixed a bug with failed assertion after the stress update of the same - key (:tarantool-issue:`6193`). + key + (:tarantool-release:`2.8.2`, :tarantool-release:`2.7.3`, :tarantool-issue:`6193`). - Fixed a crash if ``box.snapshot` is called during an incomplete - transaction (:tarantool-issue:`6229`). + transaction + (:tarantool-release:`2.8.2`, :tarantool-release:`2.7.3`, :tarantool-issue:`6229`). - Fixed console client connection breakage if request timed out (:tarantool-issue:`6249`). @@ -223,84 +234,96 @@ Core - ``box.info.uuid``, ``box.info.cluster.uuid``, and ``tostring(decimal)`` with any decimal number in Lua sometimes could return garbage if ``__gc`` handlers are used in the user’s code - (:tarantool-issue:`6259`). + (:tarantool-release:`2.8.2`, :tarantool-release:`2.7.3`, :tarantool-issue:`6259`). - Fixed an error message that happened in a particular case during MVCC operation (:tarantool-issue:`6247`). -- Fixed a repeatable read violation after delete (:tarantool-issue:`6206`). +- Fixed a repeatable read violation after delete + (:tarantool-release:`2.8.2`, :tarantool-release:`2.7.3`, :tarantool-issue:`6206`). - Fixed a bug when the MVCC engine didn't track hash ``select{}`` - (:tarantool-issue:`6040`). + (:tarantool-release:`2.8.2`, :tarantool-release:`2.7.3`, :tarantool-issue:`6040`). - Fixed a crash in MVCC after a drop of space with several indexes - (:tarantool-issue:`6274`). + (:tarantool-release:`2.8.2`, :tarantool-release:`2.7.3`, :tarantool-issue:`6274`). - Fixed a bug when GC at some state could leave tuples in secondary - indexes (:tarantool-issue:`6234`). + indexes + (:tarantool-release:`2.8.2`, :tarantool-release:`2.7.3`, :tarantool-issue:`6234`). - Disallow yields after DDL operations in MVCC mode. It fixes crash which takes place when several transactions refer to system spaces - (:tarantool-issue:`5998`). + (:tarantool-release:`2.8.2`, :tarantool-release:`2.7.3`, :tarantool-issue:`5998`). - Fixed bug in MVCC connected which happens on rollback after DDL - operation (:tarantool-issue:`5998`). + operation + (:tarantool-release:`2.8.2`, :tarantool-release:`2.7.3`, :tarantool-issue:`5998`). - Fixed a bug when rollback resulted in unserializable behaviour - (:tarantool-issue:`6325`). + (:tarantool-release:`2.8.2`, :tarantool-release:`2.7.3`, :tarantool-issue:`6325`). Vinyl ~~~~~ - Fixed possible keys divergence during secondary index build which - might lead to missing tuples in it (:tarantool-issue:`6045`). + might lead to missing tuples in it + (:tarantool-release:`2.8.2`, :tarantool-release:`2.7.3`, :tarantool-issue:`6045`). - Fixed a race between Vinyl garbage collection and compaction - resulting in broken vylog and recovery (:tarantool-issue:`5436`). + resulting in broken vylog and recovery + (:tarantool-release:`2.8.2`, :tarantool-release:`2.7.3`, :tarantool-issue:`5436`). Replication ~~~~~~~~~~~ -- Fixed use after free in relay thread when using elections (:tarantool-issue:`6031`). +- Fixed use after free in relay thread when using elections + (:tarantool-release:`2.8.2`, :tarantool-release:`2.7.3`, :tarantool-issue:`6031`). - Fixed a possible crash when a synchronous transaction was followed by an asynchronous transaction right when its confirmation was being - written (:tarantool-issue:`6057`). + written + (:tarantool-release:`2.8.2`, :tarantool-release:`2.7.3`, :tarantool-issue:`6057`). - Fixed an error when a replica, at attempt to subscribe to a foreign cluster (with different replicaset UUID), didn’t notice it is impossible, and instead was stuck in an infinite retry loop printing - a ``too earle subscribe`` error (:tarantool-issue:`6094`). + a ``too earle subscribe`` error + (:tarantool-release:`2.8.2`, :tarantool-release:`2.7.3`, :tarantool-issue:`6094`). - Fixed an error when a replica, at attempt to join a cluster with exclusively read-only replicas available, just booted its own replicaset, instead of failing or retrying. Now it fails with an error about the other nodes being read-only so they can’t register - it (:tarantool-issue:`5613`). + it + (:tarantool-release:`2.8.2`, :tarantool-release:`2.7.3`, :tarantool-issue:`5613`). - If an error occurred during the appliance of a transaction received from a remote instance via replication, it was always reported as ``Failed to write to disk`` regardless of what really happened. Now the correct error is shown. For example, ``Out of memory``, or - ``Transaction has been aborted by conflict``, and so on (:tarantool-issue:`6027`). + ``Transaction has been aborted by conflict``, and so on + (:tarantool-release:`2.8.2`, :tarantool-release:`2.7.3`, :tarantool-issue:`6027`). - Fixed replication occasionally stopping with ``ER_INVALID_MSGPACK`` when the replica is under high load (:tarantool-issue:`4040`). - Fixed a cluster sometimes being unable to bootstrap if it contains - nodes with ``election_mode`` ``manual`` or ``voter`` (:tarantool-issue:`6018`). + nodes with ``election_mode`` ``manual`` or ``voter`` + (:tarantool-release:`2.8.2`, :tarantool-release:`2.7.3`, :tarantool-issue:`6018`). - Fixed a possible crash when ``box.ctl.promote()`` was called in a cluster with more than three instances, happened in debug build. In release build, it could lead to undefined behaviour. It was likely to happen - if a new node was added shortly before the promotion (:tarantool-issue:`5430`). + if a new node was added shortly before the promotion + (:tarantool-release:`2.8.2`, :tarantool-release:`2.7.3`, :tarantool-issue:`5430`). - Fixed a rare error appearing when MVCC (``box.cfg.memtx_use_mvcc_engine``) was enabled, and more than one replica joined the cluster. The join could fail with the error ``"ER_TUPLE_FOUND: Duplicate key exists in unique index 'primary' in space '_cluster'"``. The same could happen at the bootstrap of a cluster having more than three nodes - (:tarantool-issue:`5601`). + (:tarantool-release:`2.8.2`, :tarantool-release:`2.7.3`, :tarantool-issue:`5601`). Raft ~~~~ @@ -309,11 +332,12 @@ Raft ``off``), which could happen if a leader resigned from its role at the same time as some other node was writing something related to the elections to WAL. The crash was in debug build, and in the release - build it would lead to undefined behaviour (:tarantool-issue:`6129`). + build it would lead to undefined behaviour + (:tarantool-release:`2.8.2`, :tarantool-release:`2.7.3`, :tarantool-issue:`6129`). - Fixed an error when a new replica in a Raft cluster tried to join from a follower instead of a leader and failed with an error - ``ER_READONLY`` (:tarantool-issue:`6127`). + ``ER_READONLY`` (:tarantool-release:`2.8.2`, :tarantool-release:`2.7.3`, :tarantool-issue:`6127`). .. _luajit-1: @@ -361,23 +385,27 @@ SQL ~~~ - User-defined functions can now return VARBINARY to SQL as a result - (:tarantool-issue:`6024`). + (:tarantool-release:`2.8.2`, :tarantool-release:`2.7.3`, :tarantool-issue:`6024`). - Fixed assert on a cast of DOUBLE value greater than -1.0 and less - than 0.0 to INTEGER and UNSIGNED (:tarantool-issue:`6255`). + than 0.0 to INTEGER and UNSIGNED + (:tarantool-release:`2.8.2`, :tarantool-release:`2.7.3`, :tarantool-issue:`6255`). - Removed spontaneous conversion from INTEGER to DOUBLE in a field of - NUMBER type (:tarantool-issue:`5335`). + NUMBER type + (:tarantool-release:`2.8.2`, :tarantool-release:`2.7.3`, :tarantool-issue:`5335`). - All arithmetic operations can now only accept numeric values - (:tarantool-issue:`5756`). + (:tarantool-release:`2.8.2`, :tarantool-release:`2.7.3`, :tarantool-issue:`5756`). MVCC ~~~~ -- Fixed MVCC interaction with ephemeral spaces: TX manager now ignores - them (:tarantool-issue:`6095`). +- Fixed MVCC interaction with ephemeral spaces: TX manager now ignores them + (:tarantool-release:`2.8.2`, :tarantool-issue:`6095`). -- Fixed a loss of tuple after a conflict exception (:tarantool-issue:`6132`). +- Fixed a loss of tuple after a conflict exception + (:tarantool-release:`2.8.2`, :tarantool-issue:`6132`). -- Fixed a segfault in update/delete of the same tuple (:tarantool-issue:`6021`). +- Fixed a segfault in update/delete of the same tuple + (:tarantool-release:`2.8.2`, :tarantool-issue:`6021`). From d79e663ffe5f9af199fc38af9d1fbba9ee18f621 Mon Sep 17 00:00:00 2001 From: patiencedaur Date: Tue, 24 Aug 2021 12:57:04 +0300 Subject: [PATCH 07/12] Proofread up to the Core section --- doc/release/2021-08-releases.rst | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/doc/release/2021-08-releases.rst b/doc/release/2021-08-releases.rst index 786fb98be1..1e43e169b0 100644 --- a/doc/release/2021-08-releases.rst +++ b/doc/release/2021-08-releases.rst @@ -6,38 +6,38 @@ Date: 2021-08-19 Introduction ------------ -Meet the new Tarantool releases in August 2021: -versions :tarantool-release:`2.8.2`, -:tarantool-release:`2.7.3` and :tarantool-release:`1.10.11`. +Meet the new Tarantool releases of August 2021: +:tarantool-release:`2.8.2`, +:tarantool-release:`2.7.3`, and :tarantool-release:`1.10.11`. Automated Raft-based failover out of the box ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Raft-based failover algorithm is now a part of Tarantool, available out of the box. -Use it to improve the data safety and reliability of Tarantool applications. +The Raft-based failover algorithm is now a part of Tarantool, available out of the box. +Use it to improve data safety and reliability of Tarantool applications. -The ability to use interactive transactions with any programming language -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Using interactive transactions with any programming language +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Write applications with interactive transactions in the programming language of your choice. -Interactive transactions are now a part of iproto, -enabling applications in any programming language to use them. +Interactive transactions are now part of iproto +and can be used by applications in any programming language. Compatibility ------------- -Tarantool 2.x is backward compatible with Tarantool 1.10.x in the binary +Tarantool 2.x is backward compatible with Tarantool 1.10.x regarding the binary data layout, client-server protocol, and replication protocol. `Upgrade `__ using the ``box.schema.upgrade()`` procedure to unlock all the new features of the 2.x series. -There are changes labeled with **[Breaking change]**. It means that the +Some changes are labeled as **[Breaking change]**. It means that the old behavior was considered error-prone and therefore changed to protect -users from unintended mistakes. However, there is a little probability -that someone can lean on the old behavior, and this label is to bring +users from unintended mistakes. However, there is a small probability +that someone can rely on the old behavior, and this label is to bring attention to the things that have been changed. New and updated features @@ -66,7 +66,7 @@ Lua Logging ^^^^^^^ -- The ``log`` module now supports the symbolic representation of log levels. +- The ``log`` module now supports symbolic representation of log levels. Now it is possible to specify levels the same way as in the ``box.cfg{}`` call (:tarantool-release:`2.8.2`, :tarantool-issue:`5882`). @@ -98,8 +98,8 @@ SQL versa (:tarantool-release:`2.8.2`, :tarantool-release:`2.7.3`, :tarantool-issue:`4772`, :tarantool-issue:`5852`). -- Fixed a bug due to which a string that is not ``NULL`` terminated - could not be cast to ``BOOLEAN``, even if the conversion should be +- Fixed a bug where a string that is not ``NULL``-terminated + could not be cast to ``BOOLEAN``, even if the conversion would be successful according to the rules (:tarantool-release:`2.8.2`, :tarantool-release:`2.7.3`). From 9987fe09ee6a65bbbe81fb7312bdd9076aece179 Mon Sep 17 00:00:00 2001 From: patiencedaur Date: Tue, 24 Aug 2021 18:19:01 +0300 Subject: [PATCH 08/12] Proofread 2021-08-releases --- doc/release/2021-08-releases.rst | 145 +++++++++++++++---------------- 1 file changed, 72 insertions(+), 73 deletions(-) diff --git a/doc/release/2021-08-releases.rst b/doc/release/2021-08-releases.rst index 1e43e169b0..78c0a6ce14 100644 --- a/doc/release/2021-08-releases.rst +++ b/doc/release/2021-08-releases.rst @@ -119,8 +119,8 @@ Core - **[Breaking change]** ``fiber.wakeup()`` in Lua and ``fiber_wakeup()`` in C became NOP on the currently running fiber. - Previously they allowed to “ignore” the next yield or sleep, which - resulted in unexpected spurious wake-ups. Calling these functions + Previously they allowed “ignoring” the next yield or sleep, which + resulted in unexpected erroneous wake-ups. Calling these functions right before ``fiber.create()`` in Lua or ``fiber_start()`` in C could lead to a crash (in debug build) or undefined behaviour (in release build) (:tarantool-issue:`6043`). @@ -145,9 +145,9 @@ Core fiber.yield() To get the same effect in C, one can now use ``fiber_reschedule()``. - In Lua, it is impossible now to reschedule the current fiber directly + In Lua, it is now impossible to reschedule the current fiber directly in the same event loop iteration. One can reschedule self - through a second fiber, but it is strongly discouraged to do so: + through a second fiber, but it is strongly discouraged: .. code:: lua @@ -161,34 +161,34 @@ Core - ``fiber_join()`` now checks if the argument is a joinable fiber. The absence of this check could lead to unpredictable results. Note that - the issue affects C level only; in Lua interface ``fiber:join()`` the - protection already is turned on + the change affects the C level only; in the Lua interface, ``fiber:join()`` + protection is already enabled (:tarantool-release:`2.8.2`, :tarantool-release:`2.7.3`). - Now Tarantool yields when it scans ``.xlog`` files for the latest - applied vclock and when it finds the right place in ``.xlog``\ s to + applied vclock and finds the right place in the ``.xlog``\ s to start recovering. It means that the instance becomes responsive - right after the ``box.cfg`` call even when an empty ``.xlog`` was not + right after the ``box.cfg`` call even if an empty ``.xlog`` was not created on the previous exit. This fix also prevents the relay from timing out when a freshly subscribed replica needs rows from the end of a relatively long (hundreds of - MBs) ``.xlog`` + MBs) ``.xlog`` file (:tarantool-release:`2.8.2`, :tarantool-release:`2.7.3`, :tarantool-issue:`5979`). - The counter in ``x.yM rows processed`` log messages no longer resets on each newly recovered ``xlog`` (:tarantool-release:`2.8.2`, :tarantool-release:`2.7.3`). -- Fixed a crash in JSON update on tuple/space, where update included - two or more operations, which accessed fields in reversed order, and +- Fixed a crash in JSON update on tuple/space, where the update included + two or more operations that accessed fields in reversed order and these fields didn’t exist. Example: ``box.tuple.new({1}):update({{'=', 4, 4}, {'=', 3, 3}})`` (:tarantool-release:`2.8.2`, :tarantool-issue:`6069`). - Fixed invalid results of the ``json`` module’s ``encode`` function when it was used from the Lua garbage collector. For - instance, this could happen in functions used as ``ffi.gc()`` + example, this could happen in functions used as ``ffi.gc()`` (:tarantool-issue:`6050`). - Added a check for user input of the number of iproto threads: value @@ -202,82 +202,81 @@ Core - Tarantool now always removes the Unix socket correctly when it exits (:tarantool-release:`2.8.2`). -- Now simultaneously updating a key in different transactions do not result in a crash in MVCC +- Simultaneously updating a key in different transactions + does not longer result in a MVCC crash (:tarantool-release:`2.8.2`, :tarantool-release:`2.7.3`, :tarantool-issue:`6131`). -- Fixed a bug when memtx MVCC crashed during reading uncommitted DDL +- Fixed a bug where memtx MVCC crashed during reading uncommitted DDL (:tarantool-release:`2.8.2`, :tarantool-release:`2.7.3`, :tarantool-issue:`5515`). -- Fixed a bug when memtx MVCC crashed if an index was created in +- Fixed a bug where memtx MVCC crashed if an index was created in transaction (:tarantool-release:`2.8.2`, :tarantool-release:`2.7.3`, :tarantool-issue:`6137`). -- Fixed segmentation fault with MVCC when the entire space was updated - concurrently +- Fixed a segmentation fault that arose + when using MVCC and updating the entire space concurrently (:tarantool-release:`2.8.2`, :tarantool-release:`2.7.3`, :tarantool-issue:`5892`). -- Fixed a bug with failed assertion after the stress update of the same +- Fixed a bug with failed assertion after a stress update of the same key (:tarantool-release:`2.8.2`, :tarantool-release:`2.7.3`, :tarantool-issue:`6193`). -- Fixed a crash if ``box.snapshot` is called during an incomplete +- Fixed a crash where ``box.snapshot`` could be called during an incomplete transaction (:tarantool-release:`2.8.2`, :tarantool-release:`2.7.3`, :tarantool-issue:`6229`). -- Fixed console client connection breakage if request timed out +- Fixed console client connection failure in case of request timeout (:tarantool-issue:`6249`). -- Added missing broadcast to ``net.box.future:discard()`` so that now - fibers waiting for a request result are woken up when the request is +- Added a missing broadcast to ``net.box.future:discard()`` so that now + fibers waiting for a request result wake up when the request is discarded (:tarantool-issue:`6250`). - ``box.info.uuid``, ``box.info.cluster.uuid``, and - ``tostring(decimal)`` with any decimal number in Lua sometimes could - return garbage if ``__gc`` handlers are used in the user’s code + ``tostring(decimal)`` with any decimal number in Lua could sometimes + return garbage if there were ``__gc`` handlers in the user’s code (:tarantool-release:`2.8.2`, :tarantool-release:`2.7.3`, :tarantool-issue:`6259`). -- Fixed an error message that happened in a particular case during +- Fixed an error message that appeared in a particular case during MVCC operation (:tarantool-issue:`6247`). - Fixed a repeatable read violation after delete (:tarantool-release:`2.8.2`, :tarantool-release:`2.7.3`, :tarantool-issue:`6206`). -- Fixed a bug when the MVCC engine didn't track hash ``select{}`` +- Fixed a bug where the MVCC engine didn't track the ``select{}`` hash (:tarantool-release:`2.8.2`, :tarantool-release:`2.7.3`, :tarantool-issue:`6040`). - Fixed a crash in MVCC after a drop of space with several indexes (:tarantool-release:`2.8.2`, :tarantool-release:`2.7.3`, :tarantool-issue:`6274`). -- Fixed a bug when GC at some state could leave tuples in secondary - indexes +- Fixed a bug where the GC could leave tuples in secondary indexes (:tarantool-release:`2.8.2`, :tarantool-release:`2.7.3`, :tarantool-issue:`6234`). -- Disallow yields after DDL operations in MVCC mode. It fixes crash - which takes place when several transactions refer to system spaces +- Disallow yields after DDL operations in MVCC mode. It fixes a crash + that took place when several transactions referred to system spaces (:tarantool-release:`2.8.2`, :tarantool-release:`2.7.3`, :tarantool-issue:`5998`). -- Fixed bug in MVCC connected which happens on rollback after DDL - operation +- Fixed a bug in MVCC that happened on rollback after a DDL operation (:tarantool-release:`2.8.2`, :tarantool-release:`2.7.3`, :tarantool-issue:`5998`). -- Fixed a bug when rollback resulted in unserializable behaviour +- Fixed a bug where rollback resulted in unserializable behavior (:tarantool-release:`2.8.2`, :tarantool-release:`2.7.3`, :tarantool-issue:`6325`). Vinyl ~~~~~ -- Fixed possible keys divergence during secondary index build which - might lead to missing tuples in it +- Fixed possible keys divergence during secondary index build, which + might lead to missing tuples (:tarantool-release:`2.8.2`, :tarantool-release:`2.7.3`, :tarantool-issue:`6045`). -- Fixed a race between Vinyl garbage collection and compaction - resulting in broken vylog and recovery +- Fixed the race between Vinyl garbage collection and compaction that + resulted in a broken vylog and recovery failure (:tarantool-release:`2.8.2`, :tarantool-release:`2.7.3`, :tarantool-issue:`5436`). Replication ~~~~~~~~~~~ -- Fixed use after free in relay thread when using elections +- Fixed the use after free in the relay thread when using elections (:tarantool-release:`2.8.2`, :tarantool-release:`2.7.3`, :tarantool-issue:`6031`). - Fixed a possible crash when a synchronous transaction was followed by @@ -285,20 +284,20 @@ Replication written (:tarantool-release:`2.8.2`, :tarantool-release:`2.7.3`, :tarantool-issue:`6057`). -- Fixed an error when a replica, at attempt to subscribe to a foreign - cluster (with different replicaset UUID), didn’t notice it is impossible, - and instead was stuck in an infinite retry loop printing - a ``too earle subscribe`` error +- Fixed an error where a replica, while attempting to subscribe to a foreign + cluster (with a different replicaset UUID), didn’t notice it is impossible + and instead became stuck in an infinite retry loop printing + a ``TOO_EARLY_SUBSCRIBE`` error (:tarantool-release:`2.8.2`, :tarantool-release:`2.7.3`, :tarantool-issue:`6094`). -- Fixed an error when a replica, at attempt to join a cluster with +- Fixed an error where a replica, while attempting to join a cluster with exclusively read-only replicas available, just booted its own replicaset, instead of failing or retrying. Now it fails with an error about the other nodes being read-only so they can’t register - it + the new replica (:tarantool-release:`2.8.2`, :tarantool-release:`2.7.3`, :tarantool-issue:`5613`). -- If an error occurred during the appliance of a transaction received +- If an error occurred while a transaction was being applied that was received from a remote instance via replication, it was always reported as ``Failed to write to disk`` regardless of what really happened. Now the correct error is shown. For example, ``Out of memory``, or @@ -309,34 +308,34 @@ Replication when the replica is under high load (:tarantool-issue:`4040`). - Fixed a cluster sometimes being unable to bootstrap if it contains - nodes with ``election_mode`` ``manual`` or ``voter`` + nodes with ``election_mode`` set to ``manual`` or ``voter`` (:tarantool-release:`2.8.2`, :tarantool-release:`2.7.3`, :tarantool-issue:`6018`). - Fixed a possible crash when ``box.ctl.promote()`` was called in a - cluster with more than three instances, happened in debug build. In release - build, it could lead to undefined behaviour. It was likely to happen + cluster with more than three instances. The crash happened in the debug build. + In the release build, it could lead to undefined behaviour. It was likely to happen if a new node was added shortly before the promotion (:tarantool-release:`2.8.2`, :tarantool-release:`2.7.3`, :tarantool-issue:`5430`). - Fixed a rare error appearing when MVCC - (``box.cfg.memtx_use_mvcc_engine``) was enabled, and more than one + (``box.cfg.memtx_use_mvcc_engine``) was enabled and more than one replica joined the cluster. The join could fail with the error - ``"ER_TUPLE_FOUND: Duplicate key exists in unique index 'primary' in space '_cluster'"``. + ``"ER_TUPLE_FOUND: Duplicate key exists in unique index 'primary' in space '_cluster'"``. The same could happen at the bootstrap of a cluster having more than three nodes (:tarantool-release:`2.8.2`, :tarantool-release:`2.7.3`, :tarantool-issue:`5601`). Raft ~~~~ -- Fixed a rare crash with the leader election enabled (any mode except - ``off``), which could happen if a leader resigned from its role at - the same time as some other node was writing something related to the - elections to WAL. The crash was in debug build, and in the release +- Fixed a rare crash with leader election enabled (any mode except + ``off``), which could happen if a leader resigned from its role while + another node was writing something elections-related to WAL + The crash was in the debug build, and in the release build it would lead to undefined behaviour (:tarantool-release:`2.8.2`, :tarantool-release:`2.7.3`, :tarantool-issue:`6129`). -- Fixed an error when a new replica in a Raft cluster tried to join - from a follower instead of a leader and failed with an error +- Fixed an error where a new replica in a Raft cluster tried to join + from a follower instead of a leader and failed with the error ``ER_READONLY`` (:tarantool-release:`2.8.2`, :tarantool-release:`2.7.3`, :tarantool-issue:`6127`). .. _luajit-1: @@ -344,18 +343,18 @@ Raft LuaJIT ~~~~~~ -- Fixed optimization for single-char strings in ``IR_BUFPUT`` assembly +- Fixed optimization for single-char strings in the ``IR_BUFPUT`` assembly routine. -- Fixed slots alignment in ``lj-stack`` command output when ``LJ_GC64`` +- Fixed slots alignment in the ``lj-stack`` command output when ``LJ_GC64`` is enabled (:tarantool-issue:`5876`). -- Fixed dummy frame unwinding in ``lj-stack`` command. +- Fixed dummy frame unwinding in the ``lj-stack`` command. - Fixed detection of inconsistent renames even in the presence of sunk values (:tarantool-issue:`4252`, :tarantool-issue:`5049`, :tarantool-issue:`5118`). -- Fixed the order VM registers are allocated by LuaJIT frontend in case +- Fixed the VM register allocation order provided by LuaJIT frontend in case of ``BC_ISGE`` and ``BC_ISGT`` (:tarantool-issue:`6227`). .. _lua-1: @@ -368,34 +367,34 @@ Lua Before the fix, it led to undefined behaviour during the next usage of this Lua coroutine (:tarantool-issue:`4617`). -- Fixed Lua C API misuse when the error is raised during call results - encoding on unprotected coroutine and expected to be caught on the - different one that is protected (:tarantool-issue:`6248`). +- Fixed a Lua C API misuse when the error is raised during call results + encoding in an unprotected coroutine and expected to be caught in a + different, protected coroutine (:tarantool-issue:`6248`). Triggers ^^^^^^^^ -- Fixed possible crash in case trigger removes itself. Fixed - possible crash in case someone destroys trigger when it’s - yield (:tarantool-issue:`6266`). +- Fixed a possible crash in case trigger removes itself. Fixed a + possible crash in case someone destroys a trigger when it + yields (:tarantool-issue:`6266`). .. _sql-1: SQL ~~~ -- User-defined functions can now return VARBINARY to SQL as a result +- User-defined functions can now return a VARBINARY result to SQL (:tarantool-release:`2.8.2`, :tarantool-release:`2.7.3`, :tarantool-issue:`6024`). -- Fixed assert on a cast of DOUBLE value greater than -1.0 and less - than 0.0 to INTEGER and UNSIGNED +- Fixed assert when a DOUBLE value greater than -1.0 and less + than 0.0 is cast to INTEGER and UNSIGNED (:tarantool-release:`2.8.2`, :tarantool-release:`2.7.3`, :tarantool-issue:`6255`). -- Removed spontaneous conversion from INTEGER to DOUBLE in a field of +- Removed spontaneous conversion from INTEGER to DOUBLE in a field of the NUMBER type (:tarantool-release:`2.8.2`, :tarantool-release:`2.7.3`, :tarantool-issue:`5335`). -- All arithmetic operations can now only accept numeric values +- All arithmetic operations can now accept numeric values only (:tarantool-release:`2.8.2`, :tarantool-release:`2.7.3`, :tarantool-issue:`5756`). MVCC @@ -404,8 +403,8 @@ MVCC - Fixed MVCC interaction with ephemeral spaces: TX manager now ignores them (:tarantool-release:`2.8.2`, :tarantool-issue:`6095`). -- Fixed a loss of tuple after a conflict exception +- Fixed loss of tuples after a conflict exception (:tarantool-release:`2.8.2`, :tarantool-issue:`6132`). -- Fixed a segfault in update/delete of the same tuple +- Fixed a segfault during update/delete of the same tuple (:tarantool-release:`2.8.2`, :tarantool-issue:`6021`). From 2d899a354a703aed12f86edbe88377d77593b034 Mon Sep 17 00:00:00 2001 From: patiencedaur Date: Wed, 25 Aug 2021 12:22:06 +0300 Subject: [PATCH 09/12] Minor fixes --- doc/release/2021-08-releases.rst | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/doc/release/2021-08-releases.rst b/doc/release/2021-08-releases.rst index 78c0a6ce14..4798a87e55 100644 --- a/doc/release/2021-08-releases.rst +++ b/doc/release/2021-08-releases.rst @@ -166,8 +166,8 @@ Core (:tarantool-release:`2.8.2`, :tarantool-release:`2.7.3`). - Now Tarantool yields when it scans ``.xlog`` files for the latest - applied vclock and finds the right place in the ``.xlog``\ s to - start recovering. It means that the instance becomes responsive + applied vclock and finds the right place to + start recovering from. It means that the instance becomes responsive right after the ``box.cfg`` call even if an empty ``.xlog`` was not created on the previous exit. @@ -297,8 +297,9 @@ Replication the new replica (:tarantool-release:`2.8.2`, :tarantool-release:`2.7.3`, :tarantool-issue:`5613`). -- If an error occurred while a transaction was being applied that was received - from a remote instance via replication, it was always reported as +- Fixed error reporting associated with transactions + received from remote instances via replication. + Any error raised while such a transaction was being applied was always reported as ``Failed to write to disk`` regardless of what really happened. Now the correct error is shown. For example, ``Out of memory``, or ``Transaction has been aborted by conflict``, and so on From c4e59c2a1c14d6deaf4e0ba3e9799fd45d860165 Mon Sep 17 00:00:00 2001 From: patiencedaur Date: Wed, 25 Aug 2021 13:00:00 +0300 Subject: [PATCH 10/12] Another minor fix --- doc/release/2021-08-releases.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/release/2021-08-releases.rst b/doc/release/2021-08-releases.rst index 4798a87e55..5e3b0ee831 100644 --- a/doc/release/2021-08-releases.rst +++ b/doc/release/2021-08-releases.rst @@ -209,8 +209,8 @@ Core - Fixed a bug where memtx MVCC crashed during reading uncommitted DDL (:tarantool-release:`2.8.2`, :tarantool-release:`2.7.3`, :tarantool-issue:`5515`). -- Fixed a bug where memtx MVCC crashed if an index was created in - transaction +- Fixed a bug where memtx MVCC crashed if an index was created in the + transaction thread (:tarantool-release:`2.8.2`, :tarantool-release:`2.7.3`, :tarantool-issue:`6137`). - Fixed a segmentation fault that arose From ec7e65ad1c404158d56a9212b6abf44205706c9c Mon Sep 17 00:00:00 2001 From: Kseniia Antonova Date: Wed, 25 Aug 2021 17:04:42 +0300 Subject: [PATCH 11/12] Minor fixes --- doc/release/2021-08-releases.rst | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/doc/release/2021-08-releases.rst b/doc/release/2021-08-releases.rst index 5e3b0ee831..f7fa0ebdfd 100644 --- a/doc/release/2021-08-releases.rst +++ b/doc/release/2021-08-releases.rst @@ -213,8 +213,8 @@ Core transaction thread (:tarantool-release:`2.8.2`, :tarantool-release:`2.7.3`, :tarantool-issue:`6137`). -- Fixed a segmentation fault that arose - when using MVCC and updating the entire space concurrently +- Fixed a MVCC segmentation fault that arose + when updating the entire space concurrently (:tarantool-release:`2.8.2`, :tarantool-release:`2.7.3`, :tarantool-issue:`5892`). - Fixed a bug with failed assertion after a stress update of the same @@ -285,7 +285,7 @@ Replication (:tarantool-release:`2.8.2`, :tarantool-release:`2.7.3`, :tarantool-issue:`6057`). - Fixed an error where a replica, while attempting to subscribe to a foreign - cluster (with a different replicaset UUID), didn’t notice it is impossible + cluster with a different replicaset UUID, didn’t notice it is impossible and instead became stuck in an infinite retry loop printing a ``TOO_EARLY_SUBSCRIBE`` error (:tarantool-release:`2.8.2`, :tarantool-release:`2.7.3`, :tarantool-issue:`6094`). @@ -330,7 +330,7 @@ Raft - Fixed a rare crash with leader election enabled (any mode except ``off``), which could happen if a leader resigned from its role while - another node was writing something elections-related to WAL + another node was writing something elections-related to WAL. The crash was in the debug build, and in the release build it would lead to undefined behaviour (:tarantool-release:`2.8.2`, :tarantool-release:`2.7.3`, :tarantool-issue:`6129`). From 0494ad9da20c61862f5e5e2aa614c32093340fc6 Mon Sep 17 00:00:00 2001 From: Kseniia Antonova Date: Wed, 25 Aug 2021 17:25:02 +0300 Subject: [PATCH 12/12] Fix link to tarantool-issue --- doc/release/2021-08-releases.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/release/2021-08-releases.rst b/doc/release/2021-08-releases.rst index f7fa0ebdfd..168094e100 100644 --- a/doc/release/2021-08-releases.rst +++ b/doc/release/2021-08-releases.rst @@ -389,7 +389,7 @@ SQL - Fixed assert when a DOUBLE value greater than -1.0 and less than 0.0 is cast to INTEGER and UNSIGNED - (:tarantool-release:`2.8.2`, :tarantool-release:`2.7.3`, :tarantool-issue:`6255`). + (:tarantool-release:`2.8.2`, :tarantool-release:`2.7.3`, :tarantool-issue:`6225`). - Removed spontaneous conversion from INTEGER to DOUBLE in a field of the NUMBER type