Releases: tarantool/cartridge
2.7.4 - more stable failover
[2.7.4] - 2022-04-11
Added
http_port
,http_host
andwebui_prefix
to graphql and webui (#622, #1527).- Add
get_servers
,get_replicasets
andget_enabled_roles_without_deps
API (#1624, #1722). - Logging of configuration options on start and boot instance (#1557).
app_version
field to graphql and webui. It filled fromVERSION.lua
file in the root of cartridge app (#1367).- Param
opts
toServer:upload_config
intest-helpers
and pass it
tohttp_request
(#1321). - Setters ans getters for timeout options in
twophase.lua
(#1440):
netbox_call_timeout
,upload_config_timeout
,validate_config_timeout
,apply_config_timeout
. - Allow to extract filename from http request body (#1613).
- Testing on Tarantool pre-release version.
box.info.ro_reason
andbox.info.replication.X.downstream.lag
to boxinfo API (#1721).- Ability to set multiple types for Cartridge arguments.
Types are split by separator|
, e.g.string|number
(#1651). - Downgrade test (#1397).
- Vshard weight parameter to
test-helpers.Cluster.replicasets
(#1743). - Add logging for role machinery (#1745).
- Export vshard config in Lua API (#1761).
- New
failover_promote
optionskip_error_on_change
to skip etcd error
when vclockkeeper was changed betweenset_vclokkeeper
calls (#1399). - Allow to pause failover at runtime, with Lua API and GraphQL (#1763).
- Allow to block roles reload at runtime, with Lua API (#1219).
Changed
- Update
http
dependency to 1.2.0. - Allow to bootstrap vshard groups partially (#1148).
- Use effector for business logic and storing Cluster page data (models folder).
- Rewrite all Cluster page components using typescript.
- Improve the error message in login dialog.
- Use core as a node module instead of a window scope object.
- Update
frontend-core
to 8.1.0. - Update
graphql
to 0.1.4. - Bind remote control socket to
advertise_uri
(#1495). - The new compact design of the Cluster page.
- Update
vshard
to 0.1.19. - Change type of
replication_synchro_quorum
in argparse tostring|number
. - Update
ddl
dependency to 1.6.0.
Fixed
- Fix joining an instance when leader is not the first instance from leaders_order (#1204).
- Fix the incorrect number of total buckets on the replication server in webui (#1176).
- Fix GraphQL query
auth_params.username
returns empty string instead ofusername
. - Tests compatibility with tarantool/master (#1619).
- Tests improvements on macOS (#1638).
fetch-schema
script on macOS (#1628).- Stateful failover triggers when instance is in OperationError state (#1139).
- Fix
rpc_call
failure in case if the role hasn't been activated yet on target instance (#1575). - Fixed the visibility of the configuration management page if the cluster
is not bootstrapped yet (#1707). - Error when vclockkeeper in stateboard was changed between
failover_promote
calls (#1399).
[2.7.3] - 2021-10-27
Changed
-
Disabled role's validate_config is not called during config validation.
-
Update @tarantool.io/ui-kit and frontend-core dependencies to support the new design style.
[2.7.2] - 2021-10-08
Added
-
'Make all instances writeable' configuration field can be hidden via frontend-core's
set_variable
feature or at runtime. -
New
get_issues
callback in role API to collect user-defined issues. The issues are gathered from the enabled roles only (which are present inservice-registry
). -
Allow disabling built-in HTTP "admin" user:
- by specifying
auth_builtin_admin_enabled: false
in theinstances.yml
; - using
TARANTOOL_AUTH_BUILTIN_ADMIN_ENABLED=false
environment variable; - permanently in
init.lua
:
- by specifying
-- init.lua
require('cartridge.auth-backend').set_builtin_admin_enabled(false)
cartridge.cfg({
auth_backend_name = 'cartridge.auth-backend',
...
})
Changed
- Make built-in HTTP "admin" user a part of default auth backend. Custom backends are free of it now.
Fixed
-
Eliminate unnecessary transactions after the restart before the replication sync. This reduces the chance the hardware restart leads to WAL corruption (#1546).
-
Fix
net.box
clients compatibility with future tarantool 2.10 versions. -
Fix vshard rebalancer broken by roles reload.
[2.7.1] - 2021-08-10
Fixed
- Update
errors
dependency to 2.2.1 (Fix compatibility with Tarantool 2.9).
[2.7.0] - 2021-08-10
Added
-
New suggestion to restart replication. Whenever the replication isn't running and the reason isn't in the dead upstream, Cartridge will show the corresponding banner in WebUI.
-
More server details in WebUI: membership, vshard-router, and vshard-storage.
-
Roles are stopped with the
on_shutdown
trigger where it's supported (in Tarantool 2.8+). -
New
cartridge.cfg
options:webui_prefix
(default:""
) allows to modify WebUI routes.webui_enforce_root_redirect
(default:true
) manage redirection.
To sum up, now they look as follows:
<PREFIX>/admin/
;<PREFIX>/admin/api
;<PREFIX>/admin/config
;<PREFIX>/admin/cluster/*
;<PREFIX>/static/*
;<PREFIX>/login
;<PREFIX>/logout
;/
and<PREFIX>/
redirect to/<PREFIX>/admin
(if enabled).
-
Support
rebalancer_max_sending
vshard option. -
New
validate_config
method in GraphQL API. -
Add
zone
andzone_distances
parameters to test helpers.
Changed
-
Merge "Schema" and "Code" pages. Also, allow validating all files, not only the
schema.yml
. -
Allow expelling a leader. Cartridge will appoint a new leader according to the failover priority from the topology.
-
Add default
pool.map_call
timeout 10 seconds. -
Forbid starting an instance absent in
instances.yml
. -
Update
errors
dependency to 2.2.0 with a new methoderrors.netbox_wait_async
to wait fornetbox.future
result. -
Update
membership
dependency to 2.4.0 (Changelog). -
Update
ddl
dependency to 1.5.0 which supplements the clusterwide config with an example schema (Changelog). -
Update
vshard
to 0.1.18 ([Changelog](<https://github.com/tarantool/vshard/releases/tag/0.1.18)).
Fixed
-
Leaders replaced during stateful failover can be expelled now.
-
Make failover logging more verbose.
-
Fix hot-reload for roles that leave gaps in httpd routes.
-
Check user e-mail uniqueness when editing.
-
Expelled instances are removed from the
_cluster
space. -
Fix
get_enabled_roles
to work w/o arguments. -
Don't default to syslog driver unless
/dev/log
or/var/run/syslog
are available. -
Fix inappropriate consistency timeout that led to "Timed out" error during forceful leader promotion.
-
Support automatic parsing of Tarantool Enterprise box options
audit_log
andaudit_nonblock
. -
Instance won't suspect any members during
RecoveringSnapshot
andBootstrappingBox
.
Enhanced in WebUI
-
Allow to blacklist subpages for complex modules.
-
Fix notifications displaying. Close it by clicking anywhere. Keep it open while the mouse is over.
-
Various styles enhancements.
2.7.3
[2.7.3] - 2021-10-27
Changed
-
Disabled role's validate_config is not called during config validation.
-
Update @tarantool.io/ui-kit and frontend-core dependencies to support the new design style.
[2.7.2] - 2021-10-08
Added
-
'Make all instances writeable' configuration field can be hidden via frontend-core's
set_variable
feature or at runtime. -
New
get_issues
callback in role API to collect user-defined issues. The issues are gathered from the enabled roles only (which are present inservice-registry
). -
Allow disabling built-in HTTP "admin" user:
- by specifying
auth_builtin_admin_enabled: false
in theinstances.yml
; - using
TARANTOOL_AUTH_BUILTIN_ADMIN_ENABLED=false
environment variable; - permanently in
init.lua
:
- by specifying
-- init.lua
require('cartridge.auth-backend').set_builtin_admin_enabled(false)
cartridge.cfg({
auth_backend_name = 'cartridge.auth-backend',
...
})
Changed
- Make built-in HTTP "admin" user a part of default auth backend. Custom backends are free of it now.
Fixed
-
Eliminate unnecessary transactions after the restart before the replication sync. This reduces the chance the hardware restart leads to WAL corruption (#1546).
-
Fix
net.box
clients compatibility with future tarantool 2.10 versions. -
Fix vshard rebalancer broken by roles reload.
[2.7.1] - 2021-08-10
Fixed
- Update
errors
dependency to 2.2.1 (Fix compatibility with Tarantool 2.9).
[2.7.0] - 2021-08-10
Added
-
New suggestion to restart replication. Whenever the replication isn't running and the reason isn't in the dead upstream, Cartridge will show the corresponding banner in WebUI.
-
More server details in WebUI: membership, vshard-router, and vshard-storage.
-
Roles are stopped with the
on_shutdown
trigger where it's supported (in Tarantool 2.8+). -
New
cartridge.cfg
options:webui_prefix
(default:""
) allows to modify WebUI routes.webui_enforce_root_redirect
(default:true
) manage redirection.
To sum up, now they look as follows:
<PREFIX>/admin/
;<PREFIX>/admin/api
;<PREFIX>/admin/config
;<PREFIX>/admin/cluster/*
;<PREFIX>/static/*
;<PREFIX>/login
;<PREFIX>/logout
;/
and<PREFIX>/
redirect to/<PREFIX>/admin
(if enabled).
-
Support
rebalancer_max_sending
vshard option. -
New
validate_config
method in GraphQL API. -
Add
zone
andzone_distances
parameters to test helpers.
Changed
-
Merge "Schema" and "Code" pages. Also, allow validating all files, not only the
schema.yml
. -
Allow expelling a leader. Cartridge will appoint a new leader according to the failover priority from the topology.
-
Add default
pool.map_call
timeout 10 seconds. -
Forbid starting an instance absent in
instances.yml
. -
Update
errors
dependency to 2.2.0 with a new methoderrors.netbox_wait_async
to wait fornetbox.future
result. -
Update
membership
dependency to 2.4.0 (Changelog). -
Update
ddl
dependency to 1.5.0 which supplements the clusterwide config with an example schema (Changelog). -
Update
vshard
to 0.1.18 ([Changelog](<https://github.com/tarantool/vshard/releases/tag/0.1.18)).
Fixed
-
Leaders replaced during stateful failover can be expelled now.
-
Make failover logging more verbose.
-
Fix hot-reload for roles that leave gaps in httpd routes.
-
Check user e-mail uniqueness when editing.
-
Expelled instances are removed from the
_cluster
space. -
Fix
get_enabled_roles
to work w/o arguments. -
Don't default to syslog driver unless
/dev/log
or/var/run/syslog
are available. -
Fix inappropriate consistency timeout that led to "Timed out" error during forceful leader promotion.
-
Support automatic parsing of Tarantool Enterprise box options
audit_log
andaudit_nonblock
. -
Instance won't suspect any members during
RecoveringSnapshot
andBootstrappingBox
.
Enhanced in WebUI
-
Allow to blacklist subpages for complex modules.
-
Fix notifications displaying. Close it by clicking anywhere. Keep it open while the mouse is over.
-
Various styles enhancements.
2.7.2
[2.7.2] - 2021-10-08
Added
-
'Make all instances writeable' configuration field can be hidden via frontend-core's
set_variable
feature or at runtime. -
New
get_issues
callback in role API to collect user-defined issues. The issues are gathered from the enabled roles only (which are present inservice-registry
). -
Allow disabling built-in HTTP "admin" user:
- by specifying
auth_builtin_admin_enabled: false
in theinstances.yml
; - using
TARANTOOL_AUTH_BUILTIN_ADMIN_ENABLED=false
environment variable; - permanently in
init.lua
:
- by specifying
-- init.lua
require('cartridge.auth-backend').set_builtin_admin_enabled(false)
cartridge.cfg({
auth_backend_name = 'cartridge.auth-backend',
...
})
Changed
- Make built-in HTTP "admin" user a part of default auth backend. Custom backends are free of it now.
Fixed
-
Eliminate unnecessary transactions after the restart before the replication sync. This reduces the chance the hardware restart leads to WAL corruption (#1546).
-
Fix
net.box
clients compatibility with future tarantool 2.10 versions. -
Fix vshard rebalancer broken by roles reload.
[2.7.1] - 2021-08-10
Fixed
- Update
errors
dependency to 2.2.1 (Fix compatibility with Tarantool 2.9).
[2.7.0] - 2021-08-10
Added
-
New suggestion to restart replication. Whenever the replication isn't running and the reason isn't in the dead upstream, Cartridge will show the corresponding banner in WebUI.
-
More server details in WebUI: membership, vshard-router, and vshard-storage.
-
Roles are stopped with the
on_shutdown
trigger where it's supported (in Tarantool 2.8+). -
New
cartridge.cfg
options:webui_prefix
(default:""
) allows to modify WebUI routes.webui_enforce_root_redirect
(default:true
) manage redirection.
To sum up, now they look as follows:
<PREFIX>/admin/
;<PREFIX>/admin/api
;<PREFIX>/admin/config
;<PREFIX>/admin/cluster/*
;<PREFIX>/static/*
;<PREFIX>/login
;<PREFIX>/logout
;/
and<PREFIX>/
redirect to/<PREFIX>/admin
(if enabled).
-
Support
rebalancer_max_sending
vshard option. -
New
validate_config
method in GraphQL API. -
Add
zone
andzone_distances
parameters to test helpers.
Changed
-
Merge "Schema" and "Code" pages. Also, allow validating all files, not only the
schema.yml
. -
Allow expelling a leader. Cartridge will appoint a new leader according to the failover priority from the topology.
-
Add default
pool.map_call
timeout 10 seconds. -
Forbid starting an instance absent in
instances.yml
. -
Update
errors
dependency to 2.2.0 with a new methoderrors.netbox_wait_async
to wait fornetbox.future
result. -
Update
membership
dependency to 2.4.0 (Changelog). -
Update
ddl
dependency to 1.5.0 which supplements the clusterwide config with an example schema (Changelog). -
Update
vshard
to 0.1.18 ([Changelog](<https://github.com/tarantool/vshard/releases/tag/0.1.18)).
Fixed
-
Leaders replaced during stateful failover can be expelled now.
-
Make failover logging more verbose.
-
Fix hot-reload for roles that leave gaps in httpd routes.
-
Check user e-mail uniqueness when editing.
-
Expelled instances are removed from the
_cluster
space. -
Fix
get_enabled_roles
to work w/o arguments. -
Don't default to syslog driver unless
/dev/log
or/var/run/syslog
are available. -
Fix inappropriate consistency timeout that led to "Timed out" error during forceful leader promotion.
-
Support automatic parsing of Tarantool Enterprise box options
audit_log
andaudit_nonblock
. -
Instance won't suspect any members during
RecoveringSnapshot
andBootstrappingBox
.
Enhanced in WebUI
-
Allow to blacklist subpages for complex modules.
-
Fix notifications displaying. Close it by clicking anywhere. Keep it open while the mouse is over.
-
Various styles enhancements.
2.7.1
[2.7.1] - 2021-08-10
Fixed
- Update
errors
dependency to 2.2.1 (Fix compatibility with Tarantool 2.9).
[2.7.0] - 2021-08-10
Added
-
New suggestion to restart replication. Whenever the replication isn't running and the reason isn't in the dead upstream, Cartridge will show the corresponding banner in WebUI.
-
More server details in WebUI: membership, vshard-router, and vshard-storage.
-
Roles are stopped with the
on_shutdown
trigger where it's supported (in Tarantool 2.8+). -
New
cartridge.cfg
options:webui_prefix
(default:""
) allows to modify WebUI routes.webui_enforce_root_redirect
(default:true
) manage redirection.
To sum up, now they look as follows:
<PREFIX>/admin/
;<PREFIX>/admin/api
;<PREFIX>/admin/config
;<PREFIX>/admin/cluster/*
;<PREFIX>/static/*
;<PREFIX>/login
;<PREFIX>/logout
;/
and<PREFIX>/
redirect to/<PREFIX>/admin
(if enabled).
-
Support
rebalancer_max_sending
vshard option. -
New
validate_config
method in GraphQL API. -
Add
zone
andzone_distances
parameters to test helpers.
Changed
-
Merge "Schema" and "Code" pages. Also, allow validating all files, not only the
schema.yml
. -
Allow expelling a leader. Cartridge will appoint a new leader according to the failover priority from the topology.
-
Add default
pool.map_call
timeout 10 seconds. -
Forbid starting an instance absent in
instances.yml
. -
Update
errors
dependency to 2.2.0 with a new methoderrors.netbox_wait_async
to wait fornetbox.future
result. -
Update
membership
dependency to 2.4.0 (Changelog). -
Update
ddl
dependency to 1.5.0 which supplements the clusterwide config with an example schema (Changelog). -
Update
vshard
to 0.1.18 ([Changelog](<https://github.com/tarantool/vshard/releases/tag/0.1.18)).
Fixed
-
Leaders replaced during stateful failover can be expelled now.
-
Make failover logging more verbose.
-
Fix hot-reload for roles that leave gaps in httpd routes.
-
Check user e-mail uniqueness when editing.
-
Expelled instances are removed from the
_cluster
space. -
Fix
get_enabled_roles
to work w/o arguments. -
Don't default to syslog driver unless
/dev/log
or/var/run/syslog
are available. -
Fix inappropriate consistency timeout that led to "Timed out" error during forceful leader promotion.
-
Support automatic parsing of Tarantool Enterprise box options
audit_log
andaudit_nonblock
. -
Instance won't suspect any members during
RecoveringSnapshot
andBootstrappingBox
.
Enhanced in WebUI
-
Allow to blacklist subpages for complex modules.
-
Fix notifications displaying. Close it by clicking anywhere. Keep it open while the mouse is over.
-
Various styles enhancements.
2.7.0
[2.7.0] - 2021-08-10
Added
-
New suggestion to restart replication. Whenever the replication isn't running and the reason isn't in the dead upstream, Cartridge will show the corresponding banner in WebUI.
-
More server details in WebUI: membership, vshard-router, and vshard-storage.
-
Roles are stopped with the
on_shutdown
trigger where it's supported (in Tarantool 2.8+). -
New
cartridge.cfg
options:webui_prefix
(default:""
) allows to modify WebUI routes.webui_enforce_root_redirect
(default:true
) manage redirection.
To sum up, now they look as follows:
<PREFIX>/admin/
;<PREFIX>/admin/api
;<PREFIX>/admin/config
;<PREFIX>/admin/cluster/*
;<PREFIX>/static/*
;<PREFIX>/login
;<PREFIX>/logout
;/
and<PREFIX>/
redirect to/<PREFIX>/admin
(if enabled).
-
Support
rebalancer_max_sending
vshard option. -
New
validate_config
method in GraphQL API. -
Add
zone
andzone_distances
parameters to test helpers.
Changed
-
Merge "Schema" and "Code" pages. Also, allow validating all files, not only the
schema.yml
. -
Allow expelling a leader. Cartridge will appoint a new leader according to the failover priority from the topology.
-
Add default
pool.map_call
timeout 10 seconds. -
Forbid starting an instance absent in
instances.yml
. -
Update
errors
dependency to 2.2.0 with a new methoderrors.netbox_wait_async
to wait fornetbox.future
result. -
Update
membership
dependency to 2.4.0 (Changelog). -
Update
ddl
dependency to 1.5.0 which supplements the clusterwide config with an example schema (Changelog). -
Update
vshard
to 0.1.18 ([Changelog](<https://github.com/tarantool/vshard/releases/tag/0.1.18)).
Fixed
-
Leaders replaced during stateful failover can be expelled now.
-
Make failover logging more verbose.
-
Fix hot-reload for roles that leave gaps in httpd routes.
-
Check user e-mail uniqueness when editing.
-
Expelled instances are removed from the
_cluster
space. -
Fix
get_enabled_roles
to work w/o arguments. -
Don't default to syslog driver unless
/dev/log
or/var/run/syslog
are available. -
Fix inappropriate consistency timeout that led to "Timed out" error during forceful leader promotion.
-
Support automatic parsing of Tarantool Enterprise box options
audit_log
andaudit_nonblock
. -
Instance won't suspect any members during
RecoveringSnapshot
andBootstrappingBox
.
Enhanced in WebUI
-
Allow to blacklist subpages for complex modules.
-
Fix notifications displaying. Close it by clicking anywhere. Keep it open while the mouse is over.
-
Various styles enhancements.
2.6.0
[2.6.0] - 2021-04-26
Added
-
Update vshard to 0.1.17. (Changelog).
-
Update graphql to 0.1.1. (Changelog).
-
New test helper:
cartridge.test-helpers.stateboard
. -
New
failover
option in the cluster test helper for easier failover setup.
Changed
- Move DDL related code out of Cartridge and ship it as a permaent role in the ddl rock. No observable functionality is affected. The roles remains registered implicitly. Nonetheless it's recomended to add it explicitly to
cartridge.cfg({roles = {'cartridge.roles.ddl-manager'}})
(if it's actually used) as this implicity may be removed in future.
Fixed
-
Fix unclear timeout errors in case of
InitError
andBootError
states. -
Fix inconsistency which could occur while longpolling stateboard in unstable networks.
-
Increase timeout for the
validate_config
stage from 1 to 10 seconds. It afftectedconfig_patch_clusterwide
in v2.5, mostly on large clusters.
Enhanced in WebUI
- Highlight if file name exists in file create/rename mode on Code page.
2.5.1
[2.5.1] - 2021-03-24
Added
-
Extend GraphQL
issues
API withaliens
topic. The issue warns if two separate clusters share the same cluster cookie. -
Enhance error messages when they're transferred over the network. Supply it with the connection URI.
Fixed
-
Don't skip two-phase commit prematurely. From now on, the decision to skip the
apply_config
is made by every instance individually. The validation step is never skipped. -
Avoid WebUI and
pool.map_call
requests hanging because of network connection problems. -
Fix unclear "Timeout exceeded" error. It affects v2.5.0 two-phase commit when an instance is stuck in
ConfiguringRoles
state.
2.5.0 - suggestions and two-phase upload
[2.5.0] - 2021-03-05
Issues and suggestions
-
Show an issue when
ConfiguringRoles
state gets stuck for more than 5s. -
Show a suggestion to disable broken instances.
-
Show a suggestion to force reapply clusterwide configuration.
Configuration options
-
New
cartridge.cfg
optionwebui_enabled
(default:true
). Otherwise, HTTP server remains operable (and GraphQL too), but serves user-defined roles API only. -
New
cartridge.cfg
optionhttp_host
(default:0.0.0.0
) which allows to specify the bind address of the HTTP server.
Miscellaneous enhancements
-
Allow observing cluster from an unconfigured instance WebUI.
-
Introduce a new graphql parser (
libgraphqlparser
instead oflulpeg
). It conforms to the newer GraphQL specification and provides better error messages. The "null" literal is now supported. But some other GraphQL expressions are considered invalid (e.g. empty subselection). -
Properly handle etcd index updates while polling stateful failover updates. The problem affected long-running clusters and resulted in flooding logs with the "Etcd cluster id mismatch" warnings.
-
Refactor two-phase commit (
patch_clusterwide
) logics: don't use hardcoded timeout for theprepare
stage, moveupload
to a separate stage. -
Eliminate GraphQL error "No value provided for non-null ReplicaStatus" when a replica is removed from the
box.space._cluster
. -
Allow specifying server zone in
join_server
API. -
Don't make formatting ugly during config upload.
-
Hide the bootstrap button when it's not necessary (e.g. before the cluster is bootstrapped, and in vshardless cluster too).
-
Properly display an error if changing server zone fails.
-
Fix disabled instances style.
2.4.0 - zones and fencing
[2.4.0] - 2020-12-29
Fencing and failover
-
The new fencing feature protects a replicaset from the presence of multiple leaders when the network is partitioned. It forces an isolated leader to become read-only.
-
New failover parameter
failover_timeout
specifies the time (in seconds) used by membership to marksuspect
members asdead
which triggers failover. The default value offailover_timeout
increased from 3 to 20 seconds (important change). -
The
rpc_*
functions now considersuspect
members as healthy to be in agreement with failover (important change). -
All these parameters,
fencing_enabled
,fencing_pause
,fencing_timeout
, are available for customization via Lua and GraphQL API, and in WebUI too.
Zones and zone distances
-
Add support of replica weights and zones via a cluster-wide config new section
zone_distances
and a server parameterzone
. -
Update server details dialog in WebUI.
Issues and suggestions
-
Fix
upstream.idle
issue tolerance to avoid unnecessary warnings "Replication: long idle (1 > 1)". -
Indicate config checksum mismatch in the issues list.
-
Indicate the change of
arvertise_uri
in the issues list. -
Show an issue if the cluster-wide config is locked on an instance.
-
Show a suggestion to heal the cluster after relocating servers and changing their
advertise_uri
. -
Don't get stuck in
ConnectingFullmesh
state when an instance is restarted with a differentadvertise_uri
. Also, keep the "Server details" dialog in WebUI operable in this case. -
Allow applying config when an instance is in
OperationError
state. It doesn't cause a loss of quorum anymore.
Hot-reload
- Add new feature for hot reloading roles code without restarting an instance:
cartridge.reload_roles()
. The feature is experimental and should be enabled explicitly:cartridge.cfg({roles_reload_allowed = true})
. Use it with caution.
Miscellaneous enhancements
-
New
cartridge.cfg
optionswim_broadcast
to manage instances auto-discovery on start. Default: true. -
New argparse options for tarantool 2.5+:
replication_synchro_quorum
,replication_synchro_timeout
,memtx_use_mvcc_engine
. -
Stop vshard fibers when the corresponding role is disabled.
-
Make
console.listen
error more clear whenconsole_sock
exceedsUNIX_PATH_MAX
limit. -
Allow removing spaces from DDL schema for the sake of
drop
migrations. -
Make DDL schema validation stricter. Forbid redundant keys in schema top-level and make
spaces
mandatory. -
Refresh interval and stat refresh period variables can be customized via frontend-core
set_variable
feature or at runtime. See #1061. -
Properly display errors on WebUI pages "Users" and "Code".
Release 2.3.0 (consistent switchover)
[2.3.0] - 2020-08-26
Added
- When failover mode is stateful, all manual leader promotions will be consistent: every instance before becoming writable performs
wait_lsn
operation to sync with previous one. If consistency couldn't be reached due to replication failure, a user could either revert it (promote previous leader), or force promotion to be inconsistent. - Early logger initialization (for Tarantool > 2.5.0-100, which supports it).
- Add
probe_uri_timeout
argparse option responsible for retrying "Can't ping myself" error on startup. - New test helper:
cartridge.test-helpers.etcd
. - Support
on_push
andon_push_ctx
options forcartridge.rpc_call()
. - Changing users password invalidates HTTP cookie.
- Support GraphQL default variables.
Fixed
- Eventual failover may miss an event while roles are being reconfigured.
- Compatibility with pipe logging, see tarantool/tarantool#5220.
- Non-informative assertion when instance is bootstrapped with a distinct
advertise_uri
. - Indexing
nil
value inget_topology()
query. - Initialization race of vshard storage which results in
OperationError
. - Lack of vshard router reconnection attempts to the replicas.
- Make GraphQL syntax errors more clear.
- Better
errors.pcall()
performance,errors
rock updated to v2.1.4.
Enhanced is WebUI
- Show instance names in issues list.
- Show app name in window title.
- Add "Force leader promotion" button in stateful failover mode.
- Indicate consistent switchover problems with a yellow leader flag.