Skip to content

Releases: tarantool/cartridge

2.8.4 - update ddl

31 Oct 11:33
0436c7d
Compare
Choose a tag to compare

Changed

  • Update ddl dependency to 1.6.5.

2.8.3 - fix membership log overflow

28 Sep 14:04
d5e4f7b
Compare
Choose a tag to compare

Changed

2.8.2 - new cluster maintenance features

22 Aug 11:14
8345c47
Compare
Choose a tag to compare

Fixed

  • Fix operation priority in Raft failover.

  • Typo in cartridge.cfg option enable_synchro_mode.

  • Show issue about memory usage when using large tuples.

Deprecated

  • cartridge.cfg option enable_sychro_mode. Use enable_synchro_mode
    instead.

Added

  • New Failover API function set_options to change failover internal params.

  • Issue about sync spaces usage with a wrong failover setup.

Changed

  • Don't perform invalid format check in Tarantool 2.10.4 and above.

  • Throw an error when using Tarantool 3.

2.8.1 - fix syslog features and update dependencies

20 Jul 14:31
97a4629
Compare
Choose a tag to compare

Changed

  • Update ddl dependency to 1.6.4.

  • Update cartridge-metrics-role dependency to 0.1.1.

  • Don't require systemd to default to syslog logging. Only check that syslog UNIX socket is available.

  • Fix syslog UNIX socket check for older RHEL-based distros: check both SOCK_STREAM and SOCK_DGRAM.

2.8.0 - synchro replication in stateful failover

30 May 15:10
89e9d33
Compare
Choose a tag to compare

Changed

  • Update http dependency to 1.5.0.

  • Update graphql dependency to 0.3.0.

  • Update checks dependency to 3.3.0.

  • Update vshard dependency to 0.1.24.

  • Call box.ctl.promote in stateful failover #1372.
    Can be enabled by cartridge.cfg option enable_sychro_mode.

  • Call box.ctl.demote when raft failover is disabled.

  • Remove expelled instances from box.space._cluster before replication changes #1948.

  • Allow to call box.ctl.promote on any instance #2079.

Added

  • cartridge.roles.metrics role (tarantool#7725)
    added as an external dependency cartridge-metrics-role 0.1.0.

  • Versioning support (tarantool/roadmap-internal#204).

  • rpc_call supports is_async net.box option.

  • New issue about expelled instances that are still in box.space._cluster.

  • Allow listing several instances (comma-separated) in bootstrap_from.

  • New argparse type json and several new parameters from Tarantool 2.11 #2102.

Fixed

  • Compatibility with metrics in feedback #2033.

  • Display correct listen in WebUI when using iproto ssl #2051.

  • Incorrect memory statistics in WebUI when using large tuples.

Removed

  • Previously unused labels validation. You can return logging of invalid labels
    by setting global __cartridge_log_invalid_labels to true.

2.7.9 - bugfix release

06 Apr 11:51
Compare
Choose a tag to compare

Important notice

If you're using stateful failover, you might face an issue "can't promote unelectable instance" when upgrading to releases 2.7.7/2.7.8.
You can still upgrade to those releases if you're using any failover except stateful (or not using failover at all).
Also, you can still create a new cluster with any failover type when using those releases.

Changed

  • fragmentation_threshold_full in issues increased up to 100%. The behavior
    can be changed with set_limits function.

  • Update vshard dependency to 0.1.23.

Fixed

  • Allow to promote instances without electable configuration #2062.

  • Compression suggestion: fix instances freezing. Skip indexes compressing #2041.

2.7.8 - check clashing clusters in state provider

28 Jan 11:58
a690a4a
Compare
Choose a tag to compare

Added

  • Ability to limit incoming connections on vshard-router by the argparse option
    TARANTOOL_CONNECTIONS_LIMIT or --connections-limit #1971.

  • "Suggestions" button with a compression suggestions info in WebUI #1913.

  • Add app_name and app_version to feedback.

  • etcd v3 support in test-helpers.etcd (with ETCD_ENABLE_V2=true).

  • Show tarantool edition version in WebUI.

  • fetch_schema option to cartridge.pool.connect.

  • check_cookie_hash parameter in stateful failover configuration #1765.

Changed

  • Update http dependency to 1.4.0.

  • Update checks dependency to 3.2.0.

  • Limits of memory issues decreased. Cartridge now produces an issue when at least
    one of memory ratio is higher than 95%.

Fixed

  • Use default values of replication_connect_quorum and
    replication_sync_timeout in first box.cfg call.

  • Lowercase transport param to handle different cases of value #2021.

  • Check hash of cluster cookie on stateful failover configuration #1765.

Additional notes

  • Cartridge 2.7.8 is tested with etcd v3 (with v2 API enabled).

  • Usage of invalid labels is deprecated in the previous release and will be restricted in the next release.

  • This release is compatible with the replication_connect_quorum changes in Tarantool.

2.7.7 - introduce leader autoreturn and deprecate invalid labels

09 Dec 09:30
Compare
Choose a tag to compare

Changed

  • Update graphql dependency to 0.2.0.

  • Disable Raft failover on replicasets where number of instances less than 3 #1914.

  • Check Raft failover availability on validate_config #1916.

  • Forbid to enable Raft failover with ALL_RW replicasets #1927.

  • Disabled instances won't appear as leaders #1930.

  • Mask failover password in WebUI and GraphQL API #1960.

Added

  • Add instance labels to web UI #1962.

  • Allow to make nodes unelectable (restrict it to become a leader) in WebUI,
    GraphQL and Lua API #1843.

  • Allow to bootstrap cartridge from existing cluster via argparse option
    TARANTOOL_BOOTSTRAP_FROM or --bootstrap_from #1842.

  • election_state, election_mode and synchro_queue_owner to GraphQL #1925.

  • O_SYNC flag for ClusterwideConfig.save #1939.

  • Introduced way to filter instances by labels in rpc calls #1957.
    You can mark certain instances with the same role with different labels,
    and then make an rpc call with label. Adding labels is possible via the
    edit_topology method or via graphql.
    rpc.call('role', 'func', {}, { labels = { ['msk'] = 'dc' } })
    rpc.get_candidates('role', { labels = { ['msk'] = 'dc', ['meta'] = 'runner' } })
    rpc.get_connection('role', { labels = { ['msk'] = 'dc' } })

  • "Beta" tag for failover selector in WebUI #1961.

  • Compression suggestion, see #1911.

  • Leader autoreturn feature for stateful failover #1942.

  • Add password decryption for ssl private key #1983.

  • Add disable flag to not passing error stack to web #1932.

  • New issues about invalid space format. Check is performed while recovering from snapshot in Tarantool 2.x.x
    and can be performed manually with require('cartridge.invalid-format').run_check() in runtime
    #1985.

  • Descriptions to Vinyl parameters and http_address in WebUI #1803.

Fixed

  • Fix tarantool binds to 0.0.0.0 despite advertise_uri settings #1890.

  • Reduce count of box.info calls #1924.

  • Incorrect calculation of Raft leader #1943.

  • Fix member_is_healthy conditions to prevent send requests to non-role-configured node #1949.

  • vshard-storage apply_config won't change order in box.cfg.replication #1950.

  • Allow to use box.NULL as label value.

Deprecated

2.7.6 - introduce SSL for Tarantool EE

24 Aug 10:15
Compare
Choose a tag to compare

Added

  • Add "Promote a leader" action in WebUI in Raft failover mode (#1853).

  • Introduced SSL support for Tarantool Enterprise from 2.10.2.

Fixed

  • Fix multitype argparse params.

  • Remove expelled instances from state provider.

Changed

  • Update http dependency to 1.3.0.

  • Update ddl dependency to 1.6.2.

  • Update vshard dependency to 0.1.21.

  • Update frontend dependencies.

2.7.5 - introduce Raft-based failover (Beta)

28 Jun 09:23
39fb356
Compare
Choose a tag to compare

Added

  • Introduced new failover mode: Raft-based failover. The replicaset leader is chosen by
    built-in Raft, then the other replicasets get information about leader change
    from membership. It's needed to use Cartridge RPC calls. The user can control
    the election mode of an instance by the argparse option TARANTOOL_ELECTION_MODE
    or --election-mode.

  • Promotion API for Raft failover:
    cartridge.failover_promote in Lua or
    mutation {cluster{failover_promote()}} in GraphQL,
    which calls box.ctl.promote on the specified instances.
    Note that box.ctl.promote starts fair elections, so some other instance
    may become the leader in the replicaset.

  • Tarantool Raft options and Tarantool 2.10 box.cfg options are supported in argparse.

Changed

  • Update vshard to 0.1.20.

  • Failover suppressing. If enabled (by enable_failover_suppressing parameter
    in cartridge.cfg) then allows to automatically pause failover in runtime.
    It configures with failover_suppress_threshold and
    failover_suppress_timeout options of argparse.

  • Revert argparse throws an error when it encouters instance_name missing in
    instances.yml.

  • Update ddl dependency to 1.6.1.

Fixed

  • Disable vshard.storage in case of OperationError.

Deprecated

  • vshard config option collect_lua_garbage.