From 9a6f5262f7707ff80ce85c111d2ff686d85d29cc Mon Sep 17 00:00:00 2001 From: Harshit Gangal Date: Mon, 6 Nov 2023 17:26:56 +0530 Subject: [PATCH] Release of v18.0.0 (#14406) Signed-off-by: Harshit Gangal --- .github/workflows/code_freeze.yml | 2 +- changelog/18.0/18.0.0/changelog.md | 110 +++++++++++---- changelog/18.0/18.0.0/release_notes.md | 125 +++++++++++------- docker/release.sh | 2 +- examples/compose/docker-compose.beginners.yml | 20 +-- examples/compose/docker-compose.yml | 26 ++-- .../compose/vtcompose/docker-compose.test.yml | 26 ++-- examples/compose/vtcompose/vtcompose.go | 18 +-- examples/operator/101_initial_cluster.yaml | 14 +- examples/operator/201_customer_tablets.yaml | 14 +- examples/operator/302_new_shards.yaml | 14 +- examples/operator/306_down_shard_0.yaml | 14 +- examples/operator/operator.yaml | 2 +- go/vt/servenv/version.go | 2 +- java/client/pom.xml | 2 +- java/example/pom.xml | 2 +- java/grpc-client/pom.xml | 2 +- java/jdbc/pom.xml | 2 +- java/pom.xml | 2 +- 19 files changed, 243 insertions(+), 156 deletions(-) diff --git a/.github/workflows/code_freeze.yml b/.github/workflows/code_freeze.yml index 16128a39938..5640bc01b69 100644 --- a/.github/workflows/code_freeze.yml +++ b/.github/workflows/code_freeze.yml @@ -11,4 +11,4 @@ jobs: steps: - name: Fail if Code Freeze is enabled run: | - exit 1 + exit 0 diff --git a/changelog/18.0/18.0.0/changelog.md b/changelog/18.0/18.0.0/changelog.md index 1b44f9866ab..acf45ad7b37 100644 --- a/changelog/18.0/18.0.0/changelog.md +++ b/changelog/18.0/18.0.0/changelog.md @@ -1,4 +1,4 @@ -# Changelog of Vitess v18.0.0-rc1 +# Changelog of Vitess v18.0.0 ### Bug fixes #### Backup and Restore @@ -16,7 +16,10 @@ #### CLI * viperutil: Remove potential cross site reflecting issue [#13483](https://github.com/vitessio/vitess/pull/13483) * [vtctldclient] flags need to be defined to be deprecated [#13681](https://github.com/vitessio/vitess/pull/13681) - * Fix missing deprecated flags in `vttablet` and `vtgate` [#13975](https://github.com/vitessio/vitess/pull/13975) + * Fix missing deprecated flags in `vttablet` and `vtgate` [#13975](https://github.com/vitessio/vitess/pull/13975) + * [release-18.0] Fix anonymous paths in cobra code-gen (#14185) [#14238](https://github.com/vitessio/vitess/pull/14238) + * servenv: Remove double close() logic [#14457](https://github.com/vitessio/vitess/pull/14457) + * [release-18.0] servenv: Remove double close() logic (#14457) [#14459](https://github.com/vitessio/vitess/pull/14459) #### Cluster management * Prevent resetting replication every time we set replication source [#13377](https://github.com/vitessio/vitess/pull/13377) * Don't run any reparent commands if the host is empty [#13396](https://github.com/vitessio/vitess/pull/13396) @@ -29,19 +32,22 @@ #### Docker * Fix ubi8.arm64.mysql80 build package mirrorserver error [#13431](https://github.com/vitessio/vitess/pull/13431) * Fix dependencies in docker build script [#13520](https://github.com/vitessio/vitess/pull/13520) - * Use NodeJS v18 in VTAdmin Dockerfile [#13751](https://github.com/vitessio/vitess/pull/13751) + * Use NodeJS v18 in VTAdmin Dockerfile [#13751](https://github.com/vitessio/vitess/pull/13751) + * [release-18.0] [Docker] Fix VTadmin build (#14363) [#14378](https://github.com/vitessio/vitess/pull/14378) #### Evalengine * Fix a number of encoding issues when evaluating expressions with the evalengine [#13509](https://github.com/vitessio/vitess/pull/13509) * Fix type comparisons for Nullsafe* functions [#13605](https://github.com/vitessio/vitess/pull/13605) * fastparse: Fix bug in overflow detection [#13702](https://github.com/vitessio/vitess/pull/13702) - * evalengine: Mark UUID() function as non-constant [#14051](https://github.com/vitessio/vitess/pull/14051) + * evalengine: Mark UUID() function as non-constant [#14051](https://github.com/vitessio/vitess/pull/14051) + * [release-18.0] evalengine: Misc bugs (#14351) [#14354](https://github.com/vitessio/vitess/pull/14354) #### Examples * Use $hostname in vtadmin script as all other scripts do [#13231](https://github.com/vitessio/vitess/pull/13231) * Local example 101: idempotent on existing clusters [#13373](https://github.com/vitessio/vitess/pull/13373) * Examples: only terminate vtadmin if it was started [#13433](https://github.com/vitessio/vitess/pull/13433) * `examples/compose`: fix `consul:latest` error w/`docker-compose up -d` [#13468](https://github.com/vitessio/vitess/pull/13468) #### General - * Flakes: Synchronize access to logErrStacks in vterrors [#13827](https://github.com/vitessio/vitess/pull/13827) + * Flakes: Synchronize access to logErrStacks in vterrors [#13827](https://github.com/vitessio/vitess/pull/13827) + * [release-18.0] viper: register dynamic config with both disk and live (#14453) [#14455](https://github.com/vitessio/vitess/pull/14455) #### Online DDL * Solve RevertMigration.Comment read/write concurrency issue [#13700](https://github.com/vitessio/vitess/pull/13700) * Fix closed channel `panic` in Online DDL cutover [#13729](https://github.com/vitessio/vitess/pull/13729) @@ -49,7 +55,8 @@ * Fix `ApplySchema --batch-size` with ` --allow-zero-in-date` [#13951](https://github.com/vitessio/vitess/pull/13951) * TableGC: support DROP VIEW [#14020](https://github.com/vitessio/vitess/pull/14020) * OnlineDDL: cleanup cancelled migration artifacts; support `--retain-artifacts=` DDL strategy flag [#14029](https://github.com/vitessio/vitess/pull/14029) - * bugfix: change column name and type to json [#14093](https://github.com/vitessio/vitess/pull/14093) + * bugfix: change column name and type to json [#14093](https://github.com/vitessio/vitess/pull/14093) + * [Release 18.0]: Online DDL: timeouts for all gRPC calls (#14182) [#14189](https://github.com/vitessio/vitess/pull/14189) #### Query Serving * fix: GetField to use existing session for query [#13219](https://github.com/vitessio/vitess/pull/13219) * VReplication Workflows: make sequence tables follow routing rules [#13238](https://github.com/vitessio/vitess/pull/13238) @@ -78,7 +85,11 @@ * Add session flag for stream execute grpc api [#14046](https://github.com/vitessio/vitess/pull/14046) * Fix cascading Delete failure while using Prepared statements [#14048](https://github.com/vitessio/vitess/pull/14048) * Fix Fk verification and update queries to accommodate for bindVariables being NULL [#14061](https://github.com/vitessio/vitess/pull/14061) - * DDL execution to commit open transaction [#14110](https://github.com/vitessio/vitess/pull/14110) + * DDL execution to commit open transaction [#14110](https://github.com/vitessio/vitess/pull/14110) + * fix: analyze statement parsing and planning [#14268](https://github.com/vitessio/vitess/pull/14268) + * [release-18.0] fix: analyze statement parsing and planning (#14268) [#14275](https://github.com/vitessio/vitess/pull/14275) + * [release-18.0] schemadiff: fix missing `DROP CONSTRAINT` in duplicate/redundant constraints scenario. (#14387) [#14391](https://github.com/vitessio/vitess/pull/14391) + * [release-18.0] vtgate/engine: Fix race condition in join logic (#14435) [#14441](https://github.com/vitessio/vitess/pull/14441) #### Schema Tracker * Vttablet schema tracking: Fix _vt.schema_version corruption [#13045](https://github.com/vitessio/vitess/pull/13045) * Ignore error while reading table data in Schema.Engine reload [#13421](https://github.com/vitessio/vitess/pull/13421) @@ -93,7 +104,10 @@ * Tablet throttler: only start watching SrvKeyspace once it's confirmed to exist [#13384](https://github.com/vitessio/vitess/pull/13384) * Throttler: reintroduce deprecated flags so that deprecation actually works [#13597](https://github.com/vitessio/vitess/pull/13597) * Silence 'CheckThrottler' gRPC calls [#13925](https://github.com/vitessio/vitess/pull/13925) - * Tablet throttler: empty list of probes on non-leader [#13926](https://github.com/vitessio/vitess/pull/13926) + * Tablet throttler: empty list of probes on non-leader [#13926](https://github.com/vitessio/vitess/pull/13926) + * [release-18.0] Throttler: set timeouts on gRPC communication and on topo communication (#14165) [#14167](https://github.com/vitessio/vitess/pull/14167) + * Tablet throttler: fix race condition by removing goroutine call [#14179](https://github.com/vitessio/vitess/pull/14179) + * [release-18.0] Tablet throttler: fix race condition by removing goroutine call (#14179) [#14198](https://github.com/vitessio/vitess/pull/14198) #### VReplication * VReplication: Fix VDiff2 DeleteByUUID Query [#13255](https://github.com/vitessio/vitess/pull/13255) * Better handling of vreplication setState() failure [#13488](https://github.com/vitessio/vitess/pull/13488) @@ -113,17 +127,27 @@ * VReplication VPlayer: set foreign_key_checks on initialization [#14013](https://github.com/vitessio/vitess/pull/14013) * json: Fix quoting JSON keys [#14066](https://github.com/vitessio/vitess/pull/14066) * VDiff: properly split cell values in record when using TabletPicker [#14099](https://github.com/vitessio/vitess/pull/14099) - * VDiff: Cleanup the controller for a VDiff before deleting it [#14107](https://github.com/vitessio/vitess/pull/14107) + * VDiff: Cleanup the controller for a VDiff before deleting it [#14107](https://github.com/vitessio/vitess/pull/14107) + * [release-18.0] VReplication: error on vtctldclient commands w/o tablet types (#14294) [#14298](https://github.com/vitessio/vitess/pull/14298) + * [release-18.0] Vtctld SwitchReads: fix bug where writes were also being switched as part of switching reads when all traffic was switched using SwitchTraffic (#14360) [#14379](https://github.com/vitessio/vitess/pull/14379) + * [release-18.0] VDiff: wait for shard streams of one table diff to complete for before starting that of the next table (#14345) [#14382](https://github.com/vitessio/vitess/pull/14382) + * [release-18.0] VDiff tablet selection: pick non-serving tablets in Reshard workflows (#14413) [#14418](https://github.com/vitessio/vitess/pull/14418) + * VReplication: Handle multiple streams in UpdateVReplicationWorkflow RPC [#14447](https://github.com/vitessio/vitess/pull/14447) + * [release-18.0] VDiff: "show all" should only report vdiffs for the specified keyspace and workflow (#14442) [#14466](https://github.com/vitessio/vitess/pull/14466) + * [release-18.0] VReplication: Handle multiple streams in UpdateVReplicationWorkflow RPC (#14447) [#14468](https://github.com/vitessio/vitess/pull/14468) #### VTAdmin * Unset the PREFIX environment variable when building VTAdmin [#13554](https://github.com/vitessio/vitess/pull/13554) #### VTCombo * Fix vtcombo DBDDL plugin race condition [#13117](https://github.com/vitessio/vitess/pull/13117) #### VTorc - * Ensure to call `servenv.Init` when needed [#13638](https://github.com/vitessio/vitess/pull/13638) + * Ensure to call `servenv.Init` when needed [#13638](https://github.com/vitessio/vitess/pull/13638) +#### vtctl + * [release-18.0] VReplication: Add missing info to vtctldclient workflow SHOW output (#14225) [#14240](https://github.com/vitessio/vitess/pull/14240) ### CI/Build #### Backup and Restore * Refactor `backup_pitr` into two distinct CI tests: builtin vs Xtrabackup [#13395](https://github.com/vitessio/vitess/pull/13395) - * Fixing `backup_pitr` flaky tests via wait-for loop on topo reads [#13781](https://github.com/vitessio/vitess/pull/13781) + * Fixing `backup_pitr` flaky tests via wait-for loop on topo reads [#13781](https://github.com/vitessio/vitess/pull/13781) + * [release-18.0] Incremental backup: fix race condition in reading 'mysqlbinlog' output (#14330) [#14335](https://github.com/vitessio/vitess/pull/14335) #### Build/CI * Update a number of dependencies [#13031](https://github.com/vitessio/vitess/pull/13031) * Cleanup unused Dockerfile entries [#13327](https://github.com/vitessio/vitess/pull/13327) @@ -142,9 +166,12 @@ * update docgen to embed commit ID in autogenerated doc frontmatter [#14056](https://github.com/vitessio/vitess/pull/14056) #### General * go/mysql: switch to new API for x/exp/slices.SortFunc [#13644](https://github.com/vitessio/vitess/pull/13644) - * [main] Upgrade the Golang version to `go1.21.1` [#13933](https://github.com/vitessio/vitess/pull/13933) + * [main] Upgrade the Golang version to `go1.21.1` [#13933](https://github.com/vitessio/vitess/pull/13933) + * [release-18.0] Upgrade the Golang version to `go1.21.2` [#14195](https://github.com/vitessio/vitess/pull/14195) + * [release-18.0] Upgrade the Golang version to `go1.21.3` [#14230](https://github.com/vitessio/vitess/pull/14230) #### Online DDL - * CI: fix onlineddl_scheduler flakiness [#13754](https://github.com/vitessio/vitess/pull/13754) + * CI: fix onlineddl_scheduler flakiness [#13754](https://github.com/vitessio/vitess/pull/13754) + * [release-18.0] OnlineDDL: reduce vrepl_stress workload in forks (#14302) [#14349](https://github.com/vitessio/vitess/pull/14349) #### Query Serving * Endtoend: stress tests for VTGate FOREIGN KEY support [#13799](https://github.com/vitessio/vitess/pull/13799) * ci: pool-related test flakyness [#14076](https://github.com/vitessio/vitess/pull/14076) @@ -161,7 +188,9 @@ ### Dependabot #### General * Bump word-wrap from 1.2.3 to 1.2.4 in /web/vtadmin [#13569](https://github.com/vitessio/vitess/pull/13569) - * Bump tough-cookie from 4.1.2 to 4.1.3 in /web/vtadmin [#13767](https://github.com/vitessio/vitess/pull/13767) + * Bump tough-cookie from 4.1.2 to 4.1.3 in /web/vtadmin [#13767](https://github.com/vitessio/vitess/pull/13767) + * [release-18.0] Bump github.com/cyphar/filepath-securejoin from 0.2.3 to 0.2.4 (#14239) [#14253](https://github.com/vitessio/vitess/pull/14253) + * [release-18.0] Bump golang.org/x/net from 0.14.0 to 0.17.0 (#14260) [#14264](https://github.com/vitessio/vitess/pull/14264) #### Java * java: update to latest dependencies for grpc and protobuf [#13996](https://github.com/vitessio/vitess/pull/13996) #### Observability @@ -169,16 +198,20 @@ #### VTAdmin * build(deps-dev): bump vite from 4.2.1 to 4.2.3 in /web/vtadmin [#13240](https://github.com/vitessio/vitess/pull/13240) * Bump protobufjs from 7.2.3 to 7.2.5 in /web/vtadmin [#13833](https://github.com/vitessio/vitess/pull/13833) + * [release-18.0] Bump postcss from 8.4.21 to 8.4.31 in /web/vtadmin (#14173) [#14258](https://github.com/vitessio/vitess/pull/14258) + * [release-18.0] Bump @babel/traverse from 7.21.4 to 7.23.2 in /web/vtadmin (#14304) [#14308](https://github.com/vitessio/vitess/pull/14308) ### Documentation #### CLI * gentler warning message on config-not-found [#13215](https://github.com/vitessio/vitess/pull/13215) - * switch casing in onlineddl subcommand help text [#14091](https://github.com/vitessio/vitess/pull/14091) + * switch casing in onlineddl subcommand help text [#14091](https://github.com/vitessio/vitess/pull/14091) + * [release-18.0] Bypass cobra completion commands so they still function (#14217) [#14234](https://github.com/vitessio/vitess/pull/14234) #### Documentation * Add security audit report [#13221](https://github.com/vitessio/vitess/pull/13221) * update link for reparenting guide [#13350](https://github.com/vitessio/vitess/pull/13350) * anonymize homedirs in generated docs [#14101](https://github.com/vitessio/vitess/pull/14101) * Summary changes for foreign keys [#14112](https://github.com/vitessio/vitess/pull/14112) - * fix bad copy-paste in zkctld docgen [#14123](https://github.com/vitessio/vitess/pull/14123) + * fix bad copy-paste in zkctld docgen [#14123](https://github.com/vitessio/vitess/pull/14123) + * [release-18.0] release notes: edit summary for consistency (#14319) [#14320](https://github.com/vitessio/vitess/pull/14320) #### General * Improve release process documentation [#14000](https://github.com/vitessio/vitess/pull/14000) #### Governance @@ -201,7 +234,8 @@ * Skip VTAdmin build in more places [#13588](https://github.com/vitessio/vitess/pull/13588) * Skip VTAdmin build in Docker tests [#13836](https://github.com/vitessio/vitess/pull/13836) * Migrates most workflows to 4 and 16 cores Large GitHub-Hosted-Runners [#13845](https://github.com/vitessio/vitess/pull/13845) - * Skip launchable if the Pull Request is marked as a Draft [#13886](https://github.com/vitessio/vitess/pull/13886) + * Skip launchable if the Pull Request is marked as a Draft [#13886](https://github.com/vitessio/vitess/pull/13886) + * [release-18.0] Automatic approval of `vitess-bot` clean backports (#14352) [#14357](https://github.com/vitessio/vitess/pull/14357) #### CLI * Vtctldclient MoveTables [#13015](https://github.com/vitessio/vitess/pull/13015) * migrate vtorc to use cobra commands [#13917](https://github.com/vitessio/vitess/pull/13917) @@ -231,7 +265,8 @@ * OnlineDDL: support @@migration_context in vtgate session. Use if non-empty [#13675](https://github.com/vitessio/vitess/pull/13675) * Vtgate: pass 'SHOW VITESS_MIGRATIONS' to tablet's query executor [#13726](https://github.com/vitessio/vitess/pull/13726) * vtctldclient OnlineDDL CANCEL [#13860](https://github.com/vitessio/vitess/pull/13860) - * vtctldclient: support OnlineDDL `complete`, `launch` commands [#13896](https://github.com/vitessio/vitess/pull/13896) + * vtctldclient: support OnlineDDL `complete`, `launch` commands [#13896](https://github.com/vitessio/vitess/pull/13896) + * [release-18.0] Online DDL: lint DDL strategy flags (#14373) [#14399](https://github.com/vitessio/vitess/pull/14399) #### Query Serving * vindexes: return unknown params [#12951](https://github.com/vitessio/vitess/pull/12951) * Fix and Make aggregation planner handle aggregation functions better [#13228](https://github.com/vitessio/vitess/pull/13228) @@ -277,7 +312,16 @@ * MoveTables sequence e2e tests: change terminology to use basic vs simple everywhere for partial movetables workflows [#13435](https://github.com/vitessio/vitess/pull/13435) * wrangler,workflow/workflow: materialize from intersecting source shards based on primary vindexes [#13782](https://github.com/vitessio/vitess/pull/13782) * Implement Reshard in vtctldclient [#13792](https://github.com/vitessio/vitess/pull/13792) - * VDiff: Migrate client command to vtctldclient [#13976](https://github.com/vitessio/vitess/pull/13976) + * VDiff: Migrate client command to vtctldclient [#13976](https://github.com/vitessio/vitess/pull/13976) + * Migrate vreplication commands to vtctldclient: Mount and Migrate [#14174](https://github.com/vitessio/vitess/pull/14174) + * [release-18.0] Migrate CreateLookupVindex and ExternalizeVindex to vtctldclient (#14086) [#14183](https://github.com/vitessio/vitess/pull/14183) + * Migrate Materialize command to vtctldclient [#14184](https://github.com/vitessio/vitess/pull/14184) + * [Release 18.0] Backport of #17174 [#14210](https://github.com/vitessio/vitess/pull/14210) + * [release-18.0] Migrate Materialize command to vtctldclient (#14184) [#14214](https://github.com/vitessio/vitess/pull/14214) + * [release-18.0] VReplication: Add traffic state to vtctldclient workflow status output (#14280) [#14282](https://github.com/vitessio/vitess/pull/14282) + * [release-18.0] VReplication: Add --all-cells flag to create sub-commands (#14341) [#14343](https://github.com/vitessio/vitess/pull/14343) +#### VTAdmin + * [release-18.0] Optimize the GetWorkflows RPC (#14212) [#14233](https://github.com/vitessio/vitess/pull/14233) #### VTCombo * `vttestserver`: persist vschema changes in `--persistent_mode` [#13065](https://github.com/vitessio/vitess/pull/13065) #### VTorc @@ -327,7 +371,8 @@ * Remove unused chromedriver [#13573](https://github.com/vitessio/vitess/pull/13573) * docker/bootstrap: remove --no-cache flag [#13785](https://github.com/vitessio/vitess/pull/13785) #### CLI - * remove query_analyzer binary and release [#14055](https://github.com/vitessio/vitess/pull/14055) + * remove query_analyzer binary and release [#14055](https://github.com/vitessio/vitess/pull/14055) + * [release-18.0] Make vtctldclient mount command more standard (#14281) [#14283](https://github.com/vitessio/vitess/pull/14283) #### Cluster management * Fix logging by omitting the host and port in `SetReadOnly` [#13470](https://github.com/vitessio/vitess/pull/13470) * Improve logging and renaming PrimaryTermStartTimestamp in vttablets [#13625](https://github.com/vitessio/vitess/pull/13625) @@ -364,7 +409,9 @@ * refactor: move DML logic to sql_builder.go [#13920](https://github.com/vitessio/vitess/pull/13920) * Fix `TestLeftJoinUsingUnsharded` and remove instability when running E2E locally [#13973](https://github.com/vitessio/vitess/pull/13973) * Remove excessive logging in transactions [#14021](https://github.com/vitessio/vitess/pull/14021) - * moved timeout test to different package [#14028](https://github.com/vitessio/vitess/pull/14028) + * moved timeout test to different package [#14028](https://github.com/vitessio/vitess/pull/14028) + * [release-18.0] Rename Foreign Key enum values in VSchema and drop `FK_` prefix (#14274) [#14299](https://github.com/vitessio/vitess/pull/14299) + * tx_throttler: remove topo watchers metric [#14444](https://github.com/vitessio/vitess/pull/14444) #### TabletManager * mysqlctl: Use DBA connection for schema operations [#13178](https://github.com/vitessio/vitess/pull/13178) * k8stopo: Include deprecation warning [#13299](https://github.com/vitessio/vitess/pull/13299) @@ -385,6 +432,8 @@ * Improve VTOrc logging statements, now that we have alias as a field [#13428](https://github.com/vitessio/vitess/pull/13428) * Remove excessive logging in VTOrc APIs [#13459](https://github.com/vitessio/vitess/pull/13459) * [release-16.0] Remove excessive logging in VTOrc APIs (#13459) [#13462](https://github.com/vitessio/vitess/pull/13462) +#### vtctl + * [release-18.0] Move all examples to vtctldclient (#14226) [#14241](https://github.com/vitessio/vitess/pull/14241) #### vtexplain * vtexplain: Fix passing through context for cleanup [#13900](https://github.com/vitessio/vitess/pull/13900) ### Performance @@ -402,13 +451,23 @@ #### vtctl * `ApplySchema`: support `--batch-size` flag in 'direct' strategy [#13693](https://github.com/vitessio/vitess/pull/13693) ### Regression +#### Backup and Restore + * Fix backup on s3 like storage [#14311](https://github.com/vitessio/vitess/pull/14311) + * [release-18.0] Fix backup on s3 like storage (#14311) [#14362](https://github.com/vitessio/vitess/pull/14362) #### Query Serving * fix: ShardedRouting clone to clone slice of reference correctly [#13265](https://github.com/vitessio/vitess/pull/13265) * Handle inconsistent state error in query buffering [#13333](https://github.com/vitessio/vitess/pull/13333) + * fix: insert with negative value [#14244](https://github.com/vitessio/vitess/pull/14244) + * [release-18.0] fix: insert with negative value (#14244) [#14247](https://github.com/vitessio/vitess/pull/14247) + * [release-18.0] use aggregation engine over distinct engine when overlapping order by (#14359) [#14361](https://github.com/vitessio/vitess/pull/14361) + * [release-18.0] Performance Fixes for Vitess 18 (#14383) [#14393](https://github.com/vitessio/vitess/pull/14393) + * [release-18.0] tuple: serialized form (#14392) [#14394](https://github.com/vitessio/vitess/pull/14394) ### Release #### Build/CI * Fix incorrect output in release scripts [#13385](https://github.com/vitessio/vitess/pull/13385) * Optimize release notes generation to use GitHub Milestones [#13398](https://github.com/vitessio/vitess/pull/13398) +#### CLI + * Add vtctldclient info to the 18.0 summary [#14259](https://github.com/vitessio/vitess/pull/14259) #### Documentation * Add end-of-life documentation + re-organize internal documentation [#13401](https://github.com/vitessio/vitess/pull/13401) * Update known issues in `v16.x` and `v17.0.0` [#13618](https://github.com/vitessio/vitess/pull/13618) @@ -419,6 +478,9 @@ * Add v15.0.4, v16.0.3, and v17.0.1 changelogs [#13661](https://github.com/vitessio/vitess/pull/13661) * Copy release notes for v17.0.2 and v16.0.4 [#13811](https://github.com/vitessio/vitess/pull/13811) * Code freeze of release-18.0 [#14131](https://github.com/vitessio/vitess/pull/14131) + * Release of v18.0.0-rc1 [#14136](https://github.com/vitessio/vitess/pull/14136) + * Back to dev mode after `v18.0.0-rc1` release [#14169](https://github.com/vitessio/vitess/pull/14169) + * Code freeze of release-18.0 [#14405](https://github.com/vitessio/vitess/pull/14405) ### Testing #### Build/CI * Flakes: Address TestMigrate Failures [#12866](https://github.com/vitessio/vitess/pull/12866) @@ -450,11 +512,13 @@ * Use correct syntax in test [#13907](https://github.com/vitessio/vitess/pull/13907) * test: added test to check binlogs to contain the cascade events [#13970](https://github.com/vitessio/vitess/pull/13970) * E2E Fuzzing testing for foreign keys [#13980](https://github.com/vitessio/vitess/pull/13980) - * Fix foreign key plan tests expectation [#13997](https://github.com/vitessio/vitess/pull/13997) + * Fix foreign key plan tests expectation [#13997](https://github.com/vitessio/vitess/pull/13997) + * [release-18.0] vtgate: Allow more errors for the warning check (#14421) [#14423](https://github.com/vitessio/vitess/pull/14423) #### VReplication * Flakes: remove non-determinism from vtctldclient MoveTables unit test [#13765](https://github.com/vitessio/vitess/pull/13765) * Flakes: empty vtdataroot before starting a new vreplication e2e test [#13803](https://github.com/vitessio/vitess/pull/13803) - * Flakes: Add recently added 'select rows_copied' query to ignore list [#13993](https://github.com/vitessio/vitess/pull/13993) + * Flakes: Add recently added 'select rows_copied' query to ignore list [#13993](https://github.com/vitessio/vitess/pull/13993) + * [release-18.0] TestStreamMigrateMainflow: fix panic in test [#14425](https://github.com/vitessio/vitess/pull/14425) #### VTorc * Fix flakiness in `TestDeadPrimaryRecoversImmediately` [#13232](https://github.com/vitessio/vitess/pull/13232) * Fix flakiness in VTOrc tests [#13489](https://github.com/vitessio/vitess/pull/13489) diff --git a/changelog/18.0/18.0.0/release_notes.md b/changelog/18.0/18.0.0/release_notes.md index 026c0363b22..9851245a648 100644 --- a/changelog/18.0/18.0.0/release_notes.md +++ b/changelog/18.0/18.0.0/release_notes.md @@ -1,4 +1,4 @@ -# Release of Vitess v18.0.0-rc1 +# Release of Vitess v18.0.0 ## Summary ### Table of Contents @@ -15,6 +15,7 @@ - **[VTAdmin](#vtadmin)** - [Updated to node v18.16.0](#update-node) - **[Deprecations and Deletions](#deprecations-and-deletions)** + - [Legacy Client Binaries](#legacy-client-binaries) - [Deprecated Flags](#deprecated-flags) - [Deprecated Stats](#deprecated-stats) - [Deleted Flags](#deleted-flags) @@ -44,7 +45,7 @@ In previous releases the [local examples](https://github.com/vitessio/vitess/tree/main/examples/local) were explicitly using etcd v2 storage (`etcd --enable-v2=true`) and API (`ETCDCTL_API=2`) mode. We have now removed this legacy etcd usage and instead use the new (default) etcd v3 storage and API. Please see -[PR #13791](https://github.com/vitessio/vitess/pull/13791) for additional info. If you are using the local +[PR #13791](https://github.com/vitessio/vitess/pull/13791) for details. If you are using the local examples in any sort of long-term non-testing capacity, then you will need to explicitly use the v2 storage and API mode or [migrate your existing data from v2 to v3](https://etcd.io/docs/v3.5/tutorials/how-to-migrate/). @@ -52,108 +53,131 @@ and API mode or [migrate your existing data from v2 to v3](https://etcd.io/docs/ #### VTOrc flag `--allow-emergency-reparent` -VTOrc has a new flag `--allow-emergency-reparent` that allows the users to toggle the ability of VTOrc to run emergency -reparent operations. Users that want VTOrc to fix the replication issues, but don't want it to run any reparents -should start using this flag. By default, VTOrc will be able to run `EmergencyReparentShard`. Users must specify the -flag to `false` to change the behaviour. +VTOrc has a new flag `--allow-emergency-reparent` that specifies whether VTOrc is allowed to run emergency +failover operations. Users that want VTOrc to fix replication issues, but don't want it to run any failovers +should use this flag. This flag defaults to `true` which corresponds to the default behavior from prior releases. #### VTOrc flag `--change-tablets-with-errant-gtid-to-drained` VTOrc has a new flag `--change-tablets-with-errant-gtid-to-drained` that allows users to choose whether VTOrc should change the -tablet type of tablets with errant GTIDs to `DRAINED`. By default, it is disabled. +tablet type of tablets with errant GTIDs to `DRAINED`. By default, this flag is disabled. This feature allows users to configure VTOrc such that any tablet that encounters errant GTIDs is automatically taken out of the serving graph. These tablets can then be inspected for what the errant GTIDs are, and once fixed, they can rejoin the cluster. #### ERS sub flag `--wait-for-all-tablets` -Running `EmergencyReparentShard` from the vtctldclient has a new sub-flag `--wait-for-all-tablets` that makes `EmergencyReparentShard` wait +vtctldclient command `EmergencyReparentShard` has a new sub-flag `--wait-for-all-tablets` that makes `EmergencyReparentShard` wait for a response from all the tablets. Originally `EmergencyReparentShard` was meant only to be run when a primary tablet is unreachable. -We have realized now that there are cases when the replication is broken but all the tablets are reachable. In these cases, it is advisable to -call `EmergencyReparentShard` with `--wait-for-all-tablets` so that it does not ignore one of the tablets. +We have realized now that there are cases when replication is broken but all tablets are reachable. In these cases, it is advisable to +call `EmergencyReparentShard` with `--wait-for-all-tablets` so that it does not ignore any of the tablets. #### VTGate GRPC stream execute session flag `--grpc-send-session-in-streaming` -This flag enables transaction support on `StreamExecute` api. -Once enabled, VTGate `StreamExecute` gRPC api will send session as the last packet in the response. -The client should enable it only when they have made the required changes to expect such a packet. +This flag enables transaction support on VTGate's `StreamExecute` gRPC API. +When this is enabled, `StreamExecute` will return the session in the last packet of the response. +Users should enable this flag only after client code has been changed to expect such a packet. It is disabled by default. ### Experimental Foreign Key Support -A new field `foreignKeyMode` has been added to the VSchema. This field can be provided for each keyspace. The VTGate flag `--foreign_key_mode` has been deprecated in favour of this field. +A new optional field `foreignKeyMode` has been added to the VSchema. This field can be provided for each keyspace. The VTGate flag `--foreign_key_mode` has been deprecated in favor of this field. There are 3 foreign key modes now supported in Vitess - 1. `unmanaged` - - This mode represents the default behaviour in Vitess, where it does not manage foreign keys column references. Users are responsible for configuring foreign keys in MySQL in such a way that related rows, as determined by foreign keys, reside within the same shard. + This mode represents the default behavior in Vitess, where it does not manage foreign key column references. Users are responsible for configuring foreign keys in MySQL in such a way that related rows, as determined by foreign keys, reside within the same shard. 2. `managed` [EXPERIMENTAL] - - In this experimental mode, Vitess is fully aware of foreign key relationships and actively tracks foreign key constraints using the schema tracker. Vitess takes charge of handling DML operations with foreign keys cascading updates, deletes and verifying restrict. It will also validate parent row existence. - This ensures that all the operations are logged in binary logs, unlike MySQL implementation of foreign keys. - This enables seamless integration of VReplication with foreign keys. - For more details on what operations Vitess takes please refer to the [design document for foreign keys](https://github.com/vitessio/vitess/issues/12967). + In this experimental mode, Vitess is fully aware of foreign key relationships and actively tracks foreign key constraints using the schema tracker. VTGate will handle DML operations with foreign keys and correctly cascade updates and deletes. + It will also verify `restrict` constraints and validate the existence of parent rows before inserting child rows. + This ensures that all child operations are logged in binary logs, unlike the InnoDB implementation of foreign keys. + This allows the usage of VReplication workflows with foreign keys. + Implementation details are documented in the [RFC for foreign keys](https://github.com/vitessio/vitess/issues/12967). 3. `disallow` - In this mode Vitess explicitly disallows any DDL statements that try to create a foreign key constraint. This mode is equivalent to running VTGate with the flag `--foreign_key_mode=disallow`. #### Upgrade process -After upgrading from v17 to v18, the users should specify the correct foreign key mode for all their keyspaces in the VSchema using the new property. -Once this change has taken effect, the deprecated flag `--foreign_key_mode` can be dropped from all the VTGates. +After upgrading from v17 to v18, users should specify the correct foreign key mode for all their keyspaces in the VSchema using the new property. +Once this change has taken effect, the deprecated flag `--foreign_key_mode` can be dropped from all VTGates. Note that this is only required if running in `disallow` mode. +No action is needed to use `unmanaged` mode. ### VTAdmin #### vtadmin-web updated to node v18.16.0 (LTS) Building `vtadmin-web` now requires node >= v18.16.0 (LTS). Breaking changes from v16 to v18 are listed -in https://nodejs.org/en/blog/release/v18.0.0, but none apply to VTAdmin. Full details on v18.16.0 are listed +in https://nodejs.org/en/blog/release/v18, but none apply to VTAdmin. Full details on node v18.16.0 are listed on https://nodejs.org/en/blog/release/v18.16.0. ### Deprecations and Deletions +#### Legacy Client Binaries + +`vtctldclient` is our new modern *Vitess controller daemon* (`vtctld`) *client* – which you will use to perform commands +and take actions in your Vitess clusters. It is [replacing the legacy `vtctl`/`vtctlclient` binaries](https://vitess.io/docs/18.0/reference/vtctldclient-transition/overview/). +Some of the benefits are: + +- [Dedicated RPCs for each command](https://github.com/vitessio/vitess/blob/release-18.0/proto/vtctlservice.proto#L32-L353) +that are used between `vtctldclient` and `vtctld` – this offers clean separation of commands and makes it easier to +develop new features without impacting other commands. This also presents an [API that other clients (both Vitess and +3rd party) can use to interface with Vitess](https://vitess.io/blog/2023-04-17-vtctldserver-api/). +- Use of modern frameworks: [`pFlag`](https://github.com/spf13/pflag#readme), [`Cobra`](https://cobra.dev), and [`Viper`](https://github.com/spf13/viper#readme). +This makes development easier while also offering a better UX. For example, this offers a way to use +[configuration files](https://vitess.io/docs/18.0/reference/viper/config-files/) with support for +[dynamic configuration](https://vitess.io/docs/18.0/reference/viper/dynamic-values/) ([see also](https://github.com/vitessio/vitess/blob/release-18.0/doc/viper/viper.md)). +- The [reference documentation](https://vitess.io/docs/18.0/reference/programs/vtctldclient/) is now built through code. This +removes a burden from developers while helping users by ensuring the docs are always correct and up-to-date. + +In Vitess 18 we have completed migrating all client commands to `vtctldclient` – the last ones being the [OnlineDDL](https://github.com/vitessio/vitess/issues/13712) +and [VReplication](https://github.com/vitessio/vitess/issues/12152) commands. With this work now completed, the +legacy `vtctl`/`vtctlclient` binaries are now fully deprecated and we plan to remove them in Vitess 19. You should +[begin your transition](https://vitess.io/docs/18.0/reference/vtctldclient-transition/) before upgrading to Vitess 18. + #### Deprecated Command Line Flags Throttler related `vttablet` flags: -- `--throttle_threshold` is deprecated and will be removed in `v19.0` -- `--throttle_metrics_query` is deprecated and will be removed in `v19.0` -- `--throttle_metrics_threshold` is deprecated and will be removed in `v19.0` -- `--throttle_check_as_check_self` is deprecated and will be removed in `v19.0` -- `--throttler-config-via-topo` is deprecated after assumed `true` in `v17.0`. It will be removed in a future version. +- `--throttle_threshold` is deprecated and will be removed in `v19` +- `--throttle_metrics_query` is deprecated and will be removed in `v19` +- `--throttle_metrics_threshold` is deprecated and will be removed in `v19` +- `--throttle_check_as_check_self` is deprecated and will be removed in `v19` +- `--throttler-config-via-topo` is deprecated after assumed `true` in `v17`. It will be removed in a future version. Cache related `vttablet` flags: -- `--queryserver-config-query-cache-lfu` is deprecated and will be removed in `v19.0`. The query cache always uses a LFU implementation now. -- `--queryserver-config-query-cache-size` is deprecated and will be removed in `v19.0`. This option only applied to LRU caches, which are now unsupported. +- `--queryserver-config-query-cache-lfu` is deprecated and will be removed in `v19`. The query cache always uses a LFU implementation now. +- `--queryserver-config-query-cache-size` is deprecated and will be removed in `v19`. This option only applied to LRU caches, which are now unsupported. Buffering related `vtgate` flags: -- `--buffer_implementation` is deprecated and will be removed in `v19.0` +- `--buffer_implementation` is deprecated and will be removed in `v19` Cache related `vtgate` flags: -- `--gate_query_cache_lfu` is deprecated and will be removed in `v19.0`. The query cache always uses a LFU implementation now. -- `--gate_query_cache_size` is deprecated and will be removed in `v19.0`. This option only applied to LRU caches, which are now unsupported. +- `--gate_query_cache_lfu` is deprecated and will be removed in `v19`. The query cache always uses a LFU implementation now. +- `--gate_query_cache_size` is deprecated and will be removed in `v19`. This option only applied to LRU caches, which are now unsupported. VTGate flags: -- `--schema_change_signal_user` is deprecated and will be removed in `v19.0` -- `--foreign_key_mode` is deprecated and will be removed in `v19.0`. For more detail read the [foreign keys](#foreign-keys) section. +- `--schema_change_signal_user` is deprecated and will be removed in `v19` +- `--foreign_key_mode` is deprecated and will be removed in `v19`. For more detail read the [foreign keys](#foreign-keys) section. VDiff v1: -[VDiff v2 was added in Vitess 15.0](https://vitess.io/blog/2022-11-22-vdiff-v2/) and marked as GA in 16.0. -The [legacy v1 client command](https://vitess.io/docs/18.0/reference/vreplication/vdiffv1/) is now deprecated in Vitess 18.0 and will be **removed** in 19.0. +[VDiff v2 was added in Vitess 15](https://vitess.io/blog/2022-11-22-vdiff-v2/) and marked as GA in 16. +The [legacy v1 client command](https://vitess.io/docs/18.0/reference/vreplication/vdiffv1/) is now deprecated in Vitess 18 and will be **removed** in Vitess 19. Please switch all of your usage to the [new VDiff client](https://vitess.io/docs/18.0/reference/vreplication/vdiff/) command ASAP. #### Deprecated Stats -The following `EmergencyReparentShard` stats are deprecated in `v18.0` and will be removed in `v19.0`: +The following `EmergencyReparentShard` stats are deprecated in `v18` and will be removed in `v19`: - `ers_counter` - `ers_success_counter` - `ers_failure_counter` -These metrics are replaced by [new reparenting stats introduced in `v18.0`](#vtctld-and-vtorc-reparenting-stats). +These metrics are replaced by [new reparenting stats introduced in `v18`](#vtctld-and-vtorc-reparenting-stats). VTBackup stat `DurationByPhase` is deprecated. Use the binary-valued `Phase` stat instead. @@ -192,16 +216,15 @@ Flags in `vtorc`: #### Deleted `v3` planner -The `Gen4` planner has been the default planner since Vitess 14. The `v3` planner was deprecated in Vitess 15 and has now been removed in this release. +The `Gen4` planner has been the default planner since Vitess 14. The `v3` planner was deprecated in Vitess 15 and has been removed in Vitess 18. #### Deleted `k8stopo` -The `k8stopo` has been deprecated in Vitess 17, also see https://github.com/vitessio/vitess/issues/13298. With Vitess 18 -the `k8stopo` has been removed. +`k8stopo` was deprecated in Vitess 17, see https://github.com/vitessio/vitess/issues/13298. It has now been removed. #### Deleted `vtgr` -The `vtgr` has been deprecated in Vitess 17, also see https://github.com/vitessio/vitess/issues/13300. With Vitess 18 `vtgr` has been removed. +`vtgr` was deprecated in Vitess 17, see https://github.com/vitessio/vitess/issues/13300. It has now been removed. #### Deleted `query_analyzer` @@ -215,7 +238,7 @@ The VTGate stat `VindexUnknownParameters` gauges unknown Vindex parameters found #### VTBackup `Phase` stat -In v17, the `vtbackup` stat `DurationByPhase` stat was added measuring the time spent by `vtbackup` in each phase. This stat turned out to be awkward to use in production, and has been replaced in v18 by a binary-valued `Phase` stat. +In v17, the `vtbackup` stat `DurationByPhase` stat was added to measure the time spent by `vtbackup` in each phase. This stat turned out to be awkward to use in production, and has been replaced in v18 by a binary-valued `Phase` stat. `Phase` reports a 1 (active) or a 0 (inactive) for each of the following phases: @@ -250,7 +273,7 @@ vtbackup_restore_count{component="BackupStorage",implementation="S3",operation=" #### VTCtld and VTOrc reparenting stats -New VTCtld and VTorc stats were added to measure frequency of reparents by keyspace/shard: +New VTCtld and VTOrc stats were added to measure frequency of reparents by keyspace/shard: - `emergency_reparent_counts` - Number of times `EmergencyReparentShard` has been run. It is further subdivided by the keyspace, shard and the result of the operation. - `planned_reparent_counts` - Number of times `PlannedReparentShard` has been run. It is further subdivided by the keyspace, shard and the result of the operation. @@ -275,7 +298,7 @@ tablet will not actually throttle any transactions; however, it will increase th (`vttablet_transaction_throttler_throttled`). This allows users to deploy the transaction throttler in production and gain observability on how much throttling would take place, without actually throttling any requests. -### Docker +### Docker Builds #### Bookworm added and made default @@ -284,20 +307,20 @@ Bullseye images will still be built and available as long as the OS build is cur #### Buster removed -Buster LTS supports will stop in June 2024, and Vitess v18.0 will be supported through October 2024. +Buster LTS supports will stop in June 2024, and Vitess 18 will be supported through October 2024. To prevent supporting a deprecated buster build for several months after June 2024, we are preemptively -removing Vitess support. +removing Vitess support for Buster. ### Durability Policies #### New Durability Policies -2 new inbuilt durability policies have been added to Vitess in this release namely `semi_sync_with_rdonly_ack` and `cross_cell_with_rdonly_ack`. These policies are exactly like `semi_sync` and `cross_cell` respectively, and differ just in the part where the rdonly tablets can also send semi-sync ACKs. - +Two new built-in durability policies have been added in Vitess 18: `semi_sync_with_rdonly_ack` and `cross_cell_with_rdonly_ack`. +These policies are similar to `semi_sync` and `cross_cell` respectively, the only difference is that `rdonly` tablets can also send semi-sync ACKs. ------------ The entire changelog for this release can be found [here](https://github.com/vitessio/vitess/blob/main/changelog/18.0/18.0.0/changelog.md). -The release includes 361 merged Pull Requests. +The release includes 420 merged Pull Requests. -Thanks to all our contributors: @GuptaManan100, @Juneezee, @adsr, @ajm188, @app/dependabot, @app/github-actions, @app/vitess-bot, @arvind-murty, @austenLacy, @brendar, @davidpiegza, @dbussink, @deepthi, @derekperkins, @ejortegau, @frouioui, @harshit-gangal, @hkdsun, @jfg956, @jspawar, @mattlord, @maxenglander, @mdlayher, @notfelineit, @olyazavr, @pbibra, @peterlyoo, @rafer, @rohit-nayak-ps, @shlomi-noach, @systay, @timvaillancourt, @vmg, @yields +Thanks to all our contributors: @GuptaManan100, @Juneezee, @L3o-pold, @adsr, @ajm188, @app/dependabot, @app/github-actions, @app/vitess-bot, @arvind-murty, @austenLacy, @brendar, @davidpiegza, @dbussink, @deepthi, @derekperkins, @ejortegau, @frouioui, @harshit-gangal, @hkdsun, @jfg956, @jspawar, @mattlord, @maxenglander, @mdlayher, @notfelineit, @olyazavr, @pbibra, @peterlyoo, @rafer, @rohit-nayak-ps, @shlomi-noach, @systay, @timvaillancourt, @vmg, @yields diff --git a/docker/release.sh b/docker/release.sh index 938cf91f1a4..aacbf9cfe51 100755 --- a/docker/release.sh +++ b/docker/release.sh @@ -1,7 +1,7 @@ #!/bin/bash set -ex -vt_base_version='v18.0.0-SNAPSHOT' +vt_base_version='v18.0.0' debian_versions='bullseye bookworm' default_debian_version='bookworm' diff --git a/examples/compose/docker-compose.beginners.yml b/examples/compose/docker-compose.beginners.yml index 8123257cfdc..7f35ddbb034 100644 --- a/examples/compose/docker-compose.beginners.yml +++ b/examples/compose/docker-compose.beginners.yml @@ -58,7 +58,7 @@ services: - "3306" vtctld: - image: vitess/lite:v18.0.0-rc1 + image: vitess/lite:v18.0.0 ports: - "15000:$WEB_PORT" - "$GRPC_PORT" @@ -81,7 +81,7 @@ services: condition: service_healthy vtgate: - image: vitess/lite:v18.0.0-rc1 + image: vitess/lite:v18.0.0 ports: - "15099:$WEB_PORT" - "$GRPC_PORT" @@ -111,7 +111,7 @@ services: condition: service_healthy schemaload: - image: vitess/lite:v18.0.0-rc1 + image: vitess/lite:v18.0.0 command: - sh - -c @@ -144,12 +144,12 @@ services: environment: - KEYSPACES=$KEYSPACE - GRPC_PORT=15999 - image: vitess/lite:v18.0.0-rc1 + image: vitess/lite:v18.0.0 volumes: - .:/script vttablet100: - image: vitess/lite:v18.0.0-rc1 + image: vitess/lite:v18.0.0 ports: - "15100:$WEB_PORT" - "$GRPC_PORT" @@ -181,7 +181,7 @@ services: retries: 15 vttablet101: - image: vitess/lite:v18.0.0-rc1 + image: vitess/lite:v18.0.0 ports: - "15101:$WEB_PORT" - "$GRPC_PORT" @@ -213,7 +213,7 @@ services: retries: 15 vttablet102: - image: vitess/lite:v18.0.0-rc1 + image: vitess/lite:v18.0.0 ports: - "15102:$WEB_PORT" - "$GRPC_PORT" @@ -245,7 +245,7 @@ services: retries: 15 vttablet103: - image: vitess/lite:v18.0.0-rc1 + image: vitess/lite:v18.0.0 ports: - "15103:$WEB_PORT" - "$GRPC_PORT" @@ -277,7 +277,7 @@ services: retries: 15 vtorc: - image: vitess/lite:v18.0.0-rc1 + image: vitess/lite:v18.0.0 command: ["sh", "-c", "/script/vtorc-up.sh"] depends_on: - vtctld @@ -307,7 +307,7 @@ services: retries: 15 vreplication: - image: vitess/lite:v18.0.0-rc1 + image: vitess/lite:v18.0.0 volumes: - ".:/script" environment: diff --git a/examples/compose/docker-compose.yml b/examples/compose/docker-compose.yml index d9ecd9b38f1..aa71b1ba82c 100644 --- a/examples/compose/docker-compose.yml +++ b/examples/compose/docker-compose.yml @@ -75,7 +75,7 @@ services: - SCHEMA_FILES=lookup_keyspace_schema_file.sql - POST_LOAD_FILE= - EXTERNAL_DB=0 - image: vitess/lite:v18.0.0-rc1 + image: vitess/lite:v18.0.0 volumes: - .:/script schemaload_test_keyspace: @@ -101,7 +101,7 @@ services: - SCHEMA_FILES=test_keyspace_schema_file.sql - POST_LOAD_FILE= - EXTERNAL_DB=0 - image: vitess/lite:v18.0.0-rc1 + image: vitess/lite:v18.0.0 volumes: - .:/script set_keyspace_durability_policy: @@ -115,7 +115,7 @@ services: environment: - KEYSPACES=test_keyspace lookup_keyspace - GRPC_PORT=15999 - image: vitess/lite:v18.0.0-rc1 + image: vitess/lite:v18.0.0 volumes: - .:/script vreplication: @@ -129,7 +129,7 @@ services: - TOPOLOGY_FLAGS=--topo_implementation consul --topo_global_server_address consul1:8500 --topo_global_root vitess/global - EXTERNAL_DB=0 - image: vitess/lite:v18.0.0-rc1 + image: vitess/lite:v18.0.0 volumes: - .:/script vtctld: @@ -143,7 +143,7 @@ services: depends_on: external_db_host: condition: service_healthy - image: vitess/lite:v18.0.0-rc1 + image: vitess/lite:v18.0.0 ports: - 15000:8080 - "15999" @@ -160,7 +160,7 @@ services: --normalize_queries=true ' depends_on: - vtctld - image: vitess/lite:v18.0.0-rc1 + image: vitess/lite:v18.0.0 ports: - 15099:8080 - "15999" @@ -182,7 +182,7 @@ services: - EXTERNAL_DB=0 - DB_USER= - DB_PASS= - image: vitess/lite:v18.0.0-rc1 + image: vitess/lite:v18.0.0 ports: - 13000:8080 volumes: @@ -217,7 +217,7 @@ services: - CMD-SHELL - curl -s --fail --show-error localhost:8080/debug/health timeout: 10s - image: vitess/lite:v18.0.0-rc1 + image: vitess/lite:v18.0.0 ports: - 15101:8080 - "15999" @@ -254,7 +254,7 @@ services: - CMD-SHELL - curl -s --fail --show-error localhost:8080/debug/health timeout: 10s - image: vitess/lite:v18.0.0-rc1 + image: vitess/lite:v18.0.0 ports: - 15102:8080 - "15999" @@ -291,7 +291,7 @@ services: - CMD-SHELL - curl -s --fail --show-error localhost:8080/debug/health timeout: 10s - image: vitess/lite:v18.0.0-rc1 + image: vitess/lite:v18.0.0 ports: - 15201:8080 - "15999" @@ -328,7 +328,7 @@ services: - CMD-SHELL - curl -s --fail --show-error localhost:8080/debug/health timeout: 10s - image: vitess/lite:v18.0.0-rc1 + image: vitess/lite:v18.0.0 ports: - 15202:8080 - "15999" @@ -365,7 +365,7 @@ services: - CMD-SHELL - curl -s --fail --show-error localhost:8080/debug/health timeout: 10s - image: vitess/lite:v18.0.0-rc1 + image: vitess/lite:v18.0.0 ports: - 15301:8080 - "15999" @@ -402,7 +402,7 @@ services: - CMD-SHELL - curl -s --fail --show-error localhost:8080/debug/health timeout: 10s - image: vitess/lite:v18.0.0-rc1 + image: vitess/lite:v18.0.0 ports: - 15302:8080 - "15999" diff --git a/examples/compose/vtcompose/docker-compose.test.yml b/examples/compose/vtcompose/docker-compose.test.yml index 77a601996a1..ad2995b3a6c 100644 --- a/examples/compose/vtcompose/docker-compose.test.yml +++ b/examples/compose/vtcompose/docker-compose.test.yml @@ -79,7 +79,7 @@ services: - SCHEMA_FILES=test_keyspace_schema_file.sql - POST_LOAD_FILE= - EXTERNAL_DB=0 - image: vitess/lite:v18.0.0-rc1 + image: vitess/lite:v18.0.0 volumes: - .:/script schemaload_unsharded_keyspace: @@ -103,7 +103,7 @@ services: - SCHEMA_FILES=unsharded_keyspace_schema_file.sql - POST_LOAD_FILE= - EXTERNAL_DB=0 - image: vitess/lite:v18.0.0-rc1 + image: vitess/lite:v18.0.0 volumes: - .:/script set_keyspace_durability_policy_test_keyspace: @@ -117,7 +117,7 @@ services: environment: - GRPC_PORT=15999 - KEYSPACES=test_keyspace - image: vitess/lite:v18.0.0-rc1 + image: vitess/lite:v18.0.0 volumes: - .:/script set_keyspace_durability_policy_unsharded_keyspace: @@ -130,7 +130,7 @@ services: environment: - GRPC_PORT=15999 - KEYSPACES=unsharded_keyspace - image: vitess/lite:v18.0.0-rc1 + image: vitess/lite:v18.0.0 volumes: - .:/script vreplication: @@ -144,7 +144,7 @@ services: - TOPOLOGY_FLAGS=--topo_implementation consul --topo_global_server_address consul1:8500 --topo_global_root vitess/global - EXTERNAL_DB=0 - image: vitess/lite:v18.0.0-rc1 + image: vitess/lite:v18.0.0 volumes: - .:/script vtctld: @@ -159,7 +159,7 @@ services: depends_on: external_db_host: condition: service_healthy - image: vitess/lite:v18.0.0-rc1 + image: vitess/lite:v18.0.0 ports: - 15000:8080 - "15999" @@ -176,7 +176,7 @@ services: ''grpc-vtgateservice'' --normalize_queries=true ' depends_on: - vtctld - image: vitess/lite:v18.0.0-rc1 + image: vitess/lite:v18.0.0 ports: - 15099:8080 - "15999" @@ -199,7 +199,7 @@ services: - EXTERNAL_DB=0 - DB_USER= - DB_PASS= - image: vitess/lite:v18.0.0-rc1 + image: vitess/lite:v18.0.0 ports: - 13000:8080 volumes: @@ -234,7 +234,7 @@ services: - CMD-SHELL - curl -s --fail --show-error localhost:8080/debug/health timeout: 10s - image: vitess/lite:v18.0.0-rc1 + image: vitess/lite:v18.0.0 ports: - 15101:8080 - "15999" @@ -271,7 +271,7 @@ services: - CMD-SHELL - curl -s --fail --show-error localhost:8080/debug/health timeout: 10s - image: vitess/lite:v18.0.0-rc1 + image: vitess/lite:v18.0.0 ports: - 15102:8080 - "15999" @@ -308,7 +308,7 @@ services: - CMD-SHELL - curl -s --fail --show-error localhost:8080/debug/health timeout: 10s - image: vitess/lite:v18.0.0-rc1 + image: vitess/lite:v18.0.0 ports: - 15201:8080 - "15999" @@ -345,7 +345,7 @@ services: - CMD-SHELL - curl -s --fail --show-error localhost:8080/debug/health timeout: 10s - image: vitess/lite:v18.0.0-rc1 + image: vitess/lite:v18.0.0 ports: - 15202:8080 - "15999" @@ -382,7 +382,7 @@ services: - CMD-SHELL - curl -s --fail --show-error localhost:8080/debug/health timeout: 10s - image: vitess/lite:v18.0.0-rc1 + image: vitess/lite:v18.0.0 ports: - 15301:8080 - "15999" diff --git a/examples/compose/vtcompose/vtcompose.go b/examples/compose/vtcompose/vtcompose.go index 60051f68b61..b054b6a4d2e 100644 --- a/examples/compose/vtcompose/vtcompose.go +++ b/examples/compose/vtcompose/vtcompose.go @@ -533,7 +533,7 @@ func generateDefaultShard(tabAlias int, shard string, keyspaceData keyspaceInfo, - op: add path: /services/init_shard_primary%[2]d value: - image: vitess/lite:v18.0.0-rc1 + image: vitess/lite:v18.0.0 command: ["sh", "-c", "/vt/bin/vtctldclient %[5]s InitShardPrimary --force %[4]s/%[3]s %[6]s-%[2]d "] %[1]s `, dependsOn, aliases[0], shard, keyspaceData.keyspace, opts.topologyFlags, opts.cell) @@ -565,7 +565,7 @@ func generateExternalPrimary( - op: add path: /services/vttablet%[1]d value: - image: vitess/lite:v18.0.0-rc1 + image: vitess/lite:v18.0.0 ports: - "15%[1]d:%[3]d" - "%[4]d" @@ -627,7 +627,7 @@ func generateDefaultTablet(tabAlias int, shard, role, keyspace string, dbInfo ex - op: add path: /services/vttablet%[1]d value: - image: vitess/lite:v18.0.0-rc1 + image: vitess/lite:v18.0.0 ports: - "15%[1]d:%[4]d" - "%[5]d" @@ -665,7 +665,7 @@ func generateVtctld(opts vtOptions) string { - op: add path: /services/vtctld value: - image: vitess/lite:v18.0.0-rc1 + image: vitess/lite:v18.0.0 ports: - "15000:%[1]d" - "%[2]d" @@ -696,7 +696,7 @@ func generateVtgate(opts vtOptions) string { - op: add path: /services/vtgate value: - image: vitess/lite:v18.0.0-rc1 + image: vitess/lite:v18.0.0 ports: - "15099:%[1]d" - "%[2]d" @@ -738,7 +738,7 @@ func generateVTOrc(dbInfo externalDbInfo, keyspaceInfoMap map[string]keyspaceInf - op: add path: /services/vtorc value: - image: vitess/lite:v18.0.0-rc1 + image: vitess/lite:v18.0.0 volumes: - ".:/script" environment: @@ -763,7 +763,7 @@ func generateVreplication(dbInfo externalDbInfo, opts vtOptions) string { - op: add path: /services/vreplication value: - image: vitess/lite:v18.0.0-rc1 + image: vitess/lite:v18.0.0 volumes: - ".:/script" environment: @@ -791,7 +791,7 @@ func generateSetKeyspaceDurabilityPolicy( - op: add path: /services/set_keyspace_durability_policy_%[3]s value: - image: vitess/lite:v18.0.0-rc1 + image: vitess/lite:v18.0.0 volumes: - ".:/script" environment: @@ -828,7 +828,7 @@ func generateSchemaload( - op: add path: /services/schemaload_%[7]s value: - image: vitess/lite:v18.0.0-rc1 + image: vitess/lite:v18.0.0 volumes: - ".:/script" environment: diff --git a/examples/operator/101_initial_cluster.yaml b/examples/operator/101_initial_cluster.yaml index 970ce3ce5e7..d122c27ff05 100644 --- a/examples/operator/101_initial_cluster.yaml +++ b/examples/operator/101_initial_cluster.yaml @@ -8,14 +8,14 @@ metadata: name: example spec: images: - vtctld: vitess/lite:v18.0.0-rc1 - vtadmin: vitess/vtadmin:v18.0.0-rc1 - vtgate: vitess/lite:v18.0.0-rc1 - vttablet: vitess/lite:v18.0.0-rc1 - vtbackup: vitess/lite:v18.0.0-rc1 - vtorc: vitess/lite:v18.0.0-rc1 + vtctld: vitess/lite:v18.0.0 + vtadmin: vitess/vtadmin:v18.0.0 + vtgate: vitess/lite:v18.0.0 + vttablet: vitess/lite:v18.0.0 + vtbackup: vitess/lite:v18.0.0 + vtorc: vitess/lite:v18.0.0 mysqld: - mysql80Compatible: vitess/lite:v18.0.0-rc1 + mysql80Compatible: vitess/lite:v18.0.0 mysqldExporter: prom/mysqld-exporter:v0.11.0 cells: - name: zone1 diff --git a/examples/operator/201_customer_tablets.yaml b/examples/operator/201_customer_tablets.yaml index f763ba9c063..b53aa44c292 100644 --- a/examples/operator/201_customer_tablets.yaml +++ b/examples/operator/201_customer_tablets.yaml @@ -4,14 +4,14 @@ metadata: name: example spec: images: - vtctld: vitess/lite:v18.0.0-rc1 - vtadmin: vitess/vtadmin:v18.0.0-rc1 - vtgate: vitess/lite:v18.0.0-rc1 - vttablet: vitess/lite:v18.0.0-rc1 - vtbackup: vitess/lite:v18.0.0-rc1 - vtorc: vitess/lite:v18.0.0-rc1 + vtctld: vitess/lite:v18.0.0 + vtadmin: vitess/vtadmin:v18.0.0 + vtgate: vitess/lite:v18.0.0 + vttablet: vitess/lite:v18.0.0 + vtbackup: vitess/lite:v18.0.0 + vtorc: vitess/lite:v18.0.0 mysqld: - mysql80Compatible: vitess/lite:v18.0.0-rc1 + mysql80Compatible: vitess/lite:v18.0.0 mysqldExporter: prom/mysqld-exporter:v0.11.0 cells: - name: zone1 diff --git a/examples/operator/302_new_shards.yaml b/examples/operator/302_new_shards.yaml index 3f8d80bba75..eefba85cc43 100644 --- a/examples/operator/302_new_shards.yaml +++ b/examples/operator/302_new_shards.yaml @@ -4,14 +4,14 @@ metadata: name: example spec: images: - vtctld: vitess/lite:v18.0.0-rc1 - vtadmin: vitess/vtadmin:v18.0.0-rc1 - vtgate: vitess/lite:v18.0.0-rc1 - vttablet: vitess/lite:v18.0.0-rc1 - vtbackup: vitess/lite:v18.0.0-rc1 - vtorc: vitess/lite:v18.0.0-rc1 + vtctld: vitess/lite:v18.0.0 + vtadmin: vitess/vtadmin:v18.0.0 + vtgate: vitess/lite:v18.0.0 + vttablet: vitess/lite:v18.0.0 + vtbackup: vitess/lite:v18.0.0 + vtorc: vitess/lite:v18.0.0 mysqld: - mysql80Compatible: vitess/lite:v18.0.0-rc1 + mysql80Compatible: vitess/lite:v18.0.0 mysqldExporter: prom/mysqld-exporter:v0.11.0 cells: - name: zone1 diff --git a/examples/operator/306_down_shard_0.yaml b/examples/operator/306_down_shard_0.yaml index b2c97a7ffc7..090752fc885 100644 --- a/examples/operator/306_down_shard_0.yaml +++ b/examples/operator/306_down_shard_0.yaml @@ -4,14 +4,14 @@ metadata: name: example spec: images: - vtctld: vitess/lite:v18.0.0-rc1 - vtadmin: vitess/vtadmin:v18.0.0-rc1 - vtgate: vitess/lite:v18.0.0-rc1 - vttablet: vitess/lite:v18.0.0-rc1 - vtbackup: vitess/lite:v18.0.0-rc1 - vtorc: vitess/lite:v18.0.0-rc1 + vtctld: vitess/lite:v18.0.0 + vtadmin: vitess/vtadmin:v18.0.0 + vtgate: vitess/lite:v18.0.0 + vttablet: vitess/lite:v18.0.0 + vtbackup: vitess/lite:v18.0.0 + vtorc: vitess/lite:v18.0.0 mysqld: - mysql80Compatible: vitess/lite:v18.0.0-rc1 + mysql80Compatible: vitess/lite:v18.0.0 mysqldExporter: prom/mysqld-exporter:v0.11.0 cells: - name: zone1 diff --git a/examples/operator/operator.yaml b/examples/operator/operator.yaml index 3b964cadac7..3a2b0e66121 100644 --- a/examples/operator/operator.yaml +++ b/examples/operator/operator.yaml @@ -6145,7 +6145,7 @@ spec: fieldPath: metadata.name - name: OPERATOR_NAME value: vitess-operator - image: planetscale/vitess-operator:v2.11.0-rc1 + image: planetscale/vitess-operator:v2.11.0 name: vitess-operator resources: limits: diff --git a/go/vt/servenv/version.go b/go/vt/servenv/version.go index 18b9d78a9df..13b66b778c1 100644 --- a/go/vt/servenv/version.go +++ b/go/vt/servenv/version.go @@ -19,4 +19,4 @@ package servenv // THIS FILE IS AUTO-GENERATED DURING NEW RELEASES BY ./tools/do_releases.sh // DO NOT EDIT -const versionName = "18.0.0-SNAPSHOT" +const versionName = "18.0.0" diff --git a/java/client/pom.xml b/java/client/pom.xml index 34fa18f0dac..7c765038c23 100644 --- a/java/client/pom.xml +++ b/java/client/pom.xml @@ -5,7 +5,7 @@ io.vitess vitess-parent - 18.0.0-SNAPSHOT + 18.0.0 vitess-client diff --git a/java/example/pom.xml b/java/example/pom.xml index c68f20df0c0..028987e3103 100644 --- a/java/example/pom.xml +++ b/java/example/pom.xml @@ -5,7 +5,7 @@ io.vitess vitess-parent - 18.0.0-SNAPSHOT + 18.0.0 vitess-example diff --git a/java/grpc-client/pom.xml b/java/grpc-client/pom.xml index 0c5199a1a4e..c305a873081 100644 --- a/java/grpc-client/pom.xml +++ b/java/grpc-client/pom.xml @@ -5,7 +5,7 @@ io.vitess vitess-parent - 18.0.0-SNAPSHOT + 18.0.0 vitess-grpc-client diff --git a/java/jdbc/pom.xml b/java/jdbc/pom.xml index ece045e6c75..45b59c8abf6 100644 --- a/java/jdbc/pom.xml +++ b/java/jdbc/pom.xml @@ -5,7 +5,7 @@ io.vitess vitess-parent - 18.0.0-SNAPSHOT + 18.0.0 vitess-jdbc diff --git a/java/pom.xml b/java/pom.xml index 26ff57c8ed5..f174c083f78 100644 --- a/java/pom.xml +++ b/java/pom.xml @@ -11,7 +11,7 @@ io.vitess vitess-parent - 18.0.0-SNAPSHOT + 18.0.0 pom Vitess Java Client libraries [Parent]