Skip to content

Releases: tarantool/queue

1.4.4

Choose a tag to compare

@oleg-jukovec oleg-jukovec released this 26 May 12:49
a8f5e6b

The patch release fixes incorrect behavior of the utubettl driver with enabled STORAGE_MODE_READY_BUFFER mode.

Fixed

  • Incorrect choice by priority of task with utubettl driver + ready buffer mode (#244).
  • Unable to take task with utubettl driver + ready buffer mode (#244).

1.4.3

Choose a tag to compare

@oleg-jukovec oleg-jukovec released this 02 Mar 19:07
5cc6aee

The release fixes start of a queue on instances with gaps inside the box.info.replication array.

Fixed

  • Grant method was added for *_ready_buffer spaces (#237).
  • Attempt to index a nil value if box.info.replication array has gaps.

1.4.2

Choose a tag to compare

@oleg-jukovec oleg-jukovec released this 10 Aug 14:53
3bfd1e2

The release re-publishes packages.

Fixed

  • Package publishing.

1.4.1

Choose a tag to compare

@oleg-jukovec oleg-jukovec released this 21 May 11:02

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

Choose a tag to compare

@oleg-jukovec oleg-jukovec released this 20 May 09:29

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

Choose a tag to compare

@LeonidVas LeonidVas released this 13 Sep 20:39

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

Choose a tag to compare

@LeonidVas LeonidVas released this 25 Aug 11:55

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

Choose a tag to compare

@0x501D 0x501D released this 31 Jul 15:55

Overview

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

1.3.0

Choose a tag to compare

@LeonidVas LeonidVas released this 13 Mar 12:11

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

Choose a tag to compare

@LeonidVas LeonidVas released this 28 Feb 15:33

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).