Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
67 changes: 33 additions & 34 deletions doc/release/3.3.0.rst
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
Tarantool 3.3
=============

Release date: November 29, 2024
Release date: November 30, 2024

Releases on GitHub: :tarantool-release:`3.3.0`

Expand All @@ -12,7 +12,13 @@ The 3.3 release of Tarantool adds the following main product features and improv
* Improvements around queries with offsets.
* Improvement in Raft implementation.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(Here and same term below) I see 2 ways of capitalization for Raft in the doc: Raft and RAFT.
https://www.tarantool.io/en/doc/latest/search/?q=raft
All caps seems more popular -- and "more correct" as for me.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've checked the Raft website, Wikipedia, and some docs from software vendors, and haven't seen the all caps spelling. Sticking to the original (Raft website) is usually correct.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would be nice to ask our devs to update log messages then: they mostly say "RAFT".

* Persistent replication state.
* New C API for sending work to the TX thread.
* New C API for sending work to the TX thread
* JSON schema for cluster configuration validation
* New ``on_event`` callback in application roles
* API for user-defined alerts
* Isolated instance mode
* New configuration option for Lua memory size
* Supervised failover improvements

* **Enterprise Edition (EE)**

Expand All @@ -24,10 +30,6 @@ The 3.3 release of Tarantool adds the following main product features and improv
Developing applications
-----------------------

* JSON-схема для кластерного конфига.
* В ролях появился коллбек on_event для реакции на RO/RW.
* Возможность поднять или убрать алерт из роли или приложения.

.. _3-3-offset:

Improved offset processing
Expand Down Expand Up @@ -113,9 +115,8 @@ JSON schema of the cluster configuration
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Now the Tarantool cluster configuration schema is available for download in the JSON format.
The schema lists all configuration options available in a certain Tarantool version
together with their descriptions. As of Tarantool 3.3 release date, the following versions
are available:
The schema lists configuration options of a certain Tarantool version with descriptions.
As of Tarantool 3.3 release date, the following versions are available:

- `3.0.0 <https://download.tarantool.org/tarantool/schema/config.schema.3.0.0.json>`__
- `3.0.1 <https://download.tarantool.org/tarantool/schema/config.schema.3.0.1.json>`__
Expand All @@ -130,8 +131,9 @@ are available:
Additionally, there is the `latest <https://download.tarantool.org/tarantool/schema/config.schema.json>`__
schema that reflects the latest configuration schema in development (master branch).

You can use the URIs of these schemas to validate you configuration with `check-jsonschema <https://pypi.org/project/check-jsonschema/>`__
as follows:
Use these schemas to add completion for YAML configuration files and get
hints with option descriptions in your IDE, or validate your configurations,
for example, with `check-jsonschema <https://pypi.org/project/check-jsonschema/>`__:

.. code-block:: console

Expand Down Expand Up @@ -187,12 +189,13 @@ The ``config:new_alerts_namespace()`` function creates a new
local config = require('config')
local alerts = config:new_alerts_namespace('my_alerts')

Alerts namespaces provides methods for managing alerts within them. All user-defined
Alerts namespaces provide methods for managing alerts within them. All user-defined
alerts raised in all namespaces are shown in ``box.info.config.alerts``.

To raise an alert, use the namespace methods ``add`` or ``set``:
The difference between them is that ``set()`` accepts a key to use as an alert
identifier for further operations. An alert must be a table; it's ``message`` field is logged.
To raise an alert, use the namespace methods ``add()`` or ``set()``:
The difference between them is that ``set()`` accepts a key to refer to the alert
later: overwrite or discard it. An alert is a table with one mandatory field ``message``
(its value is logged) and arbitrary used-defined fields.

.. code-block:: lua

Expand Down Expand Up @@ -226,19 +229,20 @@ Administration and maintenance
DDL before upgrade
~~~~~~~~~~~~~~~~~~~

* Апгрейд лишился ограничений на DDL по сравнению с версиями 3.0, 3.1, 3.2.
Это позволяет, например, выдать права на функции до вызова box.schema.upgrade()..

Tarantool now allows DDL operations before calling ``box.schema.upgrade()`` during
an upgrade from an earlier version. For example, you can
Since version 3.3, Tarantool allows DDL operations before calling ``box.schema.upgrade()``
during an upgrade if the source schema version is 2.11.1 or later. This allows,
for example, granting execute access to user-defined functions in the cluster configuration
before the schema is upgraded.

.. _3-3-isolated-instances:

Isolated instances
~~~~~~~~~~~~~~~~~~

A new instance-level configuration option ``isolated`` puts an instance into the
*isolated* mode.
*isolated* mode. In this mode, an instance doesn't accept updates from other members
of its replica set and other iproto requests. It also doesn't perform background
data modifications and remains in read-only mode.

.. code-block:: yaml

Expand All @@ -252,17 +256,13 @@ A new instance-level configuration option ``isolated`` puts an instance into the
instance-003:
isolated: true

In this mode, an instance doesn't accept updates from other members of its replicaset
and other iproto requests. It also doesn't perform background data modifications
and remains in read-only mode.

Use the isolated mode to temporarily isolate instances for maintenance, debugging,
or other actions that should not affect other cluster instances.

.. _3-3-replica-unregister:
.. _3-3-autoexpel:

Automatic expulsion configuration
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Automatic expulsion of removed instances
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

A new configuration section ``replication.autoexpel`` allows to automatically expel
instances after they are removed from the YAML configuration.
Expand All @@ -282,25 +282,24 @@ The section includes three options:
In version 3.3, the only available criterion is ``prefix``.
- ``prefix``: a prefix with which an instance name should start to make automatic expulsion possible.

.. note::

Automatic expulsion happens after a :ref:`configuration reload <config_api_reference_reload>`.

.. _3-3-lua-memory-size:

Lua memory size
~~~~~~~~~~~~~~~

A new configuration option ``lua.memory`` specifies the maximum amount of memory
for Lua scripts execution, in bytes. For example, this configuration sets the Lua memory limit to 2 GB:
for Lua scripts execution, in bytes. For example, this configuration sets the Lua memory
limit to 4 GB:

.. code-block:: yaml

lua:
memory: 2147483648
memory: 4294967296

The default limit is 2 GB.

.. 3-3-supervised-failover-improvements:
.. _3-3-supervised-failover-improvements:

Supervised failover improvements
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Expand Down
4 changes: 2 additions & 2 deletions doc/release/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -62,8 +62,8 @@ For information about earlier versions, see :doc:`eol_versions`.
- Versions

* - :doc:`3.3 </release/3.3.0>`
- **November 29, 2024**
- **November 29, 2026**
- **November 30, 2024**
- **November 30, 2026**
- **Not planned yet**
- | :tarantool-release:`3.3.0`

Expand Down
Loading