Skip to content

1.0.6

Compare
Choose a tag to compare
@Totktonada Totktonada released this 29 Feb 00:49
· 110 commits to master since this release

Overview

This release fixes several critical problems in queue, which can cause task
being stuck in 'taken' state or even lead to the inconsistent state of runtime
queue data.

We highly recommend to update to this version.

Breaking changes

External drivers should be updated with the new tasks_by_state() method.
Consider the example from the fifo driver:

-- get iterator to tasks in a certain state
function method.tasks_by_state(self, task_state)
    return self.space.index.status:pairs(task_state)
end

The example uses 'status' secondary index, which is built on top of 'status'
and 'task_id' fields.

This new method is necessary to correctly manage state of tasks: when tarantool
instance is restarted we should release all taken tasks (otherwise they would
stuck in the taken state forever). See #66 and #126 for more information.

New features

No.

Bugfixes

  • Fix releasing tasks at a client disconnection (#103).
  • Optimize statistics build (-15% in some cases) (#92).
  • Release all taken tasks at start (#66).
  • Don't take tasks during a client disconnection (#104).