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.