Releases: tarantool/vshard
0.1.28
Date: 30-08-2024
Tag: 0.1.28
Compatibility
VShard 0.1.28 is fully compatible with the previous VShard versions.
Functionality added or changed
- New option
request_timeoutwas added torouter.call{ro/re/bro/bre}requests. It must be<= timeoutand by default is equal totimeout. When set, it controls how much time a single request to a replica may take, and when this time passes, router retries the request on the next replica in a round-robin manner as long astimeoutis not elapsed (#484).
Bugs fixed
- Router started accounting replicas not responding to pings and lowering their priority (#483).
0.1.27
Date: 29-04-2024
Tag: 0.1.27
Compatibility
VShard 0.1.27 is fully compatible with the previous VShard versions.
Functionality added or changed
vshard.router.info()andvshard.storage.info()now exposeidentification_modeas it was specified in the config.vshard.storage.info()now containsurifield which contains the listen-URI of this instance and the user name which was used to configure the storage (#467).
Bugs fixed
- Router and storage, when had
master = 'auto'in their configs, could be stuck unable to discover a new master when the old one would suddenly disappear without any info (tarantool/vshard-ee#4).
0.1.26
Date: 17-01-2024
Tag: 0.1.26
Compatibility
VShard 0.1.26 is fully compatible with the previous VShard versions.
Bugs fixed
- Fixed a bug in storage hot reload from earlier versions when named identification
name_as_keywas used in the config (gh-464). - Fixed the instance URIs in logs containing invalid IPv6 addresses when IPv6 was used.
0.1.25
Date: 21-12-2023
Tag: 0.1.25
Compatibility
VShard 0.1.25 is fully compatible with the previous VShard versions.
Functionality added or changed
- Added support of
master='auto'on the storage side. It makes the storages dynamically track who of them is the master (no election, only tracking and automatic role switch) (gh-429). - Introduced
rebalancerflag for replicas and replicasets to be able to choose manually who of them should run the rebalancer service (gh-432). - Introduced
rebalancer_modewhich can be used to enforce manual or automatic rebalancer assignment, or turn the rebalancer off completely (gh-432). - Config can be used with instance and replicaset names instead of UUIDs - for that there is a new option
identification_mode. When specified asuuid_as_key(default) the behaviour is like in 0.1.24 and before. The valuename_as_keyunlocks the new behaviour (gh-426).
Bugs fixed
- Fixed a bug when bucket recovery and GC could sometimes do a bit more work than needed in case manual
vshard.storage.bucket_send()was used (gh-434). - Fixed a bug when
vshard.storage.send()could false-positively fail in the end or the beginning of its work (gh-433). - Fixed a bug that the router couldn't call storage functions implemented in C or having their Lua body stored in
_func(gh-436).
0.1.24
Date: 24-05-2023
Tag: 0.1.24
Compatibility
VShard 0.1.24 is fully compatible with the previous VShard versions.
Functionality added or changed
- Added support of Tarantool 3.0 (gh-402).
Bugs fixed
0.1.23
Date: 05-04-2023
Tag: 0.1.23
Compatibility
VShard 0.1.23 is fully compatible with the previous VShard versions.
Functionality added or changed
- New key
require('vshard')._VERSIONstores the current VShard version as a
string.
Bugs fixed
- Fixed a bug that deletion of any space didn't work if it wasn't truncated
before (gh-400).
0.1.22
Date: 20-02-2023
Tag: 0.1.22
Compatibility
VShard 0.1.22 is fully compatible with the previous VShard versions.
Functionality added or changed
-
A new trigger
vshard.storage.on_bucket_event()to react on bucket events,
such as move or GC (gh-372). -
vshard.router/storage.info()now accept an option{with_services = true}
to get additional info about background services (such as discovery or
rebalancer) that are working on the current instance (gh-107).
Bugs fixed
-
Fixed a bug that the rebalancing could lead to inconsistency in buckets. In
scope of the same bugfix all the updates in_bucketspace are now severely
restricted and validated (gh-377, gh-173). -
vshard.router/storage.cfg{}now can not be called from multiple fibers at
the same time (gh-140). -
Fixed a bug that certain router error objects didn't have
router_namefield.
0.1.21
Date: 20-08-2022
Tag: 0.1.21
Compatibility
VShard 0.1.21 is fully compatible with the previous VShard versions.
Bugs fixed
-
Fixed a bug that the rebalancing didn't work if the sharded spaces had
unusual types like 'varbinary' (gh-327, gh-328). -
A pack of fixes for problems with accessing buckets on replicas. They were not
properly protected against rebalancer and users could read too outdated data
or even inconsistent data (gh-173). -
Fixed a bug that if vshard's connection netbox fibers were killed on router or
storage, the connection could be not re-established on some Tarantool versions
making the peer inaccessible from the given node at all (gh-341).
0.1.20
Compatibility
VShard 0.1.20 is fully compatible with the previous VShard versions. But since
this release VShard supports only Tarantool >= 1.10.1.
Functionality added or changed
-
The configuration option
collect_lua_garbageis deprecated. Now it doesn't
do anything except printing a warning in the logs that it should not be used. -
The router now supports
msgpack.objectfeature. It can be passed to all
vshard.router.call...()and.map_call...()functions. They can also accept
the netbox optionreturn_rawto get an msgpack object in return (gh-312). -
The URIs in the config now support everything what can be passed to
box.cfg.listenandnetbox.connect(): number, string, table. There is also
a new config option -<replica_object>.listen. It can be used to setup
listen on multiple ports on storages and for SSL in Tarantool Enterprise
(gh-325).
Bugs fixed
-
Fixed a bug when router could raise a Lua exception about
vshard.errorbeing
not defined if a storage was disabled (implicitly or via
vshard.storage.disable()). -
Fixed a bug when router could raise a Lua exception about
master_uuid
variable being not defined whenmaster='auto'feature was used. -
Fixed a bug when usage of
memtx_use_mvcc_engineoption inbox.cfgcould
make bucket garbage collector not work. As a result, rebalancing also could
stop working and there could be'garbage'and'sent'buckets visible in
the monitoring (gh-314).
0.1.19
Compatibility
Fully compatible with 0.1.18.
Bugs fixed
is_asyncinvshard.router.call()and othervshard.router.call*functions such ascallbro/callbre/etc didn't work on Tarantool >= 2.8.2 (gh-294).