Expirationd Versions Save

Expiration daemon module for Tarantool

1.6.0

1 month ago

Overview

The release introduces a role for Tarantool 3.0.

Breaking changes

None.

New features

  • Tarantool 3.0 role (#160).

Testing

  • Updated the 'space_index_test.lua' to drop and recreate the test space atomically. This prevents the space access failure in the expirationd task fiber if the space:drop function is transactional (#157).
  • Updated version of luatest in make deps to 1.0.1 to support Tarantool 3.0 role tests (#160).

1.5.0

8 months ago

Overview

The release adds an ability to use functions from box.func with the Tarantool Cartridge role.

Breaking changes

None.

New features

  • An ability to use persistent functions in box.func with cartridge. A user can configure the role with persistent functions as callback for a task (#153).

1.4.0

1 year ago

Overview

The release adds _VERSION constant for the module.

Breaking changes

None.

New features

1.3.1

1 year ago

Overview

The release adds a missed ability to configure expirationd using Tarantool Cartridge role configuration.

Breaking changes

None.

Bugfixes

  • Incorrect check of the Tarantool version in tests to determine a bug in the vinyl engine that breaks the tests (#103).
  • There is no way to configure the module using Tarantool Cartridge role configuration (#131).

1.3.0

1 year ago

Overview

This release adds a Tarantool Cartridge role for expirationd package and improves the default behavior.

Breaking changes

None.

Deprecated

  • Obsolete functions: task_stats, kill_task, get_task, get_tasks, run_task, show_task_list.

New features

  • Continue a task from a last tuple (#54).
  • Decrease tarantool-checks dependency from 3.1 to 2.1 (#124).
  • Process a task on a writable space by default (#42).
  • Wait until a space or an index is created (#68, #116).
  • Tarantool Cartridge role (#107).

Bugfixes

  • Fix build and installation of rpm/deb packages (#124).
  • Do not restart a work fiber if an index does not exist (#64).
  • Update changelogs.

Testing

  • Shuffle tests (#118).
  • Fix test_mvcc_vinyl_tx_conflict (#104, #105).
  • Fix flaky 'simple expires test' (#90).

Other

  • expirationd.start() parameter space_id has been renamed to space (#112).
  • Add GitHub Actions workflow with debug Tarantool build (#102).
  • Add GitHub Actions workflow for deploying module packages to S3 based repositories (#43).

1.2.0

1 year ago

Overview

This release adds a lot of test fixes, documentation and CI improvements. The main new feature is support of metrics package. Collecting statistics using the metrics package is enabled by default if the package metrics >= 0.11.0 is installed.

4 counters will be created:

  1. expirationd_checked_count
  2. expirationd_expired_count
  3. expirationd_restarts
  4. expirationd_working_time

The meaning of counters is same as for expirationd.stats().

It can be disabled using the expirationd.cfg call:

expirationd.cfg({metrics = false})

Breaking changes

None.

New features

  • Check types of function arguments with checks module (#58).
  • Add messages about obsolete methods.
  • Add metrics support (#100).

Bugfixes

  • Prevent iteration through a functional index for Tarantool < 2.8.4 (#101).
  • Fix processing tasks with zero length box.cfg.replication (#95).

Testing

  • Tests use new version of API.
  • Add tests for expirationd.stats() (#77).
  • Gather code coverage and send report to coveralls on GitHub CI (#85).
  • Remove check for vinyl engine (#76).
  • Print engine passed to tests (#76).
  • Fix flakiness (#76, #90, #80).
  • Make iterate_with() conform to declared interface (#84).
  • Use default 'vinyl_memory' quota for tests (#104).

Other

  • Update documentation and convert to LDoc format (#60).
  • Support to generate documentation using make (#79).
  • Update comparison table in README.md (#53).
  • Add note about using expirationd with replication (#14).
  • Fix a typo in the rpm-package description.
  • Fix function name in example: function on_full_scan_complete -> function on_full_scan_error.
  • Add new target deps to Makefile that install lua dependencies (#79).
  • GitHub CI for publishing API documentation (#79).
  • Describe prerequisites and installation steps in README.md.
  • Bump luatest version to 0.5.6.
  • Fix incorrect description of the force option for the expirationd.start (#92, #96).

1.1.1

2 years ago

Overview

This release adds a fix for a bug with freezing on stop a task.

Breaking changes

None.

New features

None.

Bugfixes

  • Fix freezes when stopping a task (#69).

Testing

  • Enable Lua source code analysis with luacheck (#57).

1.1.0

2 years ago

Overview

This release adds a number of features and fixes a bug.

Breaking changes

None.

New features

  • Add the ability to set iteration and full scan delays for a task (#38).
  • Add callbacks for a task at various stages of the full scan iteration (#25).
  • Add the ability to specify from where to start the iterator (option start_key) and specify the type of the iterator itself (option iterator_type). Start key can be set as a function (dynamic parameter) or just a static value. The type of the iterator can be specified either with the box.index.* constant, or with the name for example, 'EQ' or box.index.EQ (#50).
  • Add the ability to create a custom iterator that will be created at the selected index (option iterate_with). One can also pass a predicate that will stop the full-scan process, if required (process_while) (#50).
  • Add an option atomic_iteration that allows making only one transaction per batch option. With task:kill(), the batch with transactions will be finalized, and only after that, the fiber will complete its work (#50).

Bugfixes

  • Fix worker iteration for a tree index. The bug can cause an array of tuples for a check on expiration to be obtained before suspending during the worker iteration (in case of using a tree index), and some tuples can be modified/deleted from another fiber while the worker fiber is sleeping.

1.0.1

6 years ago

First release with rockspecs