Releases: tarantool/vshard
Releases · tarantool/vshard
0.1.18
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 allmaster = ...from their replica configs (gh-75).
0.1.17
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 ifvshard.storage.bucket_send()was called manually.
Functionality added or changed
- Storage option
collect_bucket_garbage_intervalis 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 othercall*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
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()andvshard.router.bucket_id_mpcrc32(). The old functionvshard.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(), anddiscovery_modein the configuration (gh-210).