Skip to content

2.7.4 - more stable failover

Compare
Choose a tag to compare
@yngvar-antonsson yngvar-antonsson released this 11 Apr 11:29
· 319 commits to master since this release
6c26afc

[2.7.4] - 2022-04-11

Added

  • http_port, http_host and webui_prefix to graphql and webui (#622, #1527).
  • Add get_servers, get_replicasets and get_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 from VERSION.lua
    file in the root of cartridge app (#1367).
  • Param opts to Server:upload_config in test-helpers and pass it
    to http_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 and box.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 option skip_error_on_change to skip etcd error
    when vclockkeeper was changed between set_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 to string|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 of username.
  • 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.
    image

[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 in service-registry).

  • Allow disabling built-in HTTP "admin" user:

    • by specifying auth_builtin_admin_enabled: false in the instances.yml;
    • using TARANTOOL_AUTH_BUILTIN_ADMIN_ENABLED=false environment variable;
    • permanently in init.lua:
-- 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.
    image

  • 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 and zone_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 method errors.netbox_wait_async to wait for netbox.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 and audit_nonblock.

  • Instance won't suspect any members during RecoveringSnapshot and BootstrappingBox.

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.