Last active
June 9, 2021 07:21
-
-
Save systay/01a3a9849eb65cb4da6a36900a19f006 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This release complies with VEP-3 which removes the upgrade order requirement. Components can be upgraded in any order. It is recommended that the upgrade order should still be followed if possible, except to canary test the new version of VTGate before upgrading the rest of the components. | |
## Incompatible Changes | |
The following PRs made changes to behaviors that clients might rely on. They should be reviewed carefully so that client code can be changed in concert with a Vitess release deployment. | |
* The update to golang 1.15 (#7204) might break systems that use TLS certificates with a common name. A fix is documented here (https://github.com/golang/go/issues/40748#issuecomment-673612108) | |
Vitess 9.0 is not compatible with the previous release of the Vitess Kubernetes Operator (2.2.0). A new version of the Operator (2.3.0) is available that is compatible. | |
## Bugs Fixed | |
### VTGate / MySQL compatibility | |
* Set Global #6957 | |
* Set udv allow more expressions #6964 | |
* Bug which caused the connection to not close in case of error writing an error packet #6977 | |
* Bug fix #7048 for SelectNone in StreamExecute route engine #7050 | |
### Other | |
* Binary PK: fix bug where padding of binary columns was being done incorrectly #6963 | |
* Pad non-fractional part of DECIMAL type #6967 | |
* Bug fix regression in /healthz #7090 | |
* Fix metadata related operation hangs when zk down #7228 | |
* Fix accidentally-broken legacy vtctl output format #7285 | |
## Functionality Added or Changed | |
### VTGate / MySQL compatibility | |
* VTGate: Allow INSERT with all defaults #6969 | |
* VTGate: Allow YEAR column type with length specified #6975 | |
* VTGate: Retry Execute when reserved connection is lost #6983 | |
* VTGate: Use ephemeral buffer when reading rows #6990 | |
* VTGate: Allow time_zone in reserved connection #6998 | |
* VTGate: Improved support for UNION #7007 | |
* VTGate: Add DDL parser support for FULLTEXT indexes. #7001 | |
* VTGate: Extend comparability of EvalResult to support hash codes #7016 | |
* VTGate: Use proto equal method #7017 | |
* VTGate: Fix COM_STMT_EXECUTE packet decode #7020 | |
* VTGate: Adds Planning and Parsing Support for Create Index of MySQL 5.7 #7024 | |
* VTGate: UNION DISTINCT support on vtgate #7029 | |
* VTGate: Improve database ddl plan #7034 | |
* VTGate: Support for hex & shard in vindex query #7044 | |
* VTGate: Use distinct primitive to solve more queries #7047 | |
* VTGate: Route using vindex for composite IN clause #7049 | |
* VTGate: Optimise struct field layout #7052 | |
* VTGate: Refactoring of plan building #7054 | |
* VTGate: Rewrite joins written with the USING construct #6660 | |
* VTGate: Add option to GetSchema to only send the row count and data length over the wire | |
#6985 | |
* VTGate: Adds Planning and Parsing Support for Create Database of MySQL 5.7 #7068 | |
* VTGate: Make sure to check all GROUP BY columns #7080 | |
* VTGate: Separate sub-query and derived table into different structs #7081 | |
* VTGate: Adds Planning and Parsing Support for Alter Database of MySQL 5.7 #7086 | |
* VTGate: Convert usages of DDL struct to DDLStatement interface #7096 | |
* VTGate: Adds Planning and Parsing Support for Drop Database of MySQL 5.7 #7098 | |
* VTGate: Restore SHOW SCHEMAS support; fixes #7100 #7102 | |
* VTGate: Refactor Code to create a separate struct for CREATE TABLE #7116 | |
* VTGate: Allows for vttestserver and vtcombo to respond to VtGateExecute. #7121 | |
* VTGate: Support for lock and unlock tables #7139 | |
* VTGate: Merge SelectDBA routes when possible #7140 | |
* VTGate: Adds support for all the rails queries using information_schema #7143 | |
* VTGate: Add support for unary expression in order by column #7163 | |
* VTGate: Skip query rewriting for dual table #7164 | |
* VTGate: Refactor Code to create a separate struct for ALTER VSCHEMA #7173 | |
* VTGate: Refactor Show plans #7185 | |
* VTGate: Show privilege support #7194 | |
* VTGate: Planning and Parsing Support for Drop Table, Drop View and Alter View #7178 | |
* VTGate: Cache only dml and select plans #7196 | |
* VTGate: Planning and Parsing Support for Alter Table #7199 | |
* VTGate: Add FindAllShardsInKeyspace to vtctldserver #7201 | |
* VTGate: improve-log: FAILED_PRECONDITION #7215 | |
not in the release: * VTGate: Planner refactoring #7103 | |
not in the release: * VTGate: Migrate `vtctlclient InitShardMaster` => `vtctldclient InitShardPrimary` #7220 | |
not in the release: * VTGate: Add Planning and Parsing Support for Truncate, Rename, Drop Index and Flush #7242 | |
not in the release: * VTGate: Fix create table format function to include if not exists #7250 | |
not in the release: * VTGate: Added default databases when calling 'show databases' #7256 | |
not in the release: * VTGate : Add Update.AddWhere to mirror Select.AddWhere #7277 | |
not in the release: * VTGate :Rremoved resolver usage from StreamExecute #7281 | |
not in the release: * VTGate: Adding a MySQL connection at Vtgate to run queries on it directly in case of testing mode #7291 | |
not in the release: * VTGate: Added vitess_version as variable #7295 | |
* VTGate: Default to false for system settings to be changed per session at the database connection level #7299 | |
not in the release: * VTGate: Gen4: Add Limit clause support #7312 | |
not in the release: * VTGate: Gen4: Handling subquery in query graph #7313 | |
not in the release: * VTGate: Addition of @@enable_system_settings #7300 | |
* VTGate: Route INFORMATION_SCHEMA queries #6932 | |
* VTGate: Adds Planning and Parsing Support for Create Index of MySQL 5.7 #7024 | |
* VTGate: Log sql which exceeds max memory rows #7055 | |
* VTExplain: Add sequence table support for vtexplain #7186 | |
* VSchema: Support back-quoted names #7073 | |
* Healthcheck: healthy list should be recomputed when a tablet is removed #7176 | |
### Set Statement Support | |
Set statement support has been added in Vitess. There are [some system variables](https://github.com/vitessio/vitess/blob/master/go/vt/sysvars/sysvars.go#L147,L190) which are disabled by default and can be enabled using flag `-enable_system_settings` on VTGate. These system variables are set on the mysql server. Because they change the mysql session, using them leads to the Vitess connection no longer using the connection pool and forcing dedicated connections. | |
### VReplication | |
* VReplication: refactored and enhanced support for JSON columns #6829 | |
* VReplication: Don't update tx timestamp on heartbeat #6930 | |
* VReplication E2E Tests: Refactored tests for readability and attempting to fix flakiness #6991 | |
* VRepl/Tablet Picker: improve observability of selected tablet #6999 | |
* VReplication: Handle comment statement type in vstreamer #7092 | |
* VReplication e2e: Fine tuned test to reduce flakiness and added more logging to debug future flakiness #7138 | |
* VReplication: Make relay log size & rows configurable. #6992 | |
* VReplication: New workflows cli UX. Allow reads/writes to be switched independently #7071 | |
* VReplication: DropSources: change table rename logic #7230 | |
* VReplication: MoveTables: delete routing rules and update vschema on Complete and Abort #7234 | |
* VReplication: V2 Workflow Start: wait for streams to start and report errors if any while starting a workflow #7248 | |
* VReplication: Ignore temp tables created by onlineddl #7159 | |
not in the release: * VReplication V2 Workflows: rename Abort to Cancel #7276 | |
not in the release: * VReplication DryRun: Report current dry run results for v2 commands #7255 | |
not in the release: * VReplication: Miscellaneous improvements #7275 | |
not in the release: * VReplication: Tablet throttle support "/throttle/check-self" available on all tablets #7319 | |
not in the release: * VStreamer Events: remove preceding zeroes from decimals in Row Events #7297 | |
not in the release: * Workflow Show: use timeUpdated to calculate vreplication lag #7342 | |
not in the release: * vtctl: Add missing err checks for VReplication v2 #7361 | |
* VStreamer Field Event: add allowed values for set/enum #6981 | |
* VDiff: lock keyspace while snapshoting, restart target in case of errors #7012 | |
* [vtctld]: fix error state in Workflow Show #6970 | |
* [vtctld] Workflow command: minor fixes #7008 | |
not in the release: * [vtctl] Add missing err checks for VReplication v2 #7361 | |
### VTTablet | |
* VTTablet: fast and reliable state transitions #7011 | |
* VTTablet: don't shutdown on too many connections #7039 | |
* VTTablet: debug/env page to change variables in real-time #7189 | |
* VTTablet: Adds better errors when there are timeouts in resource pools #7002 | |
* VTTablet: Return to re-using server IDs for binlog connections #6941 | |
* VTTablet: Correctly initialize the TabletType stats #6989 | |
not in the release: * Backup: Use provided xtrabackup_root_path to find xbstream #7359 | |
* Backup: Use pargzip instead of pgzip for compression. #7037 | |
* Backup: Add s3 server-side encryption and decryption with customer provided key #7088 | |
### OnlineDDL | |
* Online DDL: follow ups in multiple trajectories #6901 | |
* Online DDL: cancel running migrations executed by another tablet #7006 | |
* OnlineDDL: Adding `ddl_strategy` session variable #7042 | |
* Online DDL: ddl_strategy session variable and vtctl command line argument #7045 | |
* Online DDL: Removing online ddl query hint from ALTER TABLE #7069 | |
* Online DDL: vtgate -ddl-strategy flag renamed to -ddl_strategy #7074 | |
Automatically retry migration that was interrupted during master failover | |
Automatically terminate migrations run by a failed tablet | |
* Online DDL:request_context/migration_context #7082 | |
* Online DDL: Support CREATE, DROP statements in ApplySchema and online DDL #7083 | |
* Online DDL: ddl_type column #7097 | |
* OnlineDDL: "cancel-all" command to cancel all pending migrations in keyspace #7099 | |
* OnlineDDL: Support `vtctl OnlineDDL <keyspace> show <context>` #7145 | |
* OnlineDDL: Normalizing Online-DDL queries #7153 | |
* Online DDL: ddl_strategy=direct #7172 | |
* Online DDL: Executor database pool size increase #7206 | |
* Online DDL: DROP TABLE translated to RENAME TABLE statement #7221 | |
* Online DDL: Adding @@session_uuid to vtgate; used as 'context' #7263 | |
* Online DDL: ignore errors if extracted gh-ost binary is identical to installed binary #6928 | |
* Online DDL: Table lifecycle: skip time hint for unspecified states #7151 | |
### VTadmin | |
* VTadmin: Initial vtadmin-api, clusters, and service discovery #7187 | |
* VTadmin: The tiniest possible first implementation of vtadmin-web #7218 | |
* VTadmin: Add cluster protos to discovery and vtsql package constructors #7224 | |
* VTadmin: Add static file service discovery implementation #7229 | |
* VTadmin: Query vtadmin-api from vtadmin-web with fetch + react-query #7239 | |
not in the release: * VTadmin: Add vtctld proxy to vtadmin API, add GetKeyspaces endpoint #7266 | |
not in the release: * VTadmin: [vtctld] Expose vtctld gRPC port in local Docker example + update VTAdmin README #7306 | |
not in the release: * VTadmin: Add CSS variables + fonts to VTAdmin #7309 | |
not in the release: * VTadmin: Add React Router + a skeleton /debug page to VTAdmin #7310 | |
not in the release: * VTadmin: Add NavRail component #7316 | |
not in the release: * VTadmin: Add Button + Icon components #7350 | |
* [vtctld]: vtctldclient generator #7238 | |
not in the release: * [vtctld] Migrate cell getters #7302 | |
not in the release: * [vtctld] Migrate tablet getters #7311 | |
not in the release: * [vtctld] Migrate GetSchema #7346 | |
not in the release: * [vtctld] vtctldclient command pkg #7321 | |
not in the release: * [vtctld] Add GetSrvVSchema command #7334 | |
not in the release: * [vtctld] Migrate ListBackups as GetBackups in new vtctld server #7352 | |
Merged | |
not in the release: * [vtctld] Migrate GetVSchema to VtctldServer #7360 | |
### Other | |
* Fix comment typo #6974 | |
* Fix all occurrences of `fmt.Sprint(x)` where x is `int` #7244 | |
* Fix incorrect comments #7257 | |
* Fix comment for IDPool #7212 | |
* IsInternalOperationTableName: see if a table is used internally by vitess #7104 | |
## Examples / Tutorials | |
not in the release: * Update demo #7205 | |
not in the release: * Delete select_commerce_data.sql #7245 | |
not in the release: * Docker/vttestserver: Add MYSQL_BIND_HOST env #7293 | |
* Examples/operator: fix tags and add vtorc example #7358 | |
* local docker: copy examples/common into /vt/common to match MoveTables user guide #7252 | |
* Update docker-compose examples to take advantage of improvements in Vitess #7009 | |
## Documentation | |
* Vitess Slack Guidelines v1.0 #6961 | |
* Do vschema_customer_sharded.json before create_customer_sharded.sql #7210 | |
* Added readme for the demo example #7226 | |
not in the release: * Pull Request template: link to contribution guide #7314 | |
## Build Environment Changes | |
* Clean up plan building test cases #7057 | |
* Fix unit test error #6953, #6993 | |
* Fixing the 5.6 builds of vitess/lite #6960 | |
* Pin mariadb to use mariadb-server-10.2 #6966 | |
* Replace vitess:base with vitess:lite images for docker-compose services #7004 | |
* Fix flakey TestParallelRunnerApprovalFirstRunningSecondRunning test #7014 | |
* Allow custom image tags in compose #7043 | |
* Support statsd for vitess #7072 | |
* Add vtctl to make install-local #7125 | |
* Updating Java unit tests for JDK9+ compatibility #7144 | |
* Add Go Version to Bootstrap Image #7182 | |
* Update Vitess v8.0 images #7174 | |
* Fix broken package ref in UBI docker build #7183 | |
* Convert CentOS extra packages installation to yum instead of downloading #7188 | |
* Make docker_local: fix missing mysql_server package #7213 | |
* Add unit test case to improve test coverage for go/sqltypes/result.go #7227 | |
* Update Golang to 1.15 #7204 | |
* Add linter configuration #7247 | |
not in the release: * Tracking failed check runs #7026 | |
not in the release: * Github Actions CI Builds: convert matrix strategy for unit and cluster tests to individual tests #7258 | |
not in the release: * Add Update.AddWhere to mirror Select.AddWhere #7277 | |
not in the release: * Descriptive names for CI checks #7289 | |
not in the release: * Testing upgrade path from / downgrade path to v8.0.0 #7294 | |
not in the release: * Add mysqlctl to docker images #7326 | |
## Functionality Neutral Changes | |
* Healthcheck: add unit test for multi-cell replica configurations #6978 | |
* Adds timeout to checking for tablets. #7106 | |
* Remove deprecated vtctl commands, flags and vttablet rpcs #7115 | |
* Fixes comment to mention the existence of reference tables. #7122 | |
* Updated pull request template to add more clarity #7193 | |
* Redact password #7198 | |
* action_repository: no need for http.Request #7124 | |
* Testing version upgrade/downgrade path from/to 8.0 #7323 | |
* Use `context` from Go's standard library #7235 | |
Missing from release notes:84 | |
6783 | |
6816 | |
6823 | |
6825 | |
6830 | |
6831 | |
6832 | |
6833 | |
6836 | |
6842 | |
6845 | |
6847 | |
6849 | |
6852 | |
6853 | |
6855 | |
6863 | |
6865 | |
6869 | |
6870 | |
6871 | |
6872 | |
6873 | |
6874 | |
6875 | |
6879 | |
6880 | |
6882 | |
6885 | |
6886 | |
6887 | |
6890 | |
6892 | |
6900 | |
6902 | |
6903 | |
6904 | |
6907 | |
6908 | |
6910 | |
6911 | |
6917 | |
6933 | |
6944 | |
6947 | |
6949 | |
6953 | |
6958 | |
6959 | |
6965 | |
7018 | |
7023 | |
7027 | |
7060 | |
7062 | |
7082 | |
7093 | |
7095 | |
7105 | |
7118 | |
7126 | |
7128 | |
7137 | |
7148 | |
7150 | |
7162 | |
7165 | |
7166 | |
7168 | |
7169 | |
7179 | |
7202 | |
7223 | |
7264 | |
7265 | |
7271 | |
7292 | |
7339 | |
7340 | |
7345 | |
7349 | |
7354 | |
7363 | |
7369 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment