Skip to content

Releases: tarantool/queue

1.4.1

21 May 11:02
Compare
Choose a tag to compare

The release fixes too long release time by a ttr value or a delay timeout.

Fixed

  • Too long timings in the utubettl driver (#223).

1.4.0

20 May 09:29
Compare
Choose a tag to compare

The release introduces an experimental storage_mode option for the utube and utubettl drivers with the memtx engine. It could be used to create a utube or utubettl queue with an additional buffer space that stores only ready to take tasks.

local tube = queue.create_tube('utube_with_ready_buffer', 'utube',
    {storage_mode = queue.driver.utube.STORAGE_MODE_READY_BUFFER})
local tube = queue.create_tube('utubettl_with_ready_buffer', 'utubettl',
    {storage_mode = queue.driver.utubettl.STORAGE_MODE_READY_BUFFER})

The storage mode slower in general cases, but a much faster in cases when you have utubes with many tasks (see README.md for the performance comparison). So you should make your choice carefully.

Added

  • Experimental storage_mode option for creating a utube and utubettl tube (#228). It enables the workaround for slow takes while working with busy tubes.

Fixed

  • Stuck in INIT state if an instance failed to enter the running mode in time (#226). This fix works only for Tarantool versions >= 2.10.0.
  • Slow takes on busy utube and utubettl tubes (#228). The workaround could be enabled by passing the storage_mode = "ready_buffer" option while creating the tube.

1.3.3

13 Sep 20:39
Compare
Choose a tag to compare

Overview

This release updates the behavior of public queue methods on replicas in INIT state.

Fixed

  • In replicaset mode, the behavior of the public API is reduced to the same behavior
    in all queue states, including INIT. Previously, in the INIT state, an ambiguous
    error was thrown when trying to access a public method on a replica and the script
    was interrupted by an error.

    Old behavior (call create_tube on replica, queue is in INIT state):

    2023-09-04 14:01:11.000 [5990] main/103/replica.lua/box.load_cfg I> set 'read_only' configuration option to true
    stack traceback:
      /home/void/tmp/cluster/repl/queue/init.lua:44: in function '__index'
      replica.lua:13: in main chunk
    2023-09-04 14:01:11.004 [5990] main/105/checkpoint_daemon I> scheduled next checkpoint for Mon Sep  4 15:11:32 2023
    2023-09-04 14:01:11.004 [5990] main utils.c:610 E> LuajitError: /home/void/tmp/cluster/repl/queue/init.lua:45: Please configure box.cfg{} in read/write mode first
    

    After this fix:

    2023-09-11 10:24:31.463 [19773] main/103/replica.lua abstract.lua:93 E> create_tube: queue is in INIT state
    

1.3.2

25 Aug 11:55
Compare
Choose a tag to compare

Overview

This release fixes a problem with duplicate id error with mvvc on put and take.

Bugfixes

  • Duplicate id error with mvvc on put and take (#207).
    Let's consider the problem on the example of executing two put commands one by one.
    MVCC uses so-called best-effort visibility to minimize the probability of conflicts: read-committed is selected for write transactions and read-confirmed for read transactions. Which leads to a situation where a task gets a new id and yields while waiting to write to WAL and at the same time the second task gets the same id (because the record with the new id has not yet received confirmed status) and fails when trying to write.

1.3.1

31 Jul 15:55
Compare
Choose a tag to compare

Overview

This release fixes yield in the fifottl/utubettl queue drivers.

1.3.0

13 Mar 12:11
Compare
Choose a tag to compare

Overview

This release fixes a queue bug with replicaset and adds the ability to get the module version.

New features

Added possibility to get the module version.

Bugfixes

Fixed a bug when working with the replicaset (#202).

1.2.5

28 Feb 15:33
Compare
Choose a tag to compare

Overview

This is a technical release that should fix several problems in the
repositories with packages that were caused by the mistaken creation
of several tags (for this reason there are no 1.2.3 and 1.2.4 tags
and corresponding packages in the repositories).

1.2.2

03 Nov 11:19
Compare
Choose a tag to compare

Overview

This releases fixes excessive CPU consumption of the state fiber.

1.2.1

12 Sep 12:54
Compare
Choose a tag to compare

Overview

This release:

  • adds rockspec publishing to CD
  • fixes "replication" mode switching on tarantool < 2.2.1
  • fixes several tests

1.2.0

06 Jun 17:36
Compare
Choose a tag to compare

Overview

This release introduce:

  • Master-replica switching support.
  • Additional grants for queue/tube functions.

New features

Bugfixes

  • Fix work with "ttl" of buried task.
    Previously, if a task was "buried" after it was "taken" (and the task has a
    "ttr"), then the time when the "release" should occur (the "ttr" timer) will
    be interpreted as the end of the "ttl" timer and the task will be deleted.