From 96bc5ac5acc93a9fa44abb8f6bd987a4962a653c Mon Sep 17 00:00:00 2001 From: Matt Lord Date: Tue, 27 Jun 2023 08:25:51 -0500 Subject: [PATCH] Forward port of release notes changes from v17.0.0 GA (#13370) --- changelog/17.0/17.0.0/changelog.md | 157 ++++++++++++++----------- changelog/17.0/17.0.0/release_notes.md | 42 ++++--- 2 files changed, 112 insertions(+), 87 deletions(-) diff --git a/changelog/17.0/17.0.0/changelog.md b/changelog/17.0/17.0.0/changelog.md index 7b2f91806a3..3c3e107b54e 100644 --- a/changelog/17.0/17.0.0/changelog.md +++ b/changelog/17.0/17.0.0/changelog.md @@ -1,4 +1,4 @@ -# Changelog of Vitess v17.0.0-rc2 +# Changelog of Vitess v17.0.0 ### Announcement #### Governance @@ -10,18 +10,18 @@ * do not demote a new primary after backup completion [#12856](https://github.com/vitessio/vitess/pull/12856) * go/vt/mysqlctl: fix dup open/close backup stats [#12947](https://github.com/vitessio/vitess/pull/12947) * Incremental backup: fix calculation of binlog files to use [#13066](https://github.com/vitessio/vitess/pull/13066) - * restore: Run PITR through mysqlctl [#13123](https://github.com/vitessio/vitess/pull/13123) + * restore: Run PITR through mysqlctl [#13123](https://github.com/vitessio/vitess/pull/13123) #### Build/CI * Prevent bootstrap of ZK from clearing previous dist binaries [#12236](https://github.com/vitessio/vitess/pull/12236) * Fix dubious ownership of git directory in `vitess/base` Docker build [#12530](https://github.com/vitessio/vitess/pull/12530) * Small fixes to the auto-upgrade golang tool [#12838](https://github.com/vitessio/vitess/pull/12838) * Add timeout to `golangci-lint` and bump its version [#12852](https://github.com/vitessio/vitess/pull/12852) - * codegen: ensure goimports also simplifies [#12883](https://github.com/vitessio/vitess/pull/12883) + * codegen: ensure goimports also simplifies [#12883](https://github.com/vitessio/vitess/pull/12883) #### CLI * Purge logs without panicking [#12187](https://github.com/vitessio/vitess/pull/12187) * Fix `vtctldclient`'s Root command to return an error on unknown command [#12481](https://github.com/vitessio/vitess/pull/12481) * vtctldclient: Format GetKeyspace output using cli.MarshalJSON [#12495](https://github.com/vitessio/vitess/pull/12495) - * VReplication: Pass on --keep_routing_rules flag value for Cancel action [#13171](https://github.com/vitessio/vitess/pull/13171) + * VReplication: Pass on --keep_routing_rules flag value for Cancel action [#13171](https://github.com/vitessio/vitess/pull/13171) #### Cluster management * Fix initialization code to also stop replication to prevent crash [#12534](https://github.com/vitessio/vitess/pull/12534) * Update topo {Get,Create}Keyspace to prevent invalid keyspace names [#12732](https://github.com/vitessio/vitess/pull/12732) @@ -30,14 +30,14 @@ * [topo] Disallow the slash character in shard names [#12843](https://github.com/vitessio/vitess/pull/12843) * TabletThrottler: `vtctlclient UpdateThrottlerConfig` use VtctldServer RPC [#12936](https://github.com/vitessio/vitess/pull/12936) * Keep retrying mysql port if it is 0 in Vttablets [#12986](https://github.com/vitessio/vitess/pull/12986) - * Fix: convertBoolToSemiSyncAction method to account for all semi sync actions [#13075](https://github.com/vitessio/vitess/pull/13075) + * Fix: convertBoolToSemiSyncAction method to account for all semi sync actions [#13075](https://github.com/vitessio/vitess/pull/13075) #### Evalengine * evalengine: fix bugs with decimal rounding [#12360](https://github.com/vitessio/vitess/pull/12360) * json: Fix JSON SQL serialization and ensure to run tests [#12861](https://github.com/vitessio/vitess/pull/12861) * evalengine: unset Type for NewColumnWithCollation [#12886](https://github.com/vitessio/vitess/pull/12886) * datetime: Fix weekday calculation for DST changes [#12931](https://github.com/vitessio/vitess/pull/12931) * evalengine: Fix wrong coercion into float [#12998](https://github.com/vitessio/vitess/pull/12998) - * evalengine: TypeOf for Columns should only use value type when we have a value [#13148](https://github.com/vitessio/vitess/pull/13148) + * evalengine: TypeOf for Columns should only use value type when we have a value [#13148](https://github.com/vitessio/vitess/pull/13148) #### Examples * Examples: Add lib functions to wait for shard states [#12239](https://github.com/vitessio/vitess/pull/12239) * Fixes for local docker environment [#12382](https://github.com/vitessio/vitess/pull/12382) @@ -45,7 +45,7 @@ * Fix Vtop example and release script [#12457](https://github.com/vitessio/vitess/pull/12457) * Open vtadmin-api port in docker-local example to enable vtadmin access [#12467](https://github.com/vitessio/vitess/pull/12467) * Use new init_db.sql file in all places and update v17.0.0 summary [#12716](https://github.com/vitessio/vitess/pull/12716) - * Use $hostname in vtadmin script as all other scripts do (#13231) [#13236](https://github.com/vitessio/vitess/pull/13236) + * [release-17.0] Use $hostname in vtadmin script as all other scripts do (#13231) [#13236](https://github.com/vitessio/vitess/pull/13236) #### General * Fix shorthand flag for recursive delete in zk tool [#12460](https://github.com/vitessio/vitess/pull/12460) * Forward port of #12436: Sidecar schema init: use COPY algorithm while altering sidecardb tables [#12464](https://github.com/vitessio/vitess/pull/12464) @@ -53,9 +53,9 @@ * Fix backup flaky tests [#12834](https://github.com/vitessio/vitess/pull/12834) * Fix auto-upgrade-golang tooling [#13048](https://github.com/vitessio/vitess/pull/13048) * Flakes: Skip flaky viperutil test TestPersistConfig for now to unblock CI [#13186](https://github.com/vitessio/vitess/pull/13186) - * Temporarily disable panic in mysqld when socket files are directly used [#13198](https://github.com/vitessio/vitess/pull/13198) + * Temporarily disable panic in mysqld when socket files are directly used [#13198](https://github.com/vitessio/vitess/pull/13198) #### Observability - * Reset the current lag when closing the replication lag reader. [#12683](https://github.com/vitessio/vitess/pull/12683) + * Reset the current lag when closing the replication lag reader. [#12683](https://github.com/vitessio/vitess/pull/12683) #### Online DDL * Allow zero (in) date when setting up internal _vt schema [#12262](https://github.com/vitessio/vitess/pull/12262) * Online DDL: improve retry of vreplication errors with `vitess` `ALTER TABLE` migrations [#12323](https://github.com/vitessio/vitess/pull/12323) @@ -65,10 +65,10 @@ * Online DDL: `ready_to_complete` race fix [#12612](https://github.com/vitessio/vitess/pull/12612) * Mysqld.GetSchema: tolerate tables being dropped while inspecting schema [#12641](https://github.com/vitessio/vitess/pull/12641) * Flaky test fix: OnlineDDL: convert time->unix->TIMESTAMP in golang space [#12826](https://github.com/vitessio/vitess/pull/12826) - * OnlineDDL: reject partial key coverage in PRIMARY KEY for vitess migrations [#12921](https://github.com/vitessio/vitess/pull/12921) + * OnlineDDL: reject partial key coverage in PRIMARY KEY for vitess migrations [#12921](https://github.com/vitessio/vitess/pull/12921) #### Operator * Use latest k8s for operator example to work [#13085](https://github.com/vitessio/vitess/pull/13085) - * Upgrade mysqld memory limits to 1024Mi [#13122](https://github.com/vitessio/vitess/pull/13122) + * Upgrade mysqld memory limits to 1024Mi [#13122](https://github.com/vitessio/vitess/pull/13122) #### Query Serving * fix dual table handling [#12204](https://github.com/vitessio/vitess/pull/12204) * grpcvtgateconn: add Dial and deprecate DialWithOpts [#12210](https://github.com/vitessio/vitess/pull/12210) @@ -111,12 +111,16 @@ * Remove the `200` indentation limit in the SQL parser [#13158](https://github.com/vitessio/vitess/pull/13158) * vindexes: make lookup_unicodeloosemd5_hash non-planable [#13200](https://github.com/vitessio/vitess/pull/13200) * fix: GetField to use existing session for query [#13219](https://github.com/vitessio/vitess/pull/13219) - * Fix and Make aggregation planner handle aggregation functions better and handle Distinct in operator [#13277](https://github.com/vitessio/vitess/pull/13277) + * [17.0] Fix and Make aggregation planner handle aggregation functions better and handle Distinct in operator [#13277](https://github.com/vitessio/vitess/pull/13277) + * Bug fix: SQL queries erroring with message `unknown aggregation random` [#13330](https://github.com/vitessio/vitess/pull/13330) + * bugfixes: collection of fixes to bugs found while fuzzing [#13332](https://github.com/vitessio/vitess/pull/13332) + * bug: don't always wrap aggregation in coalesce [#13348](https://github.com/vitessio/vitess/pull/13348) #### TabletManager * TableFilter: fix excluded RE listing [#12318](https://github.com/vitessio/vitess/pull/12318) * TableGC: fix PURGE race condition [#12505](https://github.com/vitessio/vitess/pull/12505) * Fix transaction throttler ignoring the initial rate [#12618](https://github.com/vitessio/vitess/pull/12618) * Skip recalculating the rate in MaxReplicationLagModule when it can't be done [#12620](https://github.com/vitessio/vitess/pull/12620) + * mysqlctl: Correctly encode database and table names [#13312](https://github.com/vitessio/vitess/pull/13312) #### VReplication * VReplication Last Error: retry error if it happens after timeout [#12114](https://github.com/vitessio/vitess/pull/12114) * VReplication: workflows with multiple streams fail to start on multi-primary setups [#12228](https://github.com/vitessio/vitess/pull/12228) @@ -130,11 +134,11 @@ * Flaky vplayer tests: temporarily disable noblob variant [#13100](https://github.com/vitessio/vitess/pull/13100) * VReplication: Do not delete sharded target vschema table entries on Cancel [#13146](https://github.com/vitessio/vitess/pull/13146) * VReplication: Handle reference tables in sharded->sharded MoveTables [#13161](https://github.com/vitessio/vitess/pull/13161) - * VReplication: Fix VDiff2 DeleteByUUID Query [#13255](https://github.com/vitessio/vitess/pull/13255) + * VReplication: Fix VDiff2 DeleteByUUID Query [#13255](https://github.com/vitessio/vitess/pull/13255) #### VTAdmin * [vtadmin] racy vtexplain [#12635](https://github.com/vitessio/vitess/pull/12635) * fix: vtadmin vttablet url protocol [#12836](https://github.com/vitessio/vitess/pull/12836) - * update vite base to respect absolute path [#13110](https://github.com/vitessio/vitess/pull/13110) + * update vite base to respect absolute path [#13110](https://github.com/vitessio/vitess/pull/13110) #### VTorc * Fix Vtorc recovery time during `DeadPrimary` [#12870](https://github.com/vitessio/vitess/pull/12870) * Add new field to health status [#12942](https://github.com/vitessio/vitess/pull/12942) @@ -151,59 +155,63 @@ * Flakes: Wait for throttler to open in throttler custom config test [#12980](https://github.com/vitessio/vitess/pull/12980) * Add minimal token permissions (continued) [#12996](https://github.com/vitessio/vitess/pull/12996) * workflows: Update to latest actions/setup-go [#13023](https://github.com/vitessio/vitess/pull/13023) - * CI: add a check on NeedsIssue label [#13044](https://github.com/vitessio/vitess/pull/13044) + * CI: add a check on NeedsIssue label [#13044](https://github.com/vitessio/vitess/pull/13044) #### Examples - * Examples, Flakes: Wait for Shard's VReplication Engine to Open [#12560](https://github.com/vitessio/vitess/pull/12560) + * Examples, Flakes: Wait for Shard's VReplication Engine to Open [#12560](https://github.com/vitessio/vitess/pull/12560) #### General * Bump reported version of main to 17.0.0-SNAPSHOT [#12234](https://github.com/vitessio/vitess/pull/12234) - * Upgrade the Golang version to `go1.20.2` [#12706](https://github.com/vitessio/vitess/pull/12706) + * [main] Upgrade the Golang version to `go1.20.2` [#12706](https://github.com/vitessio/vitess/pull/12706) * Do not fail build on incorrect Go version [#12809](https://github.com/vitessio/vitess/pull/12809) - * Upgrade the Golang version to `go1.20.3` [#12833](https://github.com/vitessio/vitess/pull/12833) + * [main] Upgrade the Golang version to `go1.20.3` [#12833](https://github.com/vitessio/vitess/pull/12833) * Remove misleading message in `build.env` [#12841](https://github.com/vitessio/vitess/pull/12841) - * Upgrade the Golang version to `go1.20.4` [#13052](https://github.com/vitessio/vitess/pull/13052) + * [main] Upgrade the Golang version to `go1.20.4` [#13052](https://github.com/vitessio/vitess/pull/13052) * Code owners update [#13070](https://github.com/vitessio/vitess/pull/13070) - * Upgrade the Golang version to `go1.20.5` [#13266](https://github.com/vitessio/vitess/pull/13266) + * [release-17.0] Upgrade the Golang version to `go1.20.5` [#13266](https://github.com/vitessio/vitess/pull/13266) #### Online DDL * Fixing `onlineddl_vrepl` flakiness, and adding more tests [#12325](https://github.com/vitessio/vitess/pull/12325) * CI: extend timeouts in onlineddl_vrepl due to slow CI runners [#12583](https://github.com/vitessio/vitess/pull/12583) - * CI: increase overall test timeouts for all OnlineDDL tests [#12584](https://github.com/vitessio/vitess/pull/12584) + * CI: increase overall test timeouts for all OnlineDDL tests [#12584](https://github.com/vitessio/vitess/pull/12584) #### Query Serving * Fix `SHOW VSCHEMA TABLES` tests using v17 vtgate that expected `dual` [#12381](https://github.com/vitessio/vitess/pull/12381) - * go/vt/vttablet/tabletserver: temporarily skip flaky consolidation test [#12604](https://github.com/vitessio/vitess/pull/12604) + * go/vt/vttablet/tabletserver: temporarily skip flaky consolidation test [#12604](https://github.com/vitessio/vitess/pull/12604) +#### VReplication + * [release-17.0] Flakes: Remove CI endtoend test for VReplication Copy Phase Throttling (#13343) [#13345](https://github.com/vitessio/vitess/pull/13345) #### VTAdmin * Remove `nvm use` from vtadmin-up.sh script [#12788](https://github.com/vitessio/vitess/pull/12788) -### Dependabot +### Dependabot #### Build/CI * Bump golang.org/x/net from 0.5.0 to 0.7.0 [#12390](https://github.com/vitessio/vitess/pull/12390) * Update additional Go dependencies [#12401](https://github.com/vitessio/vitess/pull/12401) * Fix another mixin dep [#12403](https://github.com/vitessio/vitess/pull/12403) #### Observability * Bump vitess.io/vitess from 0.15.2 to 0.16.1 in /vitess-mixin [#12875](https://github.com/vitessio/vitess/pull/12875) - * build(deps): bump vitess.io/vitess from 0.16.1 to 0.16.2 in /vitess-mixin [#13076](https://github.com/vitessio/vitess/pull/13076) + * build(deps): bump vitess.io/vitess from 0.16.1 to 0.16.2 in /vitess-mixin [#13076](https://github.com/vitessio/vitess/pull/13076) #### VTAdmin * Bump dns-packet from 5.3.1 to 5.4.0 in /web/vtadmin [#12545](https://github.com/vitessio/vitess/pull/12545) * Bump webpack from 5.65.0 to 5.76.1 in /web/vtadmin [#12632](https://github.com/vitessio/vitess/pull/12632) -### Documentation + * [release-17.0] build(deps-dev): bump vite from 4.2.1 to 4.2.3 in /web/vtadmin (#13240) [#13254](https://github.com/vitessio/vitess/pull/13254) +### Documentation #### Cluster management - * fix help text for backup_storage_number_blocks [#12258](https://github.com/vitessio/vitess/pull/12258) + * fix help text for backup_storage_number_blocks [#12258](https://github.com/vitessio/vitess/pull/12258) #### Documentation * release notes and misc cleanup around tabletenv flags [#12953](https://github.com/vitessio/vitess/pull/12953) * Add Vinted to the list of adopters [#13134](https://github.com/vitessio/vitess/pull/13134) + * update link for reparenting guide [#13350](https://github.com/vitessio/vitess/pull/13350) #### Query Serving * Copy remaining query serving design docs [#12170](https://github.com/vitessio/vitess/pull/12170) * Add release notes summary for views [#12422](https://github.com/vitessio/vitess/pull/12422) * SQLError: adding some code comments [#12613](https://github.com/vitessio/vitess/pull/12613) * update v16 release notes about VTGate Advertised MySQL Version [#12957](https://github.com/vitessio/vitess/pull/12957) -### Enhancement +### Enhancement #### ACL - * remove tablet server's ACL check on the /healthz HTTP api route [#12897](https://github.com/vitessio/vitess/pull/12897) + * remove tablet server's ACL check on the /healthz HTTP api route [#12897](https://github.com/vitessio/vitess/pull/12897) #### Backup and Restore * vtbackup, mysqlctl: detailed backup and restore metrics [#11979](https://github.com/vitessio/vitess/pull/11979) * go/vt/mysqlctl: add configurable read buffer to builtin backups [#12073](https://github.com/vitessio/vitess/pull/12073) * go/{vt,flags}: register builtin backup flags with vtbackup [#12558](https://github.com/vitessio/vitess/pull/12558) * go/vt/mysqlctl: optionally store decompressor cmd in manifest [#12633](https://github.com/vitessio/vitess/pull/12633) * Fix restore from backup execution path to use context from caller [#12828](https://github.com/vitessio/vitess/pull/12828) - * Incremental backup and point in time recovery for XtraBackup [#13156](https://github.com/vitessio/vitess/pull/13156) + * Incremental backup and point in time recovery for XtraBackup [#13156](https://github.com/vitessio/vitess/pull/13156) #### Build/CI * Revert default MySQL 80 version to `8.0.30` [#12252](https://github.com/vitessio/vitess/pull/12252) * Block merge if the `Do Not Merge` label is set [#12489](https://github.com/vitessio/vitess/pull/12489) @@ -211,8 +219,9 @@ * Add read-only token permissions to GitHub Action workflows [#12718](https://github.com/vitessio/vitess/pull/12718) * Remove unnecessary code bits in workflows [#12756](https://github.com/vitessio/vitess/pull/12756) * tools/build_version_flags: allow configurable `build time` [#12876](https://github.com/vitessio/vitess/pull/12876) + * Set the number of threads for release notes generation with a flag [#13273](https://github.com/vitessio/vitess/pull/13273) #### CLI - * [flags] extract tabletenv seconds type [#12920](https://github.com/vitessio/vitess/pull/12920) + * [flags] extract tabletenv seconds type [#12920](https://github.com/vitessio/vitess/pull/12920) #### Cluster management * Introducing new error counter in VTTablet [#12266](https://github.com/vitessio/vitess/pull/12266) * Auto refresh tables on vtgate Status Page [#12335](https://github.com/vitessio/vitess/pull/12335) @@ -220,7 +229,7 @@ * Add tablet type filtering to vtctldclient GetTablets [#12915](https://github.com/vitessio/vitess/pull/12915) * topo: Move to allow list for invalid names [#12917](https://github.com/vitessio/vitess/pull/12917) * Add vstream metrics to vtgate [#13098](https://github.com/vitessio/vitess/pull/13098) - * increase length of reparent_journal columns (#13287) [#13291](https://github.com/vitessio/vitess/pull/13291) + * [release-17.0] increase length of reparent_journal columns (#13287) [#13291](https://github.com/vitessio/vitess/pull/13291) #### Evalengine * evalengine: virtual machine [#12369](https://github.com/vitessio/vitess/pull/12369) * Add 128 bit hashing for the evalengine [#12428](https://github.com/vitessio/vitess/pull/12428) @@ -252,18 +261,19 @@ * evalengine: `INTERVAL` support [#13073](https://github.com/vitessio/vitess/pull/13073) * evalengine: Implement IP related functions [#13082](https://github.com/vitessio/vitess/pull/13082) * evalengine: Implement `CONCAT` and `CONCAT_WS` [#13091](https://github.com/vitessio/vitess/pull/13091) - * evalengine: Add UUID functions [#13097](https://github.com/vitessio/vitess/pull/13097) + * evalengine: Add UUID functions [#13097](https://github.com/vitessio/vitess/pull/13097) #### Examples - * examples schema: demi-idempotency via CREATE TABLE IF NOT EXISTS [#12453](https://github.com/vitessio/vitess/pull/12453) + * examples schema: demi-idempotency via CREATE TABLE IF NOT EXISTS [#12453](https://github.com/vitessio/vitess/pull/12453) #### General * Upgrade to `go1.20.1` [#12399](https://github.com/vitessio/vitess/pull/12399) * adding log statment to vtbackup [#12569](https://github.com/vitessio/vitess/pull/12569) * Automatically add milestone to new Pull Request [#12759](https://github.com/vitessio/vitess/pull/12759) - * Remove viper warnings from local examples [#13234](https://github.com/vitessio/vitess/pull/13234) + * Miscellaneous code modifications based on observations made while doing a code walkthrough [#12873](https://github.com/vitessio/vitess/pull/12873) + * Remove viper warnings from local examples [#13234](https://github.com/vitessio/vitess/pull/13234) #### Observability * Add `Uptime` metric [#12712](https://github.com/vitessio/vitess/pull/12712) * go/{stats,vt}: publish VReplicationStreamState to prometheus backend [#12772](https://github.com/vitessio/vitess/pull/12772) - * [vtadmin] log response errors [#12844](https://github.com/vitessio/vitess/pull/12844) + * [vtadmin] log response errors [#12844](https://github.com/vitessio/vitess/pull/12844) #### Online DDL * schemadiff/OnlineDDL: ExtractConstraintOriginalName understands auto-generated names [#12275](https://github.com/vitessio/vitess/pull/12275) * schemadiff: diffing two schemas generates a rich SchemaDiff object [#12551](https://github.com/vitessio/vitess/pull/12551) @@ -271,7 +281,7 @@ * Online DDL: configurable cut-over threshold [#12594](https://github.com/vitessio/vitess/pull/12594) * gh-ost migrations: improved error log message [#12882](https://github.com/vitessio/vitess/pull/12882) * OnlineDDL/vitess: only KILL 'RENAME' statement if not known to be successful [#12989](https://github.com/vitessio/vitess/pull/12989) - * Online DDL: better reporting of error message when RENAME fails [#13143](https://github.com/vitessio/vitess/pull/13143) + * Online DDL: better reporting of error message when RENAME fails [#13143](https://github.com/vitessio/vitess/pull/13143) #### Query Serving * VSCopy: Enable to copy from all shards in either a specified keyspace or all keyspaces [#11909](https://github.com/vitessio/vitess/pull/11909) * vtgate: metrics for prepared stmts [#12141](https://github.com/vitessio/vitess/pull/12141) @@ -280,7 +290,7 @@ * evalengine: new evaluation framework [#12247](https://github.com/vitessio/vitess/pull/12247) * evalengine: it's time for JSON! [#12274](https://github.com/vitessio/vitess/pull/12274) * Add parsing support for linestring constructor [#12299](https://github.com/vitessio/vitess/pull/12299) - * Add database name to _vt.views table (#12368) [#12374](https://github.com/vitessio/vitess/pull/12374) + * [main] add database name to _vt.views table (#12368) [#12374](https://github.com/vitessio/vitess/pull/12374) * Schema RPC to fetch table/view definition [#12375](https://github.com/vitessio/vitess/pull/12375) * sqlparser: add parsing support for polygon spatial datatype [#12377](https://github.com/vitessio/vitess/pull/12377) * Emit per workload labels for existing per table vttablet metrics [#12394](https://github.com/vitessio/vitess/pull/12394) @@ -324,20 +334,20 @@ * Add parsing support to geomCollection property functions and geohash/geojson functions [#13072](https://github.com/vitessio/vitess/pull/13072) * Schema Tracking Refactor: Merge schema-tracking in health-streamer into schema.Engine [#13121](https://github.com/vitessio/vitess/pull/13121) * enable settings pool by default [#13127](https://github.com/vitessio/vitess/pull/13127) - * Augmenting the `GetSchema` RPC to also work for `Table` and `All` type of input [#13197](https://github.com/vitessio/vitess/pull/13197) + * Augmenting the `GetSchema` RPC to also work for `Table` and `All` type of input [#13197](https://github.com/vitessio/vitess/pull/13197) #### TabletManager * ApplySchema: deprecate '--skip_preflight' flag [#10716](https://github.com/vitessio/vitess/pull/10716) * Update tabletpicker to support cell pref and tablet order options [#12282](https://github.com/vitessio/vitess/pull/12282) * SidecarDB Init: don't fail on schema init errors [#12328](https://github.com/vitessio/vitess/pull/12328) * Tablet throttler: adding log entries [#12966](https://github.com/vitessio/vitess/pull/12966) * Tablet throttler: throttler-config-via-topo defaults 'true', deprecation message for old flags [#13130](https://github.com/vitessio/vitess/pull/13130) - * Tablet throttler: be explicit about client app name, exempt some apps from checks and heartbeat renewals [#13195](https://github.com/vitessio/vitess/pull/13195) + * Tablet throttler: be explicit about client app name, exempt some apps from checks and heartbeat renewals [#13195](https://github.com/vitessio/vitess/pull/13195) #### VReplication - * VReplication: Use MariaDB Compat JSON Functions (#12420) [#12434](https://github.com/vitessio/vitess/pull/12434) + * [main] VReplication: Use MariaDB Compat JSON Functions (#12420) [#12434](https://github.com/vitessio/vitess/pull/12434) * Add Workflow Update Client Command [#12622](https://github.com/vitessio/vitess/pull/12622) * VDiff: Add --update-table-stats flag to VDiff2 [#12868](https://github.com/vitessio/vitess/pull/12868) * VReplication: Support MySQL Binary Log Transaction Compression [#12950](https://github.com/vitessio/vitess/pull/12950) - * VReplication: More intelligently manage vschema table entries on unsharded targets [#13220](https://github.com/vitessio/vitess/pull/13220) + * VReplication: More intelligently manage vschema table entries on unsharded targets [#13220](https://github.com/vitessio/vitess/pull/13220) #### VTorc * vtorc: have cooldown only apply to the same kind of analysis [#13103](https://github.com/vitessio/vitess/pull/13103) #### web UI @@ -347,30 +357,30 @@ #### Cluster management * Initialize Tablet with super_read_only mode [#12206](https://github.com/vitessio/vitess/pull/12206) #### Online DDL - * SchemaDiff: normalize boolean columns to tinyint(1), and, add TableQualifier hint to force adding a db qualifier to the alter diff. [#12133](https://github.com/vitessio/vitess/pull/12133) + * SchemaDiff: normalize boolean columns to tinyint(1), and, add TableQualifier hint to force adding a db qualifier to the alter diff. [#12133](https://github.com/vitessio/vitess/pull/12133) #### Query Serving * Support Custom SidecarDB Names on VTTablets [#12240](https://github.com/vitessio/vitess/pull/12240) * Create Views allowed for same keyspace [#12409](https://github.com/vitessio/vitess/pull/12409) * Add Prepare, Execute and Deallocate Statement Support related to prepared statement [#12752](https://github.com/vitessio/vitess/pull/12752) * feat: keep track of the full table name of expanded columns [#12976](https://github.com/vitessio/vitess/pull/12976) - * gen4 planner: push aggregation under filtering [#13169](https://github.com/vitessio/vitess/pull/13169) + * gen4 planner: push aggregation under filtering [#13169](https://github.com/vitessio/vitess/pull/13169) #### VReplication * Workflow Show: display rows copied [#12231](https://github.com/vitessio/vitess/pull/12231) - * VReplication Workflows: support noblob binlog_row_image format for MoveTables and Reshard [#12905](https://github.com/vitessio/vitess/pull/12905) + * VReplication Workflows: support noblob binlog_row_image format for MoveTables and Reshard [#12905](https://github.com/vitessio/vitess/pull/12905) #### VTAdmin * [VTAdmin] Add GetSrvKeyspaces and GetSrvKeyspace [#12702](https://github.com/vitessio/vitess/pull/12702) * Add panic recovery handler to vtadmin http middleware [#12864](https://github.com/vitessio/vitess/pull/12864) ### Internal Cleanup #### Build/CI * Stop launchable integration for unit tests [#12386](https://github.com/vitessio/vitess/pull/12386) - * Run launchable only on PRs against `main` [#12694](https://github.com/vitessio/vitess/pull/12694) + * Run launchable only on PRs against `main` [#12694](https://github.com/vitessio/vitess/pull/12694) #### CLI * Cleanup TODOs in vtorc flag parsing code from v15 [#12787](https://github.com/vitessio/vitess/pull/12787) - * [vtctld] Delete legacy dual purpose duration/int flag parsing [#12860](https://github.com/vitessio/vitess/pull/12860) + * [vtctld] Delete legacy dual purpose duration/int flag parsing [#12860](https://github.com/vitessio/vitess/pull/12860) #### Cluster management * delete deprecated vtctld healthcheck flags and associated realtime stats code [#12373](https://github.com/vitessio/vitess/pull/12373) * [misc] Delete `automation*` protos [#12449](https://github.com/vitessio/vitess/pull/12449) - * Deprecate `durability_policy` flag in vtctld [#12930](https://github.com/vitessio/vitess/pull/12930) + * Deprecate `durability_policy` flag in vtctld [#12930](https://github.com/vitessio/vitess/pull/12930) #### Evalengine * evalengine: use 128 bit hashing internally [#12452](https://github.com/vitessio/vitess/pull/12452) * evalengine: Refactorings & fixes [#12554](https://github.com/vitessio/vitess/pull/12554) @@ -378,9 +388,9 @@ * Move the JSON parser from evalengine [#12757](https://github.com/vitessio/vitess/pull/12757) * datetime: Unify parse and print APIs [#12815](https://github.com/vitessio/vitess/pull/12815) * evalengine/compiler: Unify compilation [#12913](https://github.com/vitessio/vitess/pull/12913) - * mysql/evalengine: Unify float parsing [#12979](https://github.com/vitessio/vitess/pull/12979) + * mysql/evalengine: Unify float parsing [#12979](https://github.com/vitessio/vitess/pull/12979) #### Examples - * Remove `are-you-alive` example [#12432](https://github.com/vitessio/vitess/pull/12432) + * Remove `are-you-alive` example [#12432](https://github.com/vitessio/vitess/pull/12432) #### General * Fix CodeQL identified issues [#12199](https://github.com/vitessio/vitess/pull/12199) * Fix typecasting issue for workflow types [#12217](https://github.com/vitessio/vitess/pull/12217) @@ -394,7 +404,7 @@ * Remove a bunch of debug logging [#12404](https://github.com/vitessio/vitess/pull/12404) * Update the pull request template to include a checkpoint for verifying modified/created tests aren't flaky [#12443](https://github.com/vitessio/vitess/pull/12443) * Add steps on how to merge during code-freeze [#12444](https://github.com/vitessio/vitess/pull/12444) - * Add a known issue into the release notes for xtrabackup and DDLs (#12536) [#12537](https://github.com/vitessio/vitess/pull/12537) + * [main] Add a known issue into the release notes for xtrabackup and DDLs (#12536) [#12537](https://github.com/vitessio/vitess/pull/12537) * Remove unused JQuery includes [#12552](https://github.com/vitessio/vitess/pull/12552) * Minor Cleanup of SidecarDB Package [#12652](https://github.com/vitessio/vitess/pull/12652) * [misc] Cleanup/fix/delete TODO comments [#12758](https://github.com/vitessio/vitess/pull/12758) @@ -408,15 +418,16 @@ * coverage: Remove sonar coverage setup [#13000](https://github.com/vitessio/vitess/pull/13000) * Update GOVERNANCE.md [#13047](https://github.com/vitessio/vitess/pull/13047) * Deprecate VTGR [#13301](https://github.com/vitessio/vitess/pull/13301) + * Cherry-pick all pending PRs into `release-17.0` [#13364](https://github.com/vitessio/vitess/pull/13364) #### Governance - * Added [Twitter] & [Etsy] to ADOPTERS.md [#12508](https://github.com/vitessio/vitess/pull/12508) + * Added [Twitter] & [Etsy] to ADOPTERS.md [#12508](https://github.com/vitessio/vitess/pull/12508) #### Observability - * flags: deprecate vtctld_addr and delete related code [#12580](https://github.com/vitessio/vitess/pull/12580) + * flags: deprecate vtctld_addr and delete related code [#12580](https://github.com/vitessio/vitess/pull/12580) #### Online DDL * Deprecating VExec, part 2 - *post v16* [#12074](https://github.com/vitessio/vitess/pull/12074) * Online DDL: remove legacy "stowaway table" logic [#12288](https://github.com/vitessio/vitess/pull/12288) * [onlineddl] Remove some old backwards-compatibilities in online ddl code [#12427](https://github.com/vitessio/vitess/pull/12427) - * Query executor: preparing for `SHOW VITESS_MIGRATIONS` via `ShowBasic` [#12688](https://github.com/vitessio/vitess/pull/12688) + * Query executor: preparing for `SHOW VITESS_MIGRATIONS` via `ShowBasic` [#12688](https://github.com/vitessio/vitess/pull/12688) #### Query Serving * [vtgate planner] Routing & Merging refactor [#12197](https://github.com/vitessio/vitess/pull/12197) * Use the correct uint32 type for the GTID file position [#12229](https://github.com/vitessio/vitess/pull/12229) @@ -440,27 +451,27 @@ * fix misleading primary not serving message [#13022](https://github.com/vitessio/vitess/pull/13022) * Remove enable-query-plan-field-caching flag that was deprecated in v15 [#13141](https://github.com/vitessio/vitess/pull/13141) * sqlparser: Improve interval parsing [#13165](https://github.com/vitessio/vitess/pull/13165) - * refactor QueryProjection [#13174](https://github.com/vitessio/vitess/pull/13174) + * refactor QueryProjection [#13174](https://github.com/vitessio/vitess/pull/13174) #### TabletManager * Table GC: remove spammy log entry [#12625](https://github.com/vitessio/vitess/pull/12625) * mysqlctl: Remove unused schema version [#12999](https://github.com/vitessio/vitess/pull/12999) * vttablet: Cleanup unused db version string [#13102](https://github.com/vitessio/vitess/pull/13102) * mysqlctl: Remove custom callbacks [#13119](https://github.com/vitessio/vitess/pull/13119) * mysqlctl: Remove usage of MYSQL_FLAVOR [#13135](https://github.com/vitessio/vitess/pull/13135) - * k8stopo: Include deprecation warning (#13299) [#13302](https://github.com/vitessio/vitess/pull/13302) + * [release-17.0] k8stopo: Include deprecation warning (#13299) [#13302](https://github.com/vitessio/vitess/pull/13302) #### VReplication * Use consistent type for vreplication id [#12218](https://github.com/vitessio/vitess/pull/12218) - * Use consistent type port and replication state [#12248](https://github.com/vitessio/vitess/pull/12248) + * Use consistent type port and replication state [#12248](https://github.com/vitessio/vitess/pull/12248) #### VTAdmin - * [vtadmin-api] standardize cluster ids [#12803](https://github.com/vitessio/vitess/pull/12803) + * [vtadmin-api] standardize cluster ids [#12803](https://github.com/vitessio/vitess/pull/12803) #### VTorc * Cleanup vtorc ssl package [#12423](https://github.com/vitessio/vitess/pull/12423) - * vtgr: Remove unused code [#12975](https://github.com/vitessio/vitess/pull/12975) + * vtgr: Remove unused code [#12975](https://github.com/vitessio/vitess/pull/12975) #### web UI * Add nvm and node to vtadmin-up.sh [#12439](https://github.com/vitessio/vitess/pull/12439) ### Performance #### General - * Use `MarshalVT`/`UnmarshalVT` instead of `proto.Marshal`/`proto.Unmarshal`. [#12525](https://github.com/vitessio/vitess/pull/12525) + * Use `MarshalVT`/`UnmarshalVT` instead of `proto.Marshal`/`proto.Unmarshal`. [#12525](https://github.com/vitessio/vitess/pull/12525) #### Online DDL * OnlineDDL: optimizing --singleton-context conflict check [#12539](https://github.com/vitessio/vitess/pull/12539) ### RFC @@ -469,10 +480,13 @@ ### Regression #### ACL * vtgate : Disable Automatically setting immediateCallerID to user from static authentication context [#12961](https://github.com/vitessio/vitess/pull/12961) +#### Backup and Restore + * Add RestorePosition and RestoredBackupTime as metrics to vttablet [#13339](https://github.com/vitessio/vitess/pull/13339) #### Query Serving * gen4 planner bugfix: issue when merging subqueries [#13025](https://github.com/vitessio/vitess/pull/13025) * gen4 planner: allow last_insert_id with arguments [#13026](https://github.com/vitessio/vitess/pull/13026) * fix: ShardedRouting clone to clone slice of reference correctly [#13265](https://github.com/vitessio/vitess/pull/13265) + * [release-17.0] Handle inconsistent state error in query buffering (#13333) [#13353](https://github.com/vitessio/vitess/pull/13353) ### Release #### Documentation * Update the release instructions after v16 code freeze [#12245](https://github.com/vitessio/vitess/pull/12245) @@ -481,7 +495,8 @@ * Update the release instructions for the local install guide [#12746](https://github.com/vitessio/vitess/pull/12746) * Fix incorrect path during release notes generation [#12769](https://github.com/vitessio/vitess/pull/12769) * Fix format error in the `v16.0.2` release notes [#13057](https://github.com/vitessio/vitess/pull/13057) - * consolidate all deprecated flags under one header in release notes [#13163](https://github.com/vitessio/vitess/pull/13163) + * consolidate all deprecated flags under one header in release notes [#13163](https://github.com/vitessio/vitess/pull/13163) + * Prepare and clean summary docs for `v17.0.0` [#13363](https://github.com/vitessio/vitess/pull/13363) #### General * Fix release script for the version in the docker script [#12284](https://github.com/vitessio/vitess/pull/12284) * Improve release process post `v16.0.0 GA` code freeze [#12487](https://github.com/vitessio/vitess/pull/12487) @@ -493,29 +508,33 @@ * Release of v17.0.0-rc1 [#13211](https://github.com/vitessio/vitess/pull/13211) * Back to dev mode [#13249](https://github.com/vitessio/vitess/pull/13249) * Code freeze of release-17.0 for rc2 [#13296](https://github.com/vitessio/vitess/pull/13296) + * Release of v17.0.0-rc2 [#13305](https://github.com/vitessio/vitess/pull/13305) + * Back to dev mode after v17.0.0-rc2 [#13313](https://github.com/vitessio/vitess/pull/13313) #### VTAdmin * Add the vtadmin `web` directory to the release packages [#12639](https://github.com/vitessio/vitess/pull/12639) ### Testing #### Build/CI * testutils: use a rows parser for test comparisons [#12138](https://github.com/vitessio/vitess/pull/12138) - * Don't keep data in upgrade-downgrade tests (#12462) [#12465](https://github.com/vitessio/vitess/pull/12465) + * [main] Don't keep data in upgrade-downgrade tests (#12462) [#12465](https://github.com/vitessio/vitess/pull/12465) * Flakes: Address Common Unit Test Races [#12546](https://github.com/vitessio/vitess/pull/12546) * Throttler: Expose Tablet's Config & Leverage to Deflake Tests [#12737](https://github.com/vitessio/vitess/pull/12737) * Remove TODO from e2e upgrade test [#12792](https://github.com/vitessio/vitess/pull/12792) * fakesqldb: Guard query log usage with lock [#12813](https://github.com/vitessio/vitess/pull/12813) * fakedbclient: Add locking to avoid races [#12814](https://github.com/vitessio/vitess/pull/12814) * test: fix cfc flaky test [#12941](https://github.com/vitessio/vitess/pull/12941) - * [ci] add generator for templated flag testdata [#13150](https://github.com/vitessio/vitess/pull/13150) + * [ci] add generator for templated flag testdata [#13150](https://github.com/vitessio/vitess/pull/13150) +#### CLI + * Skip `--config-file-not-found-handling` in upgrade downgrade tests when `vttablet < 17.x.x` [#13275](https://github.com/vitessio/vitess/pull/13275) #### Evalengine * evalengine: Try to reduce test flakyness around time [#12819](https://github.com/vitessio/vitess/pull/12819) - * evalengine: Skip integration tests under race detector [#12948](https://github.com/vitessio/vitess/pull/12948) + * evalengine: Skip integration tests under race detector [#12948](https://github.com/vitessio/vitess/pull/12948) #### Examples - * Examples: Add ENV Var to Local Examples to Skip VTAdmin [#12547](https://github.com/vitessio/vitess/pull/12547) + * Examples: Add ENV Var to Local Examples to Skip VTAdmin [#12547](https://github.com/vitessio/vitess/pull/12547) #### General * Fix fullstatus test for backward compat [#12685](https://github.com/vitessio/vitess/pull/12685) - * VDiff: cleanup test log output [#12840](https://github.com/vitessio/vitess/pull/12840) + * VDiff: cleanup test log output [#12840](https://github.com/vitessio/vitess/pull/12840) #### Online DDL - * OnlineDDL endtoend/CI: timestamp deviation toleration [#13046](https://github.com/vitessio/vitess/pull/13046) + * OnlineDDL endtoend/CI: timestamp deviation toleration [#13046](https://github.com/vitessio/vitess/pull/13046) #### Query Serving * Use atomic.Bool for fakesqldb behavior flags [#12603](https://github.com/vitessio/vitess/pull/12603) * go/{mysql,sync2,vt}: rework tabletserver consolidator test, modify consolidator result type [#12609](https://github.com/vitessio/vitess/pull/12609) @@ -523,16 +542,16 @@ * fix: deflake TestGetSchemaRPC test [#12977](https://github.com/vitessio/vitess/pull/12977) * Fix `TestStartFindMysqlPort` test flakiness [#13019](https://github.com/vitessio/vitess/pull/13019) * Fix benchmarks in `plan_test.go` [#13096](https://github.com/vitessio/vitess/pull/13096) - * tests: stop tests not supported by older versions from running [#13183](https://github.com/vitessio/vitess/pull/13183) + * tests: stop tests not supported by older versions from running [#13183](https://github.com/vitessio/vitess/pull/13183) #### VReplication * Flakes: Use new healthy shard check in vreplication e2e tests [#12502](https://github.com/vitessio/vitess/pull/12502) * Flakes: Handle Non-Determinstic Shard Ordering in VGTID [#12637](https://github.com/vitessio/vitess/pull/12637) * Flakes: Handle Non-Deterministic VStream Event Ordering [#12642](https://github.com/vitessio/vitess/pull/12642) * vreplication: Run all appropriate tests [#12862](https://github.com/vitessio/vitess/pull/12862) * Generated Invisible Primary Keys: add vreplication test cases [#13004](https://github.com/vitessio/vitess/pull/13004) - * Flakes: enforce no concurrency/parallelism in vreplication unit test framework [#13104](https://github.com/vitessio/vitess/pull/13104) + * Flakes: enforce no concurrency/parallelism in vreplication unit test framework [#13104](https://github.com/vitessio/vitess/pull/13104) #### VTAdmin - * [vtctldserver] Remove parallelization from tests that mutate shared state [#12257](https://github.com/vitessio/vitess/pull/12257) + * [vtctldserver] Remove parallelization from tests that mutate shared state [#12257](https://github.com/vitessio/vitess/pull/12257) #### VTorc * Fix flakiness in `TestDeadPrimaryRecoversImmediately` [#13232](https://github.com/vitessio/vitess/pull/13232) diff --git a/changelog/17.0/17.0.0/release_notes.md b/changelog/17.0/17.0.0/release_notes.md index dc1809d5512..cae79f9a5d7 100644 --- a/changelog/17.0/17.0.0/release_notes.md +++ b/changelog/17.0/17.0.0/release_notes.md @@ -1,4 +1,4 @@ -# Release of Vitess v17.0.0-rc2 +# Release of Vitess v17.0.0 ## Summary ### Table of Contents @@ -11,7 +11,7 @@ - [Keyspace name validation in TopoServer](#keyspace-name-validation) - [Shard name validation in TopoServer](#shard-name-validation) - [Compression CLI flags removed from vtctld and vtctldclient binaries](#remove-compression-flags-from-vtctld-binaries) - - [VtctldClient command RestoreFromBackup will now use the correct context](#VtctldClient-RestoreFromBackup) + - [VtctldClient command RestoreFromBackup will now use the correct context](#vtctldclient-command-restorefrombackup-will-now-use-the-correct-context) - [VTTablet Restore Metrics](#vttablet-restore-metrics) - **[New command line flags and behavior](#new-flag)** - [Builtin backup: read buffering flags](#builtin-backup-read-buffering-flags) @@ -61,8 +61,8 @@ func NewTabletPicker( Where ctx, localCell, option are all new parameters. `option` is of type `TabletPickerOptions` and includes two fields, `CellPreference` and `TabletOrder`. -CellPreference`: "PreferLocalWithAlias" (default) gives preference to vtgate's local cell, or "OnlySpecified" which only picks from the cells explicitly passed in by the client -`TabletOrder`: "Any" (default) for no ordering or random, or "InOrder" to use the order specified by the client +- `CellPreference`: "PreferLocalWithAlias" (default) gives preference to vtgate's local cell, or "OnlySpecified" which only picks from the cells explicitly passed in by the client +- `TabletOrder`: "Any" (default) for no ordering or random, or "InOrder" to use the order specified by the client See [PR 12282 Description](https://github.com/vitessio/vitess/pull/12282) for examples on how this changes cell picking behavior. @@ -70,9 +70,11 @@ See [PR 12282 Description](https://github.com/vitessio/vitess/pull/12282) for ex When using TLS with `vtgr`, we now default to TLS 1.2 if no other explicit version is configured. Configuration flags are provided to explicitly configure the minimum TLS version to be used. +`vtgr` is now deprecated as part of `v17.0.0`, please see [the deprecation notice](#deprecated-vtgr). + #### Dedicated stats for VTGate Prepare operations -Prior to v17 Vitess incorrectly combined stats for VTGate Execute and Prepare operations under a single stats key (`Execute`). In v17 Execute and Prepare operations generate stats under independent stats keys. +Prior to v17 Vitess incorrectly combined stats for VTGate `Execute` and `Prepare` operations under a single stats key (`Execute`). In v17 `Execute` and `Prepare` operations generate stats under independent stats keys. Here is a (condensed) example of stats output: @@ -128,7 +130,7 @@ The CLI flags below were mistakenly added to `vtctld` and `vtctldclient` in v15. #### VtctldClient command RestoreFromBackup will now use the correct context -The VtctldClient command RestoreFromBackup initiates an asynchronous process on the specified tablet to restore data from either the latest backup or the closest one before the specified backup-timestamp. +The VtctldClient command `RestoreFromBackup` initiates an asynchronous process on the specified tablet to restore data from either the latest backup or the closest one before the specified backup-timestamp. Prior to v17, this asynchronous process could run indefinitely in the background since it was called using the background context. In v17 [PR#12830](https://github.com/vitessio/vitess/issues/12830), this behavior was changed to use a context with a timeout of `action_timeout`. If you are using VtctldClient to initiate a restore, make sure you provide an appropriate value for action_timeout to give enough time for the restore process to complete. Otherwise, the restore will throw an error if the context expires before it completes. @@ -147,12 +149,12 @@ In v17 [PR#13040](https://github.com/vitessio/vitess/issues/13037), this behavio #### Backup --builtinbackup-file-read-buffer-size and --builtinbackup-file-write-buffer-size -Prior to v17 the builtin Backup Engine does not use read buffering for restores, and for backups uses a hardcoded write buffer size of 2097152 bytes. +Prior to v17 the builtin Backup Engine does not use read buffering for restores, and for backups uses a hardcoded write buffer size of `2097152 bytes`. In v17 these defaults may be tuned with, respectively `--builtinbackup-file-read-buffer-size` and `--builtinbackup-file-write-buffer-size`. -- `--builtinbackup-file-read-buffer-size`: read files using an IO buffer of this many bytes. Golang defaults are used when set to 0. -- `--builtinbackup-file-write-buffer-size`: write files using an IO buffer of this many bytes. Golang defaults are used when set to 0. (default 2097152) +- `--builtinbackup-file-read-buffer-size`: read files using an IO buffer of this many bytes. Golang defaults are used when set to `0`. +- `--builtinbackup-file-write-buffer-size`: write files using an IO buffer of this many bytes. Golang defaults are used when set to `0`. (default `2097152`) These flags are applicable to the following programs: @@ -189,7 +191,9 @@ Note that this flag overrides `--enable-lag-throttler` and `--throttle-threshold Metrics related to backup operations are available in both Vtbackup and VTTablet. -**BackupBytes, BackupCount, BackupDurationNanoseconds** +- `BackupBytes` +- `BackupCount` +- `BackupDurationNanosecond` Depending on the Backup Engine and Backup Storage in-use, a backup may be a complex pipeline of operations, including but not limited to: @@ -201,9 +205,11 @@ These operations are counted and timed, and the number of bytes consumed or prod ##### Restore metrics -Metrics related to restore operations are available in both Vtbackup and VTTablet. +Metrics related to restore operations are available in both Vtbackup and VTTablet: -**RestoreBytes, RestoreCount, RestoreDurationNanoseconds** +- `RestoreBytes` +- `RestoreCount` +- `RestoreDurationNanoseconds` Depending on the Backup Engine and Backup Storage in-use, a restore may be a complex pipeline of operations, including but not limited to: @@ -215,13 +221,13 @@ These operations are counted and timed, and the number of bytes consumed or prod ##### Vtbackup metrics -Vtbackup exports some metrics which are not available elsewhere. +Vtbackup exports some metrics which are not available elsewhere: -**DurationByPhaseSeconds** +- `DurationByPhaseSeconds` Vtbackup fetches the last backup, restores it to an empty mysql installation, replicates recent changes into that installation, and then takes a backup of that installation. -_DurationByPhaseSeconds_ exports timings for these individual phases. +`DurationByPhaseSeconds` exports timings for these individual phases. ##### Example @@ -404,7 +410,7 @@ This could be a breaking change for grpc api users based on how they have implem Gen4 planner was made default in v14 for `SELECT` queries. In v15 `UPDATE` and `DELETE` queries were moved to Gen4 framework. With this release `INSERT` queries are moved to Gen4. -Clients can move to old v3 planner for inserts by using `V3Insert` planner version with `--planner-version` vtgate flag or with comment directive `/*vt+ planner=` for individual query. +Clients can move to old v3 planner for inserts by using `V3Insert` planner version with `--planner-version` vtgate flag or with comment directive /*vt+ planner=` for individual query. ### Deprecations and Deletions @@ -470,7 +476,7 @@ The `k8stopo` has been deprecated, also see https://github.com/vitessio/vitess/i ------------ The entire changelog for this release can be found [here](https://github.com/vitessio/vitess/blob/main/changelog/17.0/17.0.0/changelog.md). -The release includes 442 commits (excluding merges) +The release includes 457 commits (excluding merges) -Thanks to all our contributors: @Ayman161803, @GuptaManan100, @L3o-pold, @Phanatic, @WilliamLu99, @adsr, @ajm188, @andylim-duo, @arthurschreiber, @austenLacy, @cuishuang, @dasl-, @dbussink, @deepthi, @dependabot[bot], @ejortegau, @fatih, @frouioui, @github-actions[bot], @harshit-gangal, @hkdsun, @jeremycole, @jhump, @johanstenberg92, @jwangace, @kevinpurwito, @kovyrin, @lixin963, @mattlord, @maxbrunet, @maxenglander, @mdlayher, @moberghammer, @notfelineit, @olyazavr, @pbibra, @pnacht, @rohit-nayak-ps, @rsajwani, @shlomi-noach, @systay, @timvaillancourt, @twthorn, @vbalys, @vinimdocarmo, @vitess-bot[bot], @vmg, @yoheimuta +Thanks to all our contributors: @Ayman161803, @GuptaManan100, @L3o-pold, @Phanatic, @WilliamLu99, @adsr, @ajm188, @andylim-duo, @arthurschreiber, @arvind-murty, @austenLacy, @cuishuang, @dasl-, @dbussink, @deepthi, @dependabot[bot], @ejortegau, @fatih, @frouioui, @github-actions[bot], @harshit-gangal, @hkdsun, @jeremycole, @jhump, @johanstenberg92, @jwangace, @kevinpurwito, @kovyrin, @lixin963, @mattlord, @maxbrunet, @maxenglander, @mdlayher, @moberghammer, @notfelineit, @olyazavr, @pbibra, @pnacht, @rohit-nayak-ps, @rsajwani, @shlomi-noach, @systay, @timvaillancourt, @twthorn, @vbalys, @vinimdocarmo, @vitess-bot[bot], @vmg, @yoheimuta