diff --git a/.github/workflows/code_freeze.yml b/.github/workflows/code_freeze.yml index b6dde0a0220..381793fa84d 100644 --- a/.github/workflows/code_freeze.yml +++ b/.github/workflows/code_freeze.yml @@ -9,4 +9,4 @@ jobs: steps: - name: Fail if Code Freeze is enabled run: | - exit 1 + exit 0 diff --git a/doc/releasenotes/15_0_0_changelog.md b/doc/releasenotes/15_0_0_changelog.md index 6b064865219..35c8848c396 100644 --- a/doc/releasenotes/15_0_0_changelog.md +++ b/doc/releasenotes/15_0_0_changelog.md @@ -1,46 +1,570 @@ -# Changelog of Vitess v15.0.0 +# Changelog of Vitess v15.0.0-rc1 +### Announcement +#### Query Serving + * Remove tablet query plan field caching [#10489](https://github.com/vitessio/vitess/pull/10489) + * delete unused flags and handling of deprecated protobuf fields [#10612](https://github.com/vitessio/vitess/pull/10612) ### Bug fixes +#### Backup and Restore + * Remove built-in decompression flag [#10670](https://github.com/vitessio/vitess/pull/10670) + * Fixing logic for backup progress [#10794](https://github.com/vitessio/vitess/pull/10794) + * Backups: Support InnoDB Redo Log Location With 8.0.30+ [#10847](https://github.com/vitessio/vitess/pull/10847) + * fix: objname was not logged correctly [#11038](https://github.com/vitessio/vitess/pull/11038) +#### Build/CI + * Fixed the release notes CI check helper [#10574](https://github.com/vitessio/vitess/pull/10574) + * Remove potential double close of channel [#10929](https://github.com/vitessio/vitess/pull/10929) + * Add explicit close state to memory topo connection [#11110](https://github.com/vitessio/vitess/pull/11110) + * Use Ubuntu 20 for vtgate and tabletmanager workflows [#11152](https://github.com/vitessio/vitess/pull/11152) + * Fix vtcompose and docker-compose examples [#11188](https://github.com/vitessio/vitess/pull/11188) +#### CLI + * [vtadmin] Update how tracing flags are registered [#11063](https://github.com/vitessio/vitess/pull/11063) + * CLI Pflag migration work: Fix regression caused by pflag-vreplication PR [#11127](https://github.com/vitessio/vitess/pull/11127) +#### Cluster management + * Fix Online DDL Revert flakiness [#10675](https://github.com/vitessio/vitess/pull/10675) + * Fix pprof toggling via SIGUSR1 and waitSig flag [#10875](https://github.com/vitessio/vitess/pull/10875) + * BugFix: Vttablet semi-sync settings on startup [#10881](https://github.com/vitessio/vitess/pull/10881) + * BugFix: vtctld panic with `enable_realtime_stats` [#10902](https://github.com/vitessio/vitess/pull/10902) + * Fix races in memory topo and watcher [#11065](https://github.com/vitessio/vitess/pull/11065) + * [vtctld] Fix nil-ness in healthcheck [#11067](https://github.com/vitessio/vitess/pull/11067) + * Install panic handler for all grpcvtctldserver endpoints [#11184](https://github.com/vitessio/vitess/pull/11184) + * Fix tablet debug/env template variable name [#11348](https://github.com/vitessio/vitess/pull/11348) +#### Evalengine + * evalengine: support mismatched numerical types [#10997](https://github.com/vitessio/vitess/pull/10997) +#### Examples + * Fix local example scripts [#11319](https://github.com/vitessio/vitess/pull/11319) +#### General + * RateLimiter: exit goroutine at Stop() [#10755](https://github.com/vitessio/vitess/pull/10755) + * Fix frouioui in the MAINTAINERS.md file [#11343](https://github.com/vitessio/vitess/pull/11343) #### Query Serving - * fix: scalar aggregation engine primitive #10465 - * fix: aggregation empty row on join with grouping and aggregations #10480 + * fix: scalar aggregation engine primitive [#10465](https://github.com/vitessio/vitess/pull/10465) + * fix: aggregation empty row on join with grouping and aggregations [#10480](https://github.com/vitessio/vitess/pull/10480) + * Fix parsing of CAST() statements [#10512](https://github.com/vitessio/vitess/pull/10512) + * Add back unary single column expression check [#10514](https://github.com/vitessio/vitess/pull/10514) + * fix: handle planner_version and planner-version correctly [#10534](https://github.com/vitessio/vitess/pull/10534) + * Fix casing of vitess migration syntax and comments printing [#10535](https://github.com/vitessio/vitess/pull/10535) + * Fix vtgate query log table name extraction for DML statements [#10536](https://github.com/vitessio/vitess/pull/10536) + * VReplication: more unrecoverable error codes [#10559](https://github.com/vitessio/vitess/pull/10559) + * Add support for INSERT() string function [#10593](https://github.com/vitessio/vitess/pull/10593) + * Ignoring empty queries with MySQL dashed comments [#10634](https://github.com/vitessio/vitess/pull/10634) + * Online DDL: deal with autogenerated CHECK constraint names [#10638](https://github.com/vitessio/vitess/pull/10638) + * Inject shard name in commit-phase multi-shard errors [#10669](https://github.com/vitessio/vitess/pull/10669) + * Parameterize BIT types and fixes in HEX types [#10689](https://github.com/vitessio/vitess/pull/10689) + * BugFix: Keep predicates in join when pushing new ones [#10715](https://github.com/vitessio/vitess/pull/10715) + * BugFix: Gen4CompareV3 planner reverted to Gen4 on Update queries [#10722](https://github.com/vitessio/vitess/pull/10722) + * Fix gen4 planner handling of `<=>` operator with `NULL` operand [#10754](https://github.com/vitessio/vitess/pull/10754) + * BugFix: `--queryserver-config-terse-errors` shouldn't redact `Row count exceeded` error and shouldn't affect ignoring `Duplicate entry` error in lookup vindexes [#10762](https://github.com/vitessio/vitess/pull/10762) + * Wrong length creating the buffer needed to ask for full auth [#10767](https://github.com/vitessio/vitess/pull/10767) + * fix: evalengine - check compare numeric of same type [#10793](https://github.com/vitessio/vitess/pull/10793) + * Fix client session state tracking logic [#10871](https://github.com/vitessio/vitess/pull/10871) + * feat: don't use the vtgatehandler unless it is known to have been initialized [#10879](https://github.com/vitessio/vitess/pull/10879) + * schemadiff: ordering and applying a RenameColumn [#10912](https://github.com/vitessio/vitess/pull/10912) + * Fix parsing of `PARTITION BY KEY` [#10958](https://github.com/vitessio/vitess/pull/10958) + * Online DDL, CancelMigration: distinguish user-issued vs. internally-issued cancellation [#11011](https://github.com/vitessio/vitess/pull/11011) + * Use the correct error type for dependencies [#11018](https://github.com/vitessio/vitess/pull/11018) + * Fix AST copying of basic types [#11046](https://github.com/vitessio/vitess/pull/11046) + * fix: return when instructions are nil in checkThatPlanIsValid [#11070](https://github.com/vitessio/vitess/pull/11070) + * Fix handling zero byte string for session state changed [#11071](https://github.com/vitessio/vitess/pull/11071) + * Fix logging formatting mistake [#11086](https://github.com/vitessio/vitess/pull/11086) + * On demand heartbeats: fix race condition closing the writer [#11157](https://github.com/vitessio/vitess/pull/11157) + * Fix problematic watch cancellation due to context cancellation [#11170](https://github.com/vitessio/vitess/pull/11170) + * Fix OK packet parsing logic [#11176](https://github.com/vitessio/vitess/pull/11176) + * Fix: Insert using select streaming bug [#11248](https://github.com/vitessio/vitess/pull/11248) + * bugfix: Truncate columns even when sorting on vtgate [#11265](https://github.com/vitessio/vitess/pull/11265) + * Fix conditions after `<=>` operator on left joined table columns being ignored for routing purposes. [#11310](https://github.com/vitessio/vitess/pull/11310) + * Fix complex predicates being pulled into `ON` conditions for `LEFT JOIN` statements. [#11317](https://github.com/vitessio/vitess/pull/11317) + * Handle cache value type correctly [#11369](https://github.com/vitessio/vitess/pull/11369) + * Push down derived tables under route when possible [#11379](https://github.com/vitessio/vitess/pull/11379) + * Fix: DML engine multiequal support [#11395](https://github.com/vitessio/vitess/pull/11395) + * Allow parenthesis around derived tables [#11407](https://github.com/vitessio/vitess/pull/11407) + * fix: do not rewrite single columns in derived tables [#11419](https://github.com/vitessio/vitess/pull/11419) +#### TabletManager + * Fix schema engine close and ticks race [#10386](https://github.com/vitessio/vitess/pull/10386) +#### VReplication + * VStream API: Fix vtgate memory leaks when context gets cancelled [#10571](https://github.com/vitessio/vitess/pull/10571) + * VReplication: retry in WaitForPos when read of pos is killed off by deadlock detector [#10621](https://github.com/vitessio/vitess/pull/10621) + * MoveTables: use source timezone to adjust datetime columns on update statements [#10667](https://github.com/vitessio/vitess/pull/10667) + * VDiff2: ignore errors while attempting to purge vdiff tables [#10725](https://github.com/vitessio/vitess/pull/10725) + * Add drop_foreign_keys to v2 MoveTables command [#10773](https://github.com/vitessio/vitess/pull/10773) + * Ensure VDiff Engine is open in RPC entrypoint [#10969](https://github.com/vitessio/vitess/pull/10969) + * VReplication: vreplication_max_time_to_retry_on_error default to zero, no limit [#11031](https://github.com/vitessio/vitess/pull/11031) + * VReplication: Handle DECIMAL 0 Value Edge Case [#11212](https://github.com/vitessio/vitess/pull/11212) + * Don't run VDiff on frozen workflows [#11234](https://github.com/vitessio/vitess/pull/11234) + * VStreamer: fix deadlock when there are a lot of vschema changes at the same time as binlog events [#11325](https://github.com/vitessio/vitess/pull/11325) + * VDiff: Make restarting VReplication workflow more robust [#11413](https://github.com/vitessio/vitess/pull/11413) +#### VTCombo + * vtcombo mutates options, make a copy to avoid this [#11223](https://github.com/vitessio/vitess/pull/11223) +#### VTorc + * Fix panic in VTOrc [#10519](https://github.com/vitessio/vitess/pull/10519) + * Fix VTOrc Discovery to also retry discovering tablets which aren't present in database_instance table [#10662](https://github.com/vitessio/vitess/pull/10662) + * BugFix: VTOrc should repair replication if either replication thread is stopped [#10786](https://github.com/vitessio/vitess/pull/10786) +#### vttestserver + * Fix flags in vttestserver run script used in the docker image [#11354](https://github.com/vitessio/vitess/pull/11354) ### CI/Build +#### Backup and Restore + * Revert: Revert temporary workflow changes made in #10847 [#10914](https://github.com/vitessio/vitess/pull/10914) +#### Build/CI + * tablegc test to utilize new capability logic [#10463](https://github.com/vitessio/vitess/pull/10463) + * docs: add query serving features to the release notes [#10475](https://github.com/vitessio/vitess/pull/10475) + * Modified the Pull Request review checklist to check for descriptive Pull Request titles [#10485](https://github.com/vitessio/vitess/pull/10485) + * Take into account `github.ref` when doing upgrade-downgrade tests [#10504](https://github.com/vitessio/vitess/pull/10504) + * add vtadmin web files to all lite images [#10581](https://github.com/vitessio/vitess/pull/10581) + * Removed the check label in upgrade downgrade tests [#10583](https://github.com/vitessio/vitess/pull/10583) + * Add stale PRs action [#10603](https://github.com/vitessio/vitess/pull/10603) + * Allow manual workflow_dispatch for close_stale_pull_requests [#10610](https://github.com/vitessio/vitess/pull/10610) + * Enable stale PR closer [#10617](https://github.com/vitessio/vitess/pull/10617) + * fix: build [#10647](https://github.com/vitessio/vitess/pull/10647) + * Remove the review checklist workflow [#10656](https://github.com/vitessio/vitess/pull/10656) + * Add MySQL 8 Support to Backup Tests [#10691](https://github.com/vitessio/vitess/pull/10691) + * Remove MariaDB 10.2 Unit Test in v15 [#10700](https://github.com/vitessio/vitess/pull/10700) + * Auto Detect MySQL Version and Use in vtgate mysql_server_version Flag [#10701](https://github.com/vitessio/vitess/pull/10701) + * Reduce Flakiness of ERS/PRS e2e Tests Using Retries With a Timeout [#10720](https://github.com/vitessio/vitess/pull/10720) + * Flakes: Increase timeouts for upgrade_downgrade workflows [#10735](https://github.com/vitessio/vitess/pull/10735) + * fix: use go-unit-report fork version in ci workflow [#10757](https://github.com/vitessio/vitess/pull/10757) + * Add the linter for exporting a loop variable through a pointer reference [#10763](https://github.com/vitessio/vitess/pull/10763) + * Be explicit about capturing the pointer [#10765](https://github.com/vitessio/vitess/pull/10765) + * looking into onlineddl_vrepl_stress_suite flakiness in CI [#10779](https://github.com/vitessio/vitess/pull/10779) + * Add semgrep CI workflow [#10826](https://github.com/vitessio/vitess/pull/10826) + * onlineddl_vrepl flakiness: further work [#10876](https://github.com/vitessio/vitess/pull/10876) + * Revert temporary workflow changes made in #10847 [#10896](https://github.com/vitessio/vitess/pull/10896) + * Fix main in CI [#10953](https://github.com/vitessio/vitess/pull/10953) + * Avoid race condition in memory topo watch shutdown [#10954](https://github.com/vitessio/vitess/pull/10954) + * Remove accidentally added fmt.Printf from debugging [#10967](https://github.com/vitessio/vitess/pull/10967) + * Add more robust go version handling [#11001](https://github.com/vitessio/vitess/pull/11001) + * Run latest gofmt on everything & address linter warnings [#11008](https://github.com/vitessio/vitess/pull/11008) + * Fix mariadb103 ci [#11015](https://github.com/vitessio/vitess/pull/11015) + * Online DDL vrepl suite: fix auto_increment tests in 8.0 [#11019](https://github.com/vitessio/vitess/pull/11019) + * CI: change upgrade/downgrade tests to use vitessio fork of go-junit-report [#11023](https://github.com/vitessio/vitess/pull/11023) + * Add workflow file to the filter rules [#11032](https://github.com/vitessio/vitess/pull/11032) + * Add upgrade-downgrade tests for next releases [#11033](https://github.com/vitessio/vitess/pull/11033) + * fix missing vtadmin binary in docker image [#11076](https://github.com/vitessio/vitess/pull/11076) + * Refactor vtorc tests to run as a single test with sub-tests [#11108](https://github.com/vitessio/vitess/pull/11108) + * Upgrade to Ubuntu 20.04 for endtoend tests [#11113](https://github.com/vitessio/vitess/pull/11113) + * Move tabletmanager CI jobs to 20.04 [#11116](https://github.com/vitessio/vitess/pull/11116) + * Upgrade vtgate CI jobs to 20.04 [#11118](https://github.com/vitessio/vitess/pull/11118) + * Upgrade CI for unit tests to Ubuntu 20.04 [#11119](https://github.com/vitessio/vitess/pull/11119) + * Move towards MySQL 8.0 as the default template generation [#11153](https://github.com/vitessio/vitess/pull/11153) + * Add VTOrc and VTAdmin to Region example [#11172](https://github.com/vitessio/vitess/pull/11172) + * Add a CodeQL workflow to check vulnerabilities in the codebase [#11207](https://github.com/vitessio/vitess/pull/11207) + * Fix build errors [#11209](https://github.com/vitessio/vitess/pull/11209) + * Adding tablet startup check [#11251](https://github.com/vitessio/vitess/pull/11251) + * Move vtorc to self-hosted runner [#11255](https://github.com/vitessio/vitess/pull/11255) + * Move 12 and 18 back to github runners [#11273](https://github.com/vitessio/vitess/pull/11273) + * Flakes: Fix Backup Transform Test Flakiness [#11352](https://github.com/vitessio/vitess/pull/11352) + * Move vtorc-8.0 to self-hosted runner [#11384](https://github.com/vitessio/vitess/pull/11384) +#### Cluster management + * Fix examples/compose/docker-compose.yml to run healthy vttablets [#10597](https://github.com/vitessio/vitess/pull/10597) + * Include more tests in upgrade tests [#10665](https://github.com/vitessio/vitess/pull/10665) + * Fixing flakiness in TestCrossCellDurability and TestHealthCheckCacheWithTabletChurn [#10961](https://github.com/vitessio/vitess/pull/10961) + * FlakinessFix: Reparent tests by removing `restore_from_backup` [#11064](https://github.com/vitessio/vitess/pull/11064) + * Augment local example to also run VTOrc [#11155](https://github.com/vitessio/vitess/pull/11155) +#### Documentation + * Minor fixes to markdown and test code [#10866](https://github.com/vitessio/vitess/pull/10866) +#### General + * Upgrade to `go1.18.4` [#10705](https://github.com/vitessio/vitess/pull/10705) + * Tweak make targets MacOS M1 xc to Linux arches [#10706](https://github.com/vitessio/vitess/pull/10706) #### Governance - * Update the comment for review checklist with an item for CI workflows #10471 + * Update the comment for review checklist with an item for CI workflows [#10471](https://github.com/vitessio/vitess/pull/10471) +#### Java + * Bump gson from 2.8.5 to 2.8.9 in /java [#10353](https://github.com/vitessio/vitess/pull/10353) +#### Online DDL + * Address additional causes of OnlineDDL test flakiness [#11047](https://github.com/vitessio/vitess/pull/11047) +#### Operator + * Fix VTop Example [#10687](https://github.com/vitessio/vitess/pull/10687) +#### Query Serving + * CI Fix: Collation tests [#10839](https://github.com/vitessio/vitess/pull/10839) + * Add additional tests for EOF packet checks [#11014](https://github.com/vitessio/vitess/pull/11014) +#### VReplication + * vrepl endtoend flakiness fix via schema versioning [#10804](https://github.com/vitessio/vitess/pull/10804) + * Tests: AddShard should use targeted MySQL version [#11006](https://github.com/vitessio/vitess/pull/11006) + * Flakes: Use waits instead of checks in vrepl e2e tests [#11048](https://github.com/vitessio/vitess/pull/11048) + * Flakes: Prevent VDiff2 test failures when operating near the second boundary [#11054](https://github.com/vitessio/vitess/pull/11054) + * Flakes: Eliminate TestVreplicationCopyThrottling Flakes [#11208](https://github.com/vitessio/vitess/pull/11208) + * Flakes: Correct TestVReplicationCopyThrottling Logic [#11224](https://github.com/vitessio/vitess/pull/11224) +#### VTAdmin + * fix building logtail, logrotate and vtadmin docker image in Dockerhub [#10968](https://github.com/vitessio/vitess/pull/10968) +#### VTorc + * Flakiness Fix: Tests for GracefulPrimaryTakeover [#11355](https://github.com/vitessio/vitess/pull/11355) +### Dependabot +#### Examples + * Build(deps): Bump async from 3.2.0 to 3.2.4 in /vitess-mixin/e2e [#10515](https://github.com/vitessio/vitess/pull/10515) +#### Observability + * Bump minimist and cypress in /vitess-mixin/e2e [#11201](https://github.com/vitessio/vitess/pull/11201) +#### VTAdmin + * Bump protobufjs from 6.10.2 to 6.11.3 in /web/vtadmin [#10418](https://github.com/vitessio/vitess/pull/10418) + * Build(deps): bump terser from 5.10.0 to 5.14.2 in /web/vtadmin [#10761](https://github.com/vitessio/vitess/pull/10761) ### Documentation #### CLI - * [vtctldclient] Update CLI docs for usages, flags, and aliases #10502 + * [vtctldclient] Update CLI docs for usages, flags, and aliases [#10502](https://github.com/vitessio/vitess/pull/10502) + * [vtctldclient] Add autodoc tool for generating website docs [#10635](https://github.com/vitessio/vitess/pull/10635) +#### Cluster management + * [main] Add the vtorc discovery bug as a known issue to 14.0 (#10711) [#10724](https://github.com/vitessio/vitess/pull/10724) +#### Documentation + * Throttler stats: amendment [#10572](https://github.com/vitessio/vitess/pull/10572) +#### General + * release notes: add index to v15 summary [#10829](https://github.com/vitessio/vitess/pull/10829) +#### Query Serving + * added vindex interface breaking change to summary notes [#10693](https://github.com/vitessio/vitess/pull/10693) #### VTAdmin - * [vtadmin] Document known issue with node versions 17+ #10483 + * [vtadmin] Document known issue with node versions 17+ [#10483](https://github.com/vitessio/vitess/pull/10483) + * [vtadmin] Add authzdocsgen to generate some website docs [#10513](https://github.com/vitessio/vitess/pull/10513) ### Enhancement +#### Backup and Restore + * expose vtbackup stats at --port /metrics [#11388](https://github.com/vitessio/vitess/pull/11388) #### Build/CI - * Add name to static check workflow #10470 -#### Query Serving - * Refactor aggregation AST structs #10347 - * fix: change planner_version to planner-version everywhere #10453 - * Add support for alter table rename column #10469 - * schemadiff: `ColumnRenameStrategy` in DiffHints #10472 - * Add parsing support for performance schema functions #10478 - * schemadiff: TableRenameStrategy in DiffHints #10479 - * OnlineDDL executor: adding log entries #10482 + * Add name to static check workflow [#10470](https://github.com/vitessio/vitess/pull/10470) + * Make etcd based tests more deterministic and surface errors [#10521](https://github.com/vitessio/vitess/pull/10521) + * Skip CI workflows on `push` for pull requests [#10768](https://github.com/vitessio/vitess/pull/10768) + * Run upgrade/downgrade tests on main [#11022](https://github.com/vitessio/vitess/pull/11022) +#### CLI + * [cmd/*] Switch to pflag for all CLI flag parsing [#10619](https://github.com/vitessio/vitess/pull/10619) + * [go/mysql/*] Move all authserver–related flags off of global flagset [#10752](https://github.com/vitessio/vitess/pull/10752) + * [cli] [mysqlctl] Scope all backupstorage implementation flags to `pflag` and relevant binaries [#10844](https://github.com/vitessio/vitess/pull/10844) + * [cli] [mysqlctl] Scope `backup_storage_implementation` flag to `pflag` [#10852](https://github.com/vitessio/vitess/pull/10852) + * Port vtorc CLI to servenv and pflag [#10911](https://github.com/vitessio/vitess/pull/10911) + * [vtexplain] Switch vtexplain flags to use pflag hooks [#10938](https://github.com/vitessio/vitess/pull/10938) + * [cli] [vtgate] Migrate `vtgate/buffer` flags to `pflag` [#10939](https://github.com/vitessio/vitess/pull/10939) + * [cli] [grpcvtgateconn] Migrate `vtgate/grpcvtgateconn` flags to `pflag` [#10941](https://github.com/vitessio/vitess/pull/10941) + * [cli] [vtgate] Migrate `grpcvtgateservice` flags to `pflag` and scope to appropriate binaries. [#10947](https://github.com/vitessio/vitess/pull/10947) + * [cli] [vtgr] Migrate all `vtgr` flags to `pflag` [#10952](https://github.com/vitessio/vitess/pull/10952) + * [cli] Migrate `vterrors` to `pflag` [#10957](https://github.com/vitessio/vitess/pull/10957) + * [cli] [go/mysql/collations/...] Migrate all flags to `pflag` [#10970](https://github.com/vitessio/vitess/pull/10970) + * [cli] [tabletconn] Migrate `go/vt/vttablet/tabletconn` to `pflag` [#10999](https://github.com/vitessio/vitess/pull/10999) + * [trace] Migrate `go/trace` to use `pflag` for flag definitions [#11028](https://github.com/vitessio/vitess/pull/11028) + * [log] Migrate `go/vt/log` flags to `pflag` [#11036](https://github.com/vitessio/vitess/pull/11036) + * [cli] [logutil] Migrate flags defined in `go/vt/logutil` to `pflag` [#11044](https://github.com/vitessio/vitess/pull/11044) + * [cli] [tabletmanager] Migrate all tabletmanager flags to `pflag` [#11057](https://github.com/vitessio/vitess/pull/11057) + * [tmclient] Migrate flags to pflag [#11066](https://github.com/vitessio/vitess/pull/11066) + * [cli] [tabletserver/vstreamer] Migrate vstreamer's packet size flags to pflags [#11087](https://github.com/vitessio/vitess/pull/11087) + * [cli] [tabletserver/vreplication] Migrate vreplication flags to pflags [#11095](https://github.com/vitessio/vitess/pull/11095) + * [cli] [tabletserver/throttler] Migrate throttler flags to pflags [#11100](https://github.com/vitessio/vitess/pull/11100) + * [cli] [tabletserver/gc] Migrate gc flags to pflags [#11101](https://github.com/vitessio/vitess/pull/11101) + * [cli] [stats] Migrate stats/opentsdb + stats/statsd flags to pflag [#11105](https://github.com/vitessio/vitess/pull/11105) + * [cli] [topo/consultopo] Migrate consul flags to pflags [#11106](https://github.com/vitessio/vitess/pull/11106) + * [cli] [status] Migrate go/vt/status to pflag [#11107](https://github.com/vitessio/vitess/pull/11107) + * [cli] [tabletserver/tabletenv] Migrate tabletenv flags to pflags [#11109](https://github.com/vitessio/vitess/pull/11109) + * [cli] [grpc{tabletconn,tmclient}] Migrate flags to `pflag` [#11111](https://github.com/vitessio/vitess/pull/11111) + * [cli] [grpcclient] Migrate flags to `pflag` [#11115](https://github.com/vitessio/vitess/pull/11115) + * [cli] [grpccommon] Migrate flags to `pflag` [#11122](https://github.com/vitessio/vitess/pull/11122) + * [cli] [tabletserver/streamlog] Migrate streamlog flags to pflags [#11125](https://github.com/vitessio/vitess/pull/11125) + * [cli] Migrate withddl/workflow/healthstreamer flags to pflags [#11126](https://github.com/vitessio/vitess/pull/11126) + * [cli] [servenv] Migrate grpc auth server flags within `servenv` to `pflag` [#11146](https://github.com/vitessio/vitess/pull/11146) + * [cli] [servenv] Migrate flags used by grpc servers to `pflag` [#11165](https://github.com/vitessio/vitess/pull/11165) + * [cli] [servenv] Migrate missed auth flag to pflag [#11166](https://github.com/vitessio/vitess/pull/11166) + * [cli] [servenv] migrate `--service_map` and `pprof` flags to `pflag` [#11179](https://github.com/vitessio/vitess/pull/11179) + * [cli] [servenv] Migrate miscellaneous flags to `pflag` [#11186](https://github.com/vitessio/vitess/pull/11186) + * [cli] [servenv] Migrate `--version` flag to pflag, and also add to `vtctldclient` and `vtadmin` [#11189](https://github.com/vitessio/vitess/pull/11189) + * [cli] [servenv] Migrate `--mysql_server_version` to pflag [#11190](https://github.com/vitessio/vitess/pull/11190) + * [cli] Migrate flag to pflag for file/sys logger [#11274](https://github.com/vitessio/vitess/pull/11274) + * [cli] Misc pflag binary migrations [#11307](https://github.com/vitessio/vitess/pull/11307) + * [cli] [mysqlctl] Migrate mysqlctl flags to pflags [#11314](https://github.com/vitessio/vitess/pull/11314) + * [cli] [vtgate/vschemaacl] Migrate VschemaACL flags to pflags [#11315](https://github.com/vitessio/vitess/pull/11315) + * [cli] [vtctl] Migrate all vtctl commands to `pflag` [#11320](https://github.com/vitessio/vitess/pull/11320) + * Fix adding flags to vtctlclient and vtctldclient [#11322](https://github.com/vitessio/vitess/pull/11322) + * [cli] [vtctld] Migrate vtctld flags to pflags [#11326](https://github.com/vitessio/vitess/pull/11326) + * [cli] [topo] Migrate topo2topo flags to pflags [#11327](https://github.com/vitessio/vitess/pull/11327) + * [cli] [zkctld] Migrate all zkctld flags to pflag [#11329](https://github.com/vitessio/vitess/pull/11329) + * [cli] [zkctl] Migrate zkctl flags to pflags [#11331](https://github.com/vitessio/vitess/pull/11331) + * [cli] [zk] Migrate zk flags to pflags [#11332](https://github.com/vitessio/vitess/pull/11332) + * [cli] [vtbackup] Migrate all vtbackup flags to pflag [#11334](https://github.com/vitessio/vitess/pull/11334) + * Move dbconfigs to pflag and remove deprecated flags [#11336](https://github.com/vitessio/vitess/pull/11336) + * [cmd/vtctl] Migrate flags to `pflag` [#11339](https://github.com/vitessio/vitess/pull/11339) + * [vtctlclient] Migrate to pflag [#11342](https://github.com/vitessio/vitess/pull/11342) + * [cli] Migrate cmd/vtclient and cmd/vttablet from flag to pflag [#11349](https://github.com/vitessio/vitess/pull/11349) + * [cli] Migrate cmd/vtctld to pflag [#11350](https://github.com/vitessio/vitess/pull/11350) + * [asthelpergen] Migrate to pflags [#11363](https://github.com/vitessio/vitess/pull/11363) + * [vtexplain] Migrate to pflags [#11364](https://github.com/vitessio/vitess/pull/11364) + * Migrates `cmd/vtbench` to pflags [#11366](https://github.com/vitessio/vitess/pull/11366) + * [grpcclient] Migrate `--grpc_auth_static_client_creds` to pflag [#11367](https://github.com/vitessio/vitess/pull/11367) + * [vtctlclient] Migrate `vtctl_client_protocol` to pflag [#11368](https://github.com/vitessio/vitess/pull/11368) + * [flagutil] Cleanup `flag` references [#11381](https://github.com/vitessio/vitess/pull/11381) + * Migrate mysqlctl command and package to pflag [#11391](https://github.com/vitessio/vitess/pull/11391) + * Migrate ACL package to pflag [#11392](https://github.com/vitessio/vitess/pull/11392) + * [cli] [topo] Migrate topo flags to pflags [#11393](https://github.com/vitessio/vitess/pull/11393) + * [cli] [etcd2] Migrate etcd2topo flags to pflags [#11394](https://github.com/vitessio/vitess/pull/11394) + * [tools/rowlog] Migrate to pflag [#11412](https://github.com/vitessio/vitess/pull/11412) + * VTop: Adds a function to get the flag set for a given command [#11424](https://github.com/vitessio/vitess/pull/11424) +#### Cluster management + * Throttler: stats in /debug/vars [#10443](https://github.com/vitessio/vitess/pull/10443) + * Adds RPCs to vttablet that vtorc requires [#10464](https://github.com/vitessio/vitess/pull/10464) + * vtctl GetSchema --table_schema_only [#10552](https://github.com/vitessio/vitess/pull/10552) + * Deprecate enable-semi-sync in favour of RPC parameter [#10695](https://github.com/vitessio/vitess/pull/10695) + * Add GetFullStatus RPC to vtctld [#10905](https://github.com/vitessio/vitess/pull/10905) + * Simply Replication Status proto conversions [#10926](https://github.com/vitessio/vitess/pull/10926) + * Improve PRS to validate new primary can make forward progress [#11308](https://github.com/vitessio/vitess/pull/11308) + * [cli] Topo: Migrate zk2topo and k8stopo to pflag [#11401](https://github.com/vitessio/vitess/pull/11401) +#### General + * [cli] Migrate miscellaneous components from flag to pflag [#11347](https://github.com/vitessio/vitess/pull/11347) + * Move vttlstest to pflag and cobra [#11361](https://github.com/vitessio/vitess/pull/11361) + * Move vtaclcheck command to pflags [#11372](https://github.com/vitessio/vitess/pull/11372) + * Migrate mysqlctld from flag to pflag [#11376](https://github.com/vitessio/vitess/pull/11376) +#### Observability + * Add SessionUUID and transaction mark to vtgate query logs [#10427](https://github.com/vitessio/vitess/pull/10427) +#### Online DDL + * [cli] [tabletserver/onlineddl] Migrate onlineddl flags to pflags [#11099](https://github.com/vitessio/vitess/pull/11099) +#### Query Serving + * Refactor aggregation AST structs [#10347](https://github.com/vitessio/vitess/pull/10347) + * Concurrent vitess migrations [#10410](https://github.com/vitessio/vitess/pull/10410) + * Make vtgate streamlog buffer configurable [#10426](https://github.com/vitessio/vitess/pull/10426) + * fix: change planner_version to planner-version everywhere [#10453](https://github.com/vitessio/vitess/pull/10453) + * enable schema tracking by default [#10455](https://github.com/vitessio/vitess/pull/10455) + * Add support for alter table rename column [#10469](https://github.com/vitessio/vitess/pull/10469) + * schemadiff: `ColumnRenameStrategy` in DiffHints [#10472](https://github.com/vitessio/vitess/pull/10472) + * Add parsing support for performance schema functions [#10478](https://github.com/vitessio/vitess/pull/10478) + * schemadiff: TableRenameStrategy in DiffHints [#10479](https://github.com/vitessio/vitess/pull/10479) + * OnlineDDL executor: adding log entries [#10482](https://github.com/vitessio/vitess/pull/10482) + * Fix: handle all cases for consistent lookup unique on single transaction mode [#10493](https://github.com/vitessio/vitess/pull/10493) + * Cleanup: Remove 'Name' field from aggregate structure [#10507](https://github.com/vitessio/vitess/pull/10507) + * New explain format: VTEXPLAIN [#10556](https://github.com/vitessio/vitess/pull/10556) + * Insert with select using streaming call [#10577](https://github.com/vitessio/vitess/pull/10577) + * Add parsing support for GTID functions [#10579](https://github.com/vitessio/vitess/pull/10579) + * [14.0] Schema tracking acl error logging [#10591](https://github.com/vitessio/vitess/pull/10591) + * Update how table uses are reported [#10598](https://github.com/vitessio/vitess/pull/10598) + * Parse INTERVAL() function [#10599](https://github.com/vitessio/vitess/pull/10599) + * VReplication: throttling info for both source and target; Online DDL propagates said info [#10601](https://github.com/vitessio/vitess/pull/10601) + * Online DDL: increase stale migration timeout [#10614](https://github.com/vitessio/vitess/pull/10614) + * Online DDL: even more logging [#10615](https://github.com/vitessio/vitess/pull/10615) + * Parse LOCATE(), POSITION() and CHAR() functions [#10629](https://github.com/vitessio/vitess/pull/10629) + * Improve handling of MATCH AGAINST [#10633](https://github.com/vitessio/vitess/pull/10633) + * Accept geomcollection as alias for geometrycollection [#10641](https://github.com/vitessio/vitess/pull/10641) + * Fix stats for cache miss and add CachePlan for Vtgate [#10643](https://github.com/vitessio/vitess/pull/10643) + * Support lookup multi shard autocommit [#10652](https://github.com/vitessio/vitess/pull/10652) + * Online DDL: ALTER VITESS_MIGRATION COMPLETE ALL [#10694](https://github.com/vitessio/vitess/pull/10694) + * Improve performance of `information_schema` queries on MySQL 8. [#10703](https://github.com/vitessio/vitess/pull/10703) + * ApplySchema: renew keyspace lock while iterating SQLs [#10727](https://github.com/vitessio/vitess/pull/10727) + * ApplySchema: do not ReloadSchema on ExecuteFetchAsDba [#10739](https://github.com/vitessio/vitess/pull/10739) + * Online DDL: issue a ReloadSchema at the completion of any migration [#10766](https://github.com/vitessio/vitess/pull/10766) + * refactor: make resource pool as interface and pool refresh as common [#10784](https://github.com/vitessio/vitess/pull/10784) + * Online DDL: migration state transitions to 'cancelled' after CANCEL command [#10900](https://github.com/vitessio/vitess/pull/10900) + * add vttablet cli flags for stream consolidator [#10907](https://github.com/vitessio/vitess/pull/10907) + * Online DDL: --pospone-launch, ALTER VITESS_MIGRATION ... LAUNCH [#10915](https://github.com/vitessio/vitess/pull/10915) + * Implement date, time and timestamp literals [#10921](https://github.com/vitessio/vitess/pull/10921) + * add the selected keyspace to LogStats [#10924](https://github.com/vitessio/vitess/pull/10924) + * schemadiff: rich error for unmet view dependencies [#10940](https://github.com/vitessio/vitess/pull/10940) + * Improve route merging for queries that have conditions on different vindexes, but can be merged via join predicates. [#10942](https://github.com/vitessio/vitess/pull/10942) + * decouple olap tx timeout from oltp tx timeout [#10946](https://github.com/vitessio/vitess/pull/10946) + * Merge subqueries that "join" on lookup index columns. [#10966](https://github.com/vitessio/vitess/pull/10966) + * Remove prefill logic from resource pool [#11002](https://github.com/vitessio/vitess/pull/11002) + * schemadiff: FullTextKeyStrategy, handling multiple 'ADD FULLTEXT key' alter options [#11012](https://github.com/vitessio/vitess/pull/11012) + * Online DDL: support multiple 'ADD FULLTEXT KEY' in single ALTER [#11013](https://github.com/vitessio/vitess/pull/11013) + * refactor: group all system setting query into single set statement [#11021](https://github.com/vitessio/vitess/pull/11021) + * System Settings connections pool implementation [#11037](https://github.com/vitessio/vitess/pull/11037) + * Improve schema reload performance by pre-filtering joined rows. [#11043](https://github.com/vitessio/vitess/pull/11043) + * Improve merging for `None` route opcodes. [#11045](https://github.com/vitessio/vitess/pull/11045) + * Add possibility of viewing plans with graphviz [#11050](https://github.com/vitessio/vitess/pull/11050) + * Use available method to compare tables [#11056](https://github.com/vitessio/vitess/pull/11056) + * schemadiff: Fix handling of primary key [#11059](https://github.com/vitessio/vitess/pull/11059) + * No reserved connection on modifying system settings [#11088](https://github.com/vitessio/vitess/pull/11088) + * tabletserver stream replace schema name bindvar [#11090](https://github.com/vitessio/vitess/pull/11090) + * Online DDL: introduce '--max_concurrent_online_ddl' [#11091](https://github.com/vitessio/vitess/pull/11091) + * return resource back to pool on apply settings failure [#11096](https://github.com/vitessio/vitess/pull/11096) + * [Gen4] Merge `SeenPredicates` when creating route operator for join [#11104](https://github.com/vitessio/vitess/pull/11104) + * Two changes to the error sanitizer [#11114](https://github.com/vitessio/vitess/pull/11114) + * Online DDL: more error logging [#11117](https://github.com/vitessio/vitess/pull/11117) + * Add parsing for Offsets similar to bind-variables [#11120](https://github.com/vitessio/vitess/pull/11120) + * Fix typing error in constant for wait_until_sql_thread_after_gtids [#11121](https://github.com/vitessio/vitess/pull/11121) + * Treat `IN` operations on single value tuples as `Equal` operations. [#11123](https://github.com/vitessio/vitess/pull/11123) + * adding setting pool metrics [#11175](https://github.com/vitessio/vitess/pull/11175) + * Adds delete planning to Gen4 [#11177](https://github.com/vitessio/vitess/pull/11177) + * generate settings plan in tablet with query and reset setting query [#11181](https://github.com/vitessio/vitess/pull/11181) + * Add Metric For Time Elapsed In Getting Connection In Pools [#11213](https://github.com/vitessio/vitess/pull/11213) + * Online DDL: more info in a conflicting migration message [#11217](https://github.com/vitessio/vitess/pull/11217) + * addressing review comments from #11088 [#11221](https://github.com/vitessio/vitess/pull/11221) + * Reapply system settings on connection reconnect [#11256](https://github.com/vitessio/vitess/pull/11256) + * Allow non-SSL callers of VTGate RPC APIs to specify group information for the CallerID [#11260](https://github.com/vitessio/vitess/pull/11260) + * Move go/mysql flags to pflags [#11272](https://github.com/vitessio/vitess/pull/11272) + * feat: rewrite column names in HAVING [#11306](https://github.com/vitessio/vitess/pull/11306) + * advisory lock to acquire reserve connection only for get_lock [#11359](https://github.com/vitessio/vitess/pull/11359) + * fix: store the output of the rewrite [#11362](https://github.com/vitessio/vitess/pull/11362) + * gen4 planner: small cleanup [#11403](https://github.com/vitessio/vitess/pull/11403) +#### TabletManager + * Improve topo handling and add additional functionality [#10906](https://github.com/vitessio/vitess/pull/10906) + * Replication Manager Improvements [#11194](https://github.com/vitessio/vitess/pull/11194) +#### VReplication + * Partial Movetables: allow moving a keyspace one shard at a time [#9987](https://github.com/vitessio/vitess/pull/9987) + * Fail VReplication workflows on errors that persist and unrecoverable errors [#10429](https://github.com/vitessio/vitess/pull/10429) + * VDiff2: Support Resuming VDiffs [#10497](https://github.com/vitessio/vitess/pull/10497) + * Implement VDiff2 Delete Action [#10608](https://github.com/vitessio/vitess/pull/10608) + * VDiff2: Auto retry to continue on error [#10639](https://github.com/vitessio/vitess/pull/10639) + * VDiff2: Add --wait flag to Create/Resume actions [#10799](https://github.com/vitessio/vitess/pull/10799) + * VDiff2: Add Stop Action [#10830](https://github.com/vitessio/vitess/pull/10830) + * Add tracking session state changes for transaction start [#11061](https://github.com/vitessio/vitess/pull/11061) + * Port time zone handling from vdiff1 to vdiff2 [#11128](https://github.com/vitessio/vitess/pull/11128) + * VDiff2: Add support for Mount+Migrate [#11204](https://github.com/vitessio/vitess/pull/11204) + * VStreams: Rotate Binary Log For Snapshot Connections [#11344](https://github.com/vitessio/vitess/pull/11344) +#### VTAdmin + * using nginx for vtadmin web [#10770](https://github.com/vitessio/vitess/pull/10770) +#### VTorc + * Replicas should be able to heal if replication is not initialised properly [#10943](https://github.com/vitessio/vitess/pull/10943) + * Getting rid of external logging [#11085](https://github.com/vitessio/vitess/pull/11085) + * Moving math package from external libarary [#11147](https://github.com/vitessio/vitess/pull/11147) + * Prevent martini from logging in VTOrc [#11173](https://github.com/vitessio/vitess/pull/11173) + * Only refresh required tablet's information in VTOrc [#11220](https://github.com/vitessio/vitess/pull/11220) + * Parameterize VTOrc constants [#11254](https://github.com/vitessio/vitess/pull/11254) + * Introduce `servenv` status pages in VTOrc [#11263](https://github.com/vitessio/vitess/pull/11263) + * Addition of Metrics to VTOrc to track the number of recoveries ran and their success count. [#11338](https://github.com/vitessio/vitess/pull/11338) + * VTOrc cleanup: Remove unused CLI code and move relevant APIs to the new VTOrc UI [#11370](https://github.com/vitessio/vitess/pull/11370) +#### vtctl + * Add order, limit, skip options to onlineddl show command [#10651](https://github.com/vitessio/vitess/pull/10651) +#### vtexplain + * `vtexplain` fails for vindex lookup queries with duplicate / equivalent values. [#10996](https://github.com/vitessio/vitess/pull/10996) +### Feature Request +#### Backup and Restore + * Backup/Restore: add support for external compressors and decompressors [#10558](https://github.com/vitessio/vitess/pull/10558) +#### Evalengine + * evalengine: Support built-in MySQL function CEIL() [#11027](https://github.com/vitessio/vitess/pull/11027) +#### VTAdmin + * add vtadmin docker image [#10543](https://github.com/vitessio/vitess/pull/10543) +#### web UI + * [VTAdmin] RebuildKeyspaceGraph, RemoveKeyspaceCell, NewShard [#11249](https://github.com/vitessio/vitess/pull/11249) + * VTAdmin: shard actions [#11328](https://github.com/vitessio/vitess/pull/11328) ### Internal Cleanup +#### Build/CI + * upgrade versions of security vulnerable packages crypto/net/serf [#10272](https://github.com/vitessio/vitess/pull/10272) + * update golangci-lint to 1.46.2 [#10568](https://github.com/vitessio/vitess/pull/10568) + * Update to latest Protobuf 21.3 release [#10803](https://github.com/vitessio/vitess/pull/10803) + * Always close body for HTTP requests in tests [#10835](https://github.com/vitessio/vitess/pull/10835) + * Always setup an underlying topo for a sandbox [#10882](https://github.com/vitessio/vitess/pull/10882) + * Cleanup the go-sqlite3 workaround [#10884](https://github.com/vitessio/vitess/pull/10884) + * Cleanup usage of go.rice in favor of go:embed [#10956](https://github.com/vitessio/vitess/pull/10956) +#### CLI + * [cli][discovery]: migrate discovery flags to pflag [#10863](https://github.com/vitessio/vitess/pull/10863) + * [vtcombo] Delete `flag.Set` call on non-existent flag [#10889](https://github.com/vitessio/vitess/pull/10889) + * Move goyacc to use pflags package [#11092](https://github.com/vitessio/vitess/pull/11092) + * Move sqlparser flags to use pflags [#11094](https://github.com/vitessio/vitess/pull/11094) + * vtgate pflags migration [#11318](https://github.com/vitessio/vitess/pull/11318) + * [cli] `vttestserver` flag parsing to use pflags [#11321](https://github.com/vitessio/vitess/pull/11321) + * customrule pflags migration [#11340](https://github.com/vitessio/vitess/pull/11340) + * srvtopo pflags migration [#11341](https://github.com/vitessio/vitess/pull/11341) + * [cli] Begrudgingly shim `flag.Parse` call to trick glog [#11382](https://github.com/vitessio/vitess/pull/11382) + * [cli] Use pflag/flag interop function in vtctldclient legacy shim [#11399](https://github.com/vitessio/vitess/pull/11399) + * Fix vtbackup binary by adding the flags it needs that we missed before [#11417](https://github.com/vitessio/vitess/pull/11417) +#### Cluster management + * Remove legacy healthcheck files and structures [#10542](https://github.com/vitessio/vitess/pull/10542) + * Proto file lint fix and vtadmin generated file [#10563](https://github.com/vitessio/vitess/pull/10563) + * Cleanup: un-explode GetSchema and reuse GetSchemaRequest struct [#10578](https://github.com/vitessio/vitess/pull/10578) + * [vtctl] Delete query commands [#10646](https://github.com/vitessio/vitess/pull/10646) + * Cleanup: ERS and PRS tests by removing setupShardLegacy [#10728](https://github.com/vitessio/vitess/pull/10728) + * Refactor: Unexplode Backup() function, pass BackupRequest as argument [#10904](https://github.com/vitessio/vitess/pull/10904) + * Deprecate orchestrator integration [#11409](https://github.com/vitessio/vitess/pull/11409) +#### Evalengine + * evalengine: expose Filter operations [#10903](https://github.com/vitessio/vitess/pull/10903) + * Move evalengine integration tests to use pflags [#11378](https://github.com/vitessio/vitess/pull/11378) #### General - * Remove v2 resharding fields #10409 + * Remove v2 resharding fields [#10409](https://github.com/vitessio/vitess/pull/10409) + * Remove @doeg from a subset of CODEOWNERS [#10557](https://github.com/vitessio/vitess/pull/10557) + * Remove @doeg from maintainers [#10625](https://github.com/vitessio/vitess/pull/10625) + * Remove the release notes document from the main branch [#10672](https://github.com/vitessio/vitess/pull/10672) + * Delete `go/vt/vttime` [#10995](https://github.com/vitessio/vitess/pull/10995) +#### Observability + * flags etc: delete old flags and stats, add deprecation notice to release notes [#11402](https://github.com/vitessio/vitess/pull/11402) #### Query Serving - * Reduce shift-reduce conflicts #10500 - * feat: don't stop if compilation errors are happening on the generated files #10506 + * Extract vindex lookup queries into their own primitive [#10490](https://github.com/vitessio/vitess/pull/10490) + * Reduce shift-reduce conflicts [#10500](https://github.com/vitessio/vitess/pull/10500) + * feat: don't stop if compilation errors are happening on the generated files [#10506](https://github.com/vitessio/vitess/pull/10506) + * User defined and sys variables [#10547](https://github.com/vitessio/vitess/pull/10547) + * refactor: removed context from part of vcursor struct [#10632](https://github.com/vitessio/vitess/pull/10632) + * Unexplode return values for queryservice [#10802](https://github.com/vitessio/vitess/pull/10802) + * Mark aggregate functions callable [#10805](https://github.com/vitessio/vitess/pull/10805) + * Separate function for creating bind variables [#10883](https://github.com/vitessio/vitess/pull/10883) + * check for nil earlier [#10887](https://github.com/vitessio/vitess/pull/10887) + * refactor: minor refactor in partial shard routing and change in flag to dashes [#11357](https://github.com/vitessio/vitess/pull/11357) + * Delete deprecated flags [#11360](https://github.com/vitessio/vitess/pull/11360) + * Remove deprecated IsSkipTopo() function [#11377](https://github.com/vitessio/vitess/pull/11377) +#### TabletManager + * refactor: unexplode VStreamRows() and reuse VStreamRowsRequest, unexplode VStream() and reuse VStreamRequest [#10671](https://github.com/vitessio/vitess/pull/10671) + * [tmclient] [tmserver] Unexplode fetchers [#10998](https://github.com/vitessio/vitess/pull/10998) +#### VReplication + * Delete all legacy sharding related code [#10278](https://github.com/vitessio/vitess/pull/10278) #### VTAdmin - * [vtadmin] Rename ERS/PRS pools+flags properly #10460 + * [vtadmin] Rename ERS/PRS pools+flags properly [#10460](https://github.com/vitessio/vitess/pull/10460) +#### VTorc + * Use introduced tablet manager RPCs in VTOrc [#10467](https://github.com/vitessio/vitess/pull/10467) + * Remove logging in GetDurabilityPolicy [#10516](https://github.com/vitessio/vitess/pull/10516) + * VTOrc Cleanup: Remove KV stores [#10645](https://github.com/vitessio/vitess/pull/10645) + * Use TMC RPCs in VTOrc [#10664](https://github.com/vitessio/vitess/pull/10664) + * Nil-check errors before printing them in VTOrc [#11156](https://github.com/vitessio/vitess/pull/11156) + * Cluster-Alias cleanup for VTOrc [#11193](https://github.com/vitessio/vitess/pull/11193) + * Refactor: Rename Orchestrator to VTOrc in the codebase [#11231](https://github.com/vitessio/vitess/pull/11231) + * VTOrc Cleanup - Configs, APIs and old UI [#11356](https://github.com/vitessio/vitess/pull/11356) + * VTOrc Standardisation and Cleanup [#11416](https://github.com/vitessio/vitess/pull/11416) + * [vtorc] Remove duplicated vt/log import [#11423](https://github.com/vitessio/vitess/pull/11423) +#### vtctl + * [vtctl] delete all throttler commands and associated cmd imports [#10661](https://github.com/vitessio/vitess/pull/10661) #### web UI - * Remove sharding_column_name and sharding_column_type from vtctld2 #10459 + * Remove sharding_column_name and sharding_column_type from vtctld2 [#10459](https://github.com/vitessio/vitess/pull/10459) +### Other +#### Other + * Build(deps): Bump mysql-connector-java from 8.0.25 to 8.0.28 in /java/example [#10551](https://github.com/vitessio/vitess/pull/10551) +### Performance +#### Query Serving + * schemadiff performance improvements [#11035](https://github.com/vitessio/vitess/pull/11035) + * schemadiff: Shallow copy of the schema [#11041](https://github.com/vitessio/vitess/pull/11041) + * [vtgate] Add flag to pool connection read buffers [#11167](https://github.com/vitessio/vitess/pull/11167) +#### TabletManager + * Tablet Executor: consolidate ReloadSchema calls, and skip for Online DDL [#10719](https://github.com/vitessio/vitess/pull/10719) +### Regression +#### Backup and Restore + * revert default compression engine [#11029](https://github.com/vitessio/vitess/pull/11029) ### Release +#### Build/CI + * Rework how the `release notes` labels are handled by the CI [#10508](https://github.com/vitessio/vitess/pull/10508) + * Rework the generation of the release notes [#10510](https://github.com/vitessio/vitess/pull/10510) + * Addition of the v14 release notes documents [#10602](https://github.com/vitessio/vitess/pull/10602) +#### CLI + * Migrates `release-notes` to pflag [#11365](https://github.com/vitessio/vitess/pull/11365) +#### Documentation + * Update the release documentation [#11174](https://github.com/vitessio/vitess/pull/11174) + * Add hyperlink in the release changelog [#11241](https://github.com/vitessio/vitess/pull/11241) #### General - * Post release `v14.0.0-RC1` steps #10458 + * Post release `v14.0.0-RC1` steps [#10458](https://github.com/vitessio/vitess/pull/10458) + * Documented the legacy healthcheck and tabletgateway and added summary to 14's summary [#10567](https://github.com/vitessio/vitess/pull/10567) + * Addition of the v14 release docs on main [#10606](https://github.com/vitessio/vitess/pull/10606) + * [main] Addition of the release notes summary for v14.0.1 (#10821) [#10837](https://github.com/vitessio/vitess/pull/10837) + * [main] Release summary 13.0.2 (#10820) [#10838](https://github.com/vitessio/vitess/pull/10838) + * Addition of the release notes for `v13.0.2` [#10849](https://github.com/vitessio/vitess/pull/10849) + * Addition of the release notes for v14.0.1 [#10851](https://github.com/vitessio/vitess/pull/10851) + * Addition of the release notes for v12.0.5 [#10873](https://github.com/vitessio/vitess/pull/10873) + * Include the compose examples in the `do_release` script [#11130](https://github.com/vitessio/vitess/pull/11130) + * do_release: fix updateVitessExamples function call [#11134](https://github.com/vitessio/vitess/pull/11134) + * Upgrade go version to `1.18.5` on `main` [#11136](https://github.com/vitessio/vitess/pull/11136) + * Addition of the release notes for `v14.0.2` [#11160](https://github.com/vitessio/vitess/pull/11160) + * Addition of the release notes for `v13.0.3` [#11162](https://github.com/vitessio/vitess/pull/11162) + * Addition of the release notes for `v12.0.6` [#11164](https://github.com/vitessio/vitess/pull/11164) + * Simple code freeze script and workflow [#11178](https://github.com/vitessio/vitess/pull/11178) + * Improve the `do_release` script to have two different Pull Requests instead of one during a release [#11197](https://github.com/vitessio/vitess/pull/11197) + * Release notes 14.0.3 on main [#11406](https://github.com/vitessio/vitess/pull/11406) + * Code freeze of release-15.0 [#11427](https://github.com/vitessio/vitess/pull/11427) ### Testing +#### Backup and Restore + * Enable VTOrc in backup tests [#11410](https://github.com/vitessio/vitess/pull/11410) #### Build/CI - * test: reduce number of vttablets to start in the tests #10491 + * test: reduce number of vttablets to start in the tests [#10491](https://github.com/vitessio/vitess/pull/10491) + * test: for unit tests set TMPDIR=/tmp_XXXXXX on mac [#10655](https://github.com/vitessio/vitess/pull/10655) + * CI: mysql8 test for schemadiff_vrepl [#10679](https://github.com/vitessio/vitess/pull/10679) + * Fixes to config file and flakiness fix for TestFloatValueDefault [#10710](https://github.com/vitessio/vitess/pull/10710) + * Flakes: Expect SERVING status for tablets added to shard with a PRIMARY [#11007](https://github.com/vitessio/vitess/pull/11007) +#### CLI + * [cli] [vttest] Extend vttest.TopoData to implement `pflag.Value`, and make function return types implicit [#10994](https://github.com/vitessio/vitess/pull/10994) + * [cli] [vtcombo|tests] Migrate `vtcombo` to `pflag` and rewrite tabletconn tests to not need TabletProtocol exported [#11010](https://github.com/vitessio/vitess/pull/11010) +#### Cluster management + * Fix incorrect use of loop variable in parallel test [#11082](https://github.com/vitessio/vitess/pull/11082) +#### General + * fix minor code unreachability error [#10771](https://github.com/vitessio/vitess/pull/10771) +#### Query Serving + * unit test: fix mysql tests to run on MacOS [#10613](https://github.com/vitessio/vitess/pull/10613) + * Use many more valid test cases [#10640](https://github.com/vitessio/vitess/pull/10640) + * test: set parameter on vtgate than on vttablet [#10698](https://github.com/vitessio/vitess/pull/10698) + * Addition of a test in aggr_cases for grouping on data from derived table [#10868](https://github.com/vitessio/vitess/pull/10868) + * Format Gen4 end-to-end tests [#11089](https://github.com/vitessio/vitess/pull/11089) + * Fix `TestInvalidDateTimeTimestampVals` linter issues [#11098](https://github.com/vitessio/vitess/pull/11098) + * Use vtparams instead of clusterInstance in TestNormalizeAllFields [#11102](https://github.com/vitessio/vitess/pull/11102) + * test: deflake TestIdleTimeoutCreateFail [#11411](https://github.com/vitessio/vitess/pull/11411) #### VTAdmin - * [vtadmin] authz tests - tablet actions #10457 - * [vtadmin] Add authz tests for remaining non-schema related actions #10481 - * [vtadmin] Add schema-related authz tests #10486 + * [vtadmin] authz tests - tablet actions [#10457](https://github.com/vitessio/vitess/pull/10457) + * [vtadmin] Add authz tests for remaining non-schema related actions [#10481](https://github.com/vitessio/vitess/pull/10481) + * [vtadmin] Add schema-related authz tests [#10486](https://github.com/vitessio/vitess/pull/10486) + * [vtadmin/tests] Serialize Schema test cases to avoid cache backfill races [#10538](https://github.com/vitessio/vitess/pull/10538) + * [vtadmin] fix flaky GetSchemas test cases [#10555](https://github.com/vitessio/vitess/pull/10555) +#### web UI + * Fixing flaky vtctld2 web test [#10541](https://github.com/vitessio/vitess/pull/10541) diff --git a/doc/releasenotes/15_0_0_release_notes.md b/doc/releasenotes/15_0_0_release_notes.md new file mode 100644 index 00000000000..3b87fca3700 --- /dev/null +++ b/doc/releasenotes/15_0_0_release_notes.md @@ -0,0 +1,374 @@ +# Release of Vitess v15.0.0-rc1 +## Summary + +- [Vindex Interface](#vindex-interface) +- [LogStats Table and Keyspace deprecated](#logstats-table-and-keyspace-deprecated) +- [Command-line syntax deprecations](#command-line-syntax-deprecations) +- [New command line flags and behavior](#new-command-line-flags-and-behavior) +- [Online DDL changes](#online-ddl-changes) +- [Tablet throttler](#tablet-throttler) +- [VDiff2](#vdiff2) +- [Mysql Compatibility](#mysql-compatibility) +- [Durability Policy](#durability-policy) +- [New EXPLAIN format](#new-explain-format) + +## Known Issues + +## Major Changes + +### Breaking Changes + +#### Flags + +- The deprecated `--cpu_profile` flag has been removed. Please use the `--pprof` flag instead. +- The deprecated `--mem-profile-rate` flag has been removed. Please use `--pprof=mem` instead. +- The deprecated `--mutex-profile-fraction` flag has been removed. Please use `--pprof=mutex` instead. +- The deprecated vtgate/vtexplain/vtcombo flag `--planner_version` has been removed. Please use `--planner-version` instead. +- The deprecated flag `--master_connect_retry` has been removed. Please use `--replication_connect_retry` instead. +- `vtctl` commands that take shard names and ranges as positional arguments (e.g. `vtctl Reshard ks.workflow -80 -40,40-80`) need to have their positional arguments separated from their flag arguments by a double-dash separator to avoid the new parsing library from mistaking them as flags (e.g. `vtctl Reshard ks.workflow -- -80 -40,40-80`). + +#### Vindex Interface + +All the vindex interface methods are changed by adding `context.Context` as an input parameter. + +E.g: +```go +Map(vcursor VCursor, .... ) .... + To +Map(ctx context.Context, vcursor VCursor, .... ) .... +``` + +This only affects users who have added their own custom vindex implementation. +They are required to change their implementation with these new interface method expectations. + +#### LogStats Table and Keyspace deprecated + +Information about which tables are used was being reported through the `Keyspace` and `Table` fields on LogStats. +For multi-table queries, this output can be confusing, so we have added `TablesUsed`, that is a string array, listing all tables and which keyspace they are on. +`Keyspace` and `Table` fields are deprecated and will be removed in the v16 release of Vitess. + +#### Orchestrator Integration Deprecation + +Orchestrator integration in `vttablet` has been deprecated. It will continue to work in this release but is liable to be removed in future releases. +Consider using VTOrc instead of Orchestrator as VTOrc goes GA in this release. + +#### Connection Pool Prefill + +The connection pool with prefilled connections have been removed. The pool now does lazy connection creation. +Following flags are deprecated: `queryserver-config-pool-prefill-parallelism`, `queryserver-config-stream-pool-prefill-parallelism`, `queryserver-config-transaction-prefill-parallelism` +and will be removed in future version. + +### Command-line syntax deprecations + +#### vttablet startup flag deletions +The following VTTablet flags were deprecated in 7.0. They have now been deleted +- --queryserver-config-message-conn-pool-size +- --queryserver-config-message-conn-pool-prefill-parallelism +- --client-found-rows-pool-size --queryserver-config-transaction-cap will be used instead +- --transaction_shutdown_grace_period Use --shutdown_grace_period instead +- --queryserver-config-max-dml-rows +- --queryserver-config-allowunsafe-dmls +- --pool-name-prefix +- --enable-autocommit Autocommit is always allowed + +#### vttablet startup flag deprecations +- --enable-query-plan-field-caching is now deprecated. It will be removed in v16. +- --enable_semi_sync is now deprecated. It will be removed in v16. Instead, set the correct durability policy using `SetKeyspaceDurabilityPolicy` +- --queryserver-config-pool-prefill-parallelism, --queryserver-config-stream-pool-prefill-parallelism and --queryserver-config-transaction-prefill-parallelism have all been deprecated. They will be removed in v16. + +### New command line flags and behavior + +#### vtgate --mysql-server-pool-conn-read-buffers + +`--mysql-server-pool-conn-read-buffers` enables pooling of buffers used to read from incoming +connections, similar to the way pooling happens for write buffers. Defaults to off. + +### VDiff2 + +We introduced the ability to resume a VDiff2 workflow: +``` +$ vtctlclient --server=localhost:15999 VDiff --v2 customer.commerce2customer resume 4c664dc2-eba9-11ec-9ef7-920702940ee0 +VDiff 4c664dc2-eba9-11ec-9ef7-920702940ee0 resumed on target shards, use show to view progress + +$ vtctlclient --server=localhost:15999 VDiff --v2 customer.commerce2customer show last + +VDiff Summary for customer.commerce2customer (4c664dc2-eba9-11ec-9ef7-920702940ee0) +State: completed +RowsCompared: 196 +HasMismatch: false +StartedAt: 2022-06-26 22:44:29 +CompletedAt: 2022-06-26 22:44:31 + +Use "--format=json" for more detailed output. + +$ vtctlclient --server=localhost:15999 VDiff --v2 --format=json customer.commerce2customer show last +{ + "Workflow": "commerce2customer", + "Keyspace": "customer", + "State": "completed", + "UUID": "4c664dc2-eba9-11ec-9ef7-920702940ee0", + "RowsCompared": 196, + "HasMismatch": false, + "Shards": "0", + "StartedAt": "2022-06-26 22:44:29", + "CompletedAt": "2022-06-26 22:44:31" +} +``` + +Please see the VDiff2 [documentation](https://vitess.io/docs/15.0/reference/vreplication/vdiff2/) for additional information. + +### New command line flags and behavior + +#### vtctl GetSchema --table-schema-only + +The new flag `--table-schema-only` skips column introspection. `GetSchema` only returns general schema analysis, and specifically it includes the `CREATE TABLE|VIEW` statement in the `schema` field. + +#### Support for additional compressors and decompressors during backup & restore +Backup/Restore now allow you many more options for compression and decompression instead of relying on the default compressor(`pgzip`). +There are some built-in compressors which you can use out-of-the-box. Users will need to evaluate which option works best for their +use-case. Here are the flags that control this feature + +- --compression-engine-name +- --external-compressor +- --external-decompressor +- --external-compressor-extension +- --compression-level + +`--compression-engine-name` specifies the engine used for compression. It can have one of the following values + +- pargzip (Default) +- pgzip +- lz4 +- zstd +- external + +where 'external' is set only when using a custom command or tool other than the ones that are already provided. +If you want to use any of the built-in compressors, simply set one of the above values for `--compression-engine-name`. The value +specified in `--compression-engine-name` is saved in the backup MANIFEST, which is later read by the restore process to decide which +engine to use for decompression. Default value for engine is 'pgzip'. + +If you would like to use a custom command or external tool for compression/decompression then you need to provide the full command with +arguments to the `--external-compressor` and `--external-decompressor` flags. `--external-compressor-extension` flag also needs to be provided +so that compressed files are created with the correct extension. If the external command is not using any of the built-in compression engines +(i-e pgzip, pargzip, lz4 or zstd) then you need to set `--compression-engine-name` to value 'external'. + +Please note that if you want the current production behavior then you don't need to change any of these flags. +You can read more about backup & restore [here] (https://vitess.io/docs/15.0/user-guides/operating-vitess/backup-and-restore/). + +If you decided to switch from an external compressor to one of the built-in supported compressors (i-e pgzip, pargzip, lz4 or zstd) at any point +in the future, you will need to do it in two steps. + +- step #1, set `--external-compressor` and `--external-compressor-extension` flag values to empty and change `--compression-engine-name` to desired value. +- Step #2, after at least one cycle of backup with new configuration, you can set `--external-decompressor` flag value to empty. + +The reason you cannot change all the values together is because the restore process will then have no way to find out which external decompressor +should be used to process the previous backup. Please make sure you have thought out all possible scenarios for restore before transitioning from one +compression engine to another. + +#### Independent OLAP and OLTP transactional timeouts + +`--queryserver-config-olap-transaction-timeout` specifies the timeout applied +to a transaction created within an OLAP workload. The default value is `30` +seconds, but this can be raised, lowered, or set to zero to disable the timeout +altogether. + +Until now, while OLAP queries would bypass the query timeout, transactions +created within an OLAP session would be rolled back +`--queryserver-config-transaction-timeout` seconds after the transaction was +started. + +As of now, OLTP and OLAP transaction timeouts can be configured independently of each +other. + +The main use case is to run queries spanning a long period of time which +require transactional guarantees such as consistency or atomicity. + +#### Support for specifying group information in calls to VTGate + +`--grpc-use-effective-groups` allows non-SSL callers to specify groups information for a caller. +Until now, you could only specify the caller-id for the security context used to authorize queries. +As of now, you can specify the principal of the caller, and any groups they belong to. + +### Online DDL changes + +#### Concurrent vitess migrations + +All Online DDL migrations using the `vitess` strategy are now eligible to run concurrently, given `--allow-concurrent` DDL strategy flag. Until now, only `CREATE`, `DROP` and `REVERT` migrations were eligible, and now `ALTER` migrations are supported, as well. The terms for `ALTER` migrations concurrency: + +- DDL strategy must be `vitess --allow-concurent ...` +- No two migrations can run concurrently on the same table +- No two `ALTER`s will copy table data concurrently +- A concurrent `ALTER` migration will not start if another `ALTER` is running and is not `ready_to_complete` + +The main use case is to run multiple concurrent migrations, all with `--postpone-completion`. All table-copy operations will run sequentially, but no migration will actually cut-over, and eventually all migrations will be `ready_to_complete`, continuously tailing the binary logs and keeping up-to-date. A quick and iterative `ALTER VITESS_MIGRATION '...' COMPLETE` sequence of commands will cut-over all migrations _closely together_ (though not atomically together). + +#### vtctl command changes. +All `online DDL show` commands can now be run with a few additional parameters +- `--order` , order migrations in the output by either ascending or descending order of their `id` fields. +- `--skip` , skip specified number of migrations in the output. +- `--limit` , limit results to a specified number of migrations in the output. + +#### New syntax + +The following is now supported: + +```sql +ALTER VITESS_MIGRATION COMPLETE ALL +``` + +This works on all pending migrations (`queued`, `ready`, `running`) and internally issues a `ALTER VITESS_MIGRATION '' COMPLETE` for each one. The command is useful for completing multiple concurrent migrations (see above) that are open-ended (`--postpone-completion`). + +### Tablet throttler + +#### API changes + +API endpoint `/debug/vars` now exposes throttler metrics, such as number of hits and errors per app per check type. Example: + +```shell +$ curl -s http://127.0.0.1:15100/debug/vars | jq . | grep Throttler + "ThrottlerAggregatedMysqlSelf": 0.191718, + "ThrottlerAggregatedMysqlShard": 0.960054, + "ThrottlerCheckAnyError": 27, + "ThrottlerCheckAnyMysqlSelfError": 13, + "ThrottlerCheckAnyMysqlSelfTotal": 38, + "ThrottlerCheckAnyMysqlShardError": 14, + "ThrottlerCheckAnyMysqlShardTotal": 42, + "ThrottlerCheckAnyTotal": 80, + "ThrottlerCheckMysqlSelfSecondsSinceHealthy": 0, + "ThrottlerCheckMysqlShardSecondsSinceHealthy": 0, + "ThrottlerProbesLatency": 355523, + "ThrottlerProbesTotal": 74, +``` + +### Mysql Compatibility + +#### System Settings +Vitess supported system settings from release 7.0 onwards, but it was always with a pinch of salt. +As soon as a client session changes a default system setting, the mysql connection gets blocked for it. +This leads to clients running out of mysql connections. +The clients were instructed to use this to a minimum and try to set those changed system settings as default on the mysql. + +With this release, Vitess can handle system settings changes in a much better way and the clients can use it more freely. +Vitess now pools those changed settings and does not reserve it for any particular session. + +This feature can be enabled by setting `queryserver-enable-settings-pool` flag on the vttablet. It is disabled by default. +In future releases, we will make this flag enabled by default. + +#### Lookup Vindexes + +Lookup vindexes now support a new parameter `multi_shard_autocommit`. If this is set to `true`, lookup vindex dml queries will be sent as autocommit to all shards instead of being wrapped in a transaction. +This is different from the existing `autocommit` parameter where the query is sent in its own transaction separate from the ongoing transaction if any i.e. begin -> lookup query execs -> commit/rollback + +### Durability Policy + +#### Cross Cell + +A new durability policy `cross_cell` is now supported. `cross_cell` durability policy only allows replica tablets from a different cell than the current primary to +send semi-sync ACKs. This ensures that any committed write exists in at least 2 tablets belonging to different cells. + +### New EXPLAIN format + +#### FORMAT=vtexplain + +With this new `explain` format, you can get an output that is very similar to the command line `vtexplain` app, but from a running `vtgate`, through a MySQL query. + +### VTOrc + +#### Old UI Removal and Replacement + +The old UI that VTOrc inherited from `Orchestrator` has been removed. A replacement UI, more consistent with the other Vitess binaries has been created. +In order to use the new UI, `--port` flag has to be provided. + +Along with the UI, the old APIs have also been deprecated. However, some of them have been ported over to the new UI - + +| Old API | New API | Additional notes | +|----------------------------------|----------------------------------|-----------------------------------------------------------------------| +| `/api/problems` | `/api/problems` | The new API also supports filtering using the keyspace and shard name | +| `/api/disable-global-recoveries` | `/api/disable-global-recoveries` | Functionally remains the same | +| `/api/enable-global-recoveries` | `/api/enable-global-recoveries` | Functionally remains the same | +| `/api/health` | `/debug/health` | Functionally remains the same | +| `/api/replication-analysis` | `/api/replication-analysis` | Functionally remains the same. Output is now JSON format. | + +Apart from these APIs, we also now have `/debug/status`, `/debug/vars` and `/debug/liveness` available in the new UI. + +#### Configuration Refactor and New Flags + +Since VTOrc was forked from `Orchestrator`, it inherited a lot of configurations that don't make sense for the Vitess use-case. +All of such configurations have been removed. + +VTOrc ignores the configurations that it doesn't understand. So old configurations can be kept around on upgrading and won't cause any issues. +They will just be ignored. + +For all the configurations that are kept, flags have been added for them and the flags are the desired way to pass these configurations going forward. +The config file will be deprecated and removed in upcoming releases. The following is a list of all the configurations that are kept and the associated flags added. + +| Configurations Kept | Flags Introduced | +|:-------------------------------------:|:-------------------------------------:| +| SQLite3DataFile | `--sqlite-data-file` | +| InstancePollSeconds | `--instance-poll-time` | +| SnapshotTopologiesIntervalHours | `--snapshot-topology-interval` | +| ReasonableReplicationLagSeconds | `--reasonable-replication-lag` | +| AuditLogFile | `--audit-file-location` | +| AuditToSyslog | `--audit-to-backend` | +| AuditToBackendDB | `--audit-to-syslog` | +| AuditPurgeDays | `--audit-purge-duration` | +| RecoveryPeriodBlockSeconds | `--recovery-period-block-duration` | +| PreventCrossDataCenterPrimaryFailover | `--prevent-cross-cell-failover` | +| LockShardTimeoutSeconds | `--lock-shard-timeout` | +| WaitReplicasTimeoutSeconds | `--wait-replicas-timeout` | +| TopoInformationRefreshSeconds | `--topo-information-refresh-duration` | +| RecoveryPollSeconds | `--recovery-poll-duration` | + +Apart from configurations, some flags from VTOrc have also been removed - +- `sibling` +- `destination` +- `discovery` +- `skip-unresolve` +- `skip-unresolve-check` +- `noop` +- `binlog` +- `statement` +- `grab-election` +- `promotion-rule` +- `skip-continuous-registration` +- `enable-database-update` +- `ignore-raft-setup` +- `tag` + +The ideal way to ensure backward compatibility is to remove the flags listed above while on the previous release. Then upgrade VTOrc. +After upgrading, remove the config file and instead pass the flags that are introduced. + +#### Example Upgrade + +If you are running VTOrc with the flags `--ignore-raft-setup --clusters_to_watch="ks/0" --config="path/to/config"` and the following configuration +```json +{ + "Debug": true, + "ListenAddress": ":6922", + "MySQLTopologyUser": "orc_client_user", + "MySQLTopologyPassword": "orc_client_user_password", + "MySQLReplicaUser": "vt_repl", + "MySQLReplicaPassword": "", + "RecoveryPeriodBlockSeconds": 1, + "InstancePollSeconds": 1, + "PreventCrossDataCenterPrimaryFailover": true +} +``` +First drop the flag `--ignore-raft-setup` while on the previous release. So, you'll be running VTOrc with `--clusters_to_watch="ks/0" --config="path/to/config"` and the same configuration listed above. + +Now you can upgrade your VTOrc version continuing to use the same flags and configurations, and it will continue to work just the same. If you wish to use the new UI, then you can add the `--port` flag as well. + +After upgrading, you can drop the configuration entirely and use the new flags like `--clusters_to_watch="ks/0" --recovery-period-block-duration=1s --instance-poll-time=1s --prevent-cross-cell-failover` + +#### Default Configuration Files + +The default files that VTOrc searches for configurations in have also changed from `"/etc/orchestrator.conf.json", "conf/orchestrator.conf.json", "orchestrator.conf.json"` to +`"/etc/vtorc.conf.json", "conf/vtorc.conf.json", "vtorc.conf.json"`. + +------------ +The entire changelog for this release can be found [here](https://github.com/vitessio/vitess/blob/main/doc/releasenotes/15_0_0_changelog.md). + +The release includes 551 commits (excluding merges) + +Thanks to all our contributors: @Abirdcfly, @DeathBorn, @GuptaManan100, @K-Kumar-01, @L3o-pold, @Phanatic, @Weijun-H, @ajm188, @arthurschreiber, @arvind-murty, @brirams, @dbussink, @deepthi, @dependabot[bot], @doeg, @frouioui, @harshit-gangal, @mattlord, @maxenglander, @mgale, @notfelineit, @ofiriluz, @olyazavr, @quinox, @rafer, @renatolabs, @rohit-nayak-ps, @rsajwani, @rvrangel, @saunderst, @shlomi-noach, @systay, @vitess-bot[bot], @vmg, @yoheimuta + diff --git a/go/tools/release-notes/release_notes.go b/go/tools/release-notes/release_notes.go index 61d899f370e..69fb45e2155 100644 --- a/go/tools/release-notes/release_notes.go +++ b/go/tools/release-notes/release_notes.go @@ -20,6 +20,7 @@ import ( "bytes" "encoding/json" "fmt" + "github.com/spf13/pflag" "log" "os" "os/exec" @@ -29,8 +30,6 @@ import ( "strings" "sync" "text/template" - - "github.com/spf13/pflag" ) type ( @@ -339,7 +338,6 @@ func loadAllPRs(prs, authorCommits []string) ([]prInfo, []string, error) { for b := range prChan { fmt.Print(".") - if b.isPR { prInfo, err := loadPRInfo(b.key) if err != nil { @@ -494,7 +492,7 @@ func main() { to = "HEAD" ) pflag.StringVarP(&from, "from", "f", "", "from sha/tag/branch") - pflag.StringVarP(&to, "to", to, "t", "to sha/tag/branch") + pflag.StringVarP(&to, "to", "t", to, "to sha/tag/branch") pflag.StringVarP(&versionName, "version", "v", "", "name of the version (has to be the following format: v11.0.0)") pflag.StringVarP(&summaryFile, "summary", "s", "", "readme file on which there is a summary of the release") pflag.Parse()