Skip to content

Releases: tarantool/vshard

0.1.18

06 Aug 10:18

Choose a tag to compare

Compatibility

Fully compatible with 0.1.17.

Bugs fixed

  • During rebalancing, even if all went fine, there were messages on the storages like "Starting ... buckets recovery step". They are not printed anymore unless there are really bucket transfers which somewhy need a recovery (gh-274).
  • vshard.storage.buckets_count() on replicas could return an outdated value (gh-276).

Functionality added or changed

  • vshard.storage.bucket_recv() now returns a very detailed error when a tuple couldn't be inserted into a space due to any reason. It also works for the built-in rebalancer - these errors are logged so it becomes easy to locate the spaces and tuples incompatible between replicasets during rebalancing (gh-275).
  • The router supports automatic master discovery. For that in the config for the needed replicasets need to specify master = 'auto' in their root and drop all master = ... from their replica configs (gh-75).

0.1.17

14 Apr 21:50

Choose a tag to compare

Overview

The version contains a not critical bugfix, and a big new feature - consistent map-reduce.

Compatibility

Fully compatible with 0.1.16.

Bugs fixed

  • A locked replicaset (locked via the configuration option lock) still could receive new buckets if vshard.storage.bucket_send() was called manually.

Functionality added or changed

  • Storage option collect_bucket_garbage_interval is deprecated. It does not make any effect now, and its usage prints a warning. Bucket-garbage collector now works reactively, i.e. it finds and deletes the garbage immediately as it appears, no delays.
  • Router has a new function vshard.router.map_callrw(). It works like the other call* functions, but it does not take a bucket ID. Instead, it performs a consistent map-reduce operation. The specified function is broadcast over all the master nodes where it can work with all the data available on the node regardless of bucket IDs. "Consistency" means that the call guarantees that if it succeeded, then the function has "seen" all the buckets in the cluster (gh-147).

0.1.16

19 Aug 20:10

Choose a tag to compare

Overview

The version contains a few not critical bugfixes, and a few new features for the router.

Compatibility

Fully compatible with 0.1.15.

Bugs fixed

  • Storage function vshard.storage.bucket_send() could use a not declared variable when created an error message about sending a bucket to self (gh-217).
  • Improved compatibility with 1.9. VShard on 1.9 could use a few functions and constant appeared since 1.10 (gh-225).
  • Replica could throw an exception from vshard.storage.cfg(), if configured before master (gh-237).
  • Router couldn't connect to a not bootstrapped cartridge instance, or connected but ignored it until restart (gh-241).
  • Router could ignore URI update in the configuration for an existing replica (gh-245).
  • Fixed broken discovery in Tarantool 1.9 (gh-250).
  • Router could show bad statistics when replicaset with non-zero bucket count is removed from the config (N/A 57492fa).

Functionality added or changed

  • Router has new built-in functions for bucket_id calculation: vshard.router.bucket_id_strcrc32() and vshard.router.bucket_id_mpcrc32(). The old function vshard.router.bucket_id(), because it is not stable - may return different results for the same values of different Lua types (gh-207).
  • Router's discovery is configurable - can work always, once, and can be turned off. See vshard.router.discovery_set(), and discovery_mode in the configuration (gh-210).

0.1.6

22 Aug 15:27

Choose a tag to compare

Now vshard uses fullmesh master-slave topology instead of star.

0.1.5

15 Aug 15:13

Choose a tag to compare

Vinyl spaces now are supported for sharding.