Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[release-18.0] Release of v18.0.3 #15483

Merged
merged 3 commits into from
Mar 14, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/code_freeze.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,4 +11,4 @@ jobs:
steps:
- name: Fail if Code Freeze is enabled
run: |
exit 1
exit 0
81 changes: 81 additions & 0 deletions changelog/18.0/18.0.3/changelog.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
# Changelog of Vitess v18.0.3

### Bug fixes
#### CLI
* [release-18.0] Fix some binaries to print the versions (#15306) [#15309](https://github.com/vitessio/vitess/pull/15309)
#### Evalengine
* [release-18.0] evalengine: Fix week overflow (#14859) [#14861](https://github.com/vitessio/vitess/pull/14861)
* [release-18.0] evalengine: Return evalTemporal types for current date / time (#15079) [#15084](https://github.com/vitessio/vitess/pull/15084)
#### General
* [release-18.0] Protect `ExecuteFetchAsDBA` against multi-statements, excluding a sequence of `CREATE TABLE|VIEW`. (#14954) [#14984](https://github.com/vitessio/vitess/pull/14984)
#### Online DDL
* [release-18.0] VReplication/OnlineDDL: reordering enum values (#15103) [#15351](https://github.com/vitessio/vitess/pull/15351)
#### Query Serving
* [release-18]: Vindexes: Pass context in consistent lookup handleDup (#14653) [#14911](https://github.com/vitessio/vitess/pull/14911)
* [release-18.0] evalengine bugfix: handle nil evals correctly when coercing values (#14906) [#14914](https://github.com/vitessio/vitess/pull/14914)
* [release-18.0] bugfix: Columns alias expanding (#14935) [#14955](https://github.com/vitessio/vitess/pull/14955)
* [release-18.0] Improve efficiency and accuracy of mysqld.GetVersionString (#15096) [#15111](https://github.com/vitessio/vitess/pull/15111)
* [release-18.0] In the same sqltypes.Type, Copy expression types to avoid weight_strings and derived tables (#15069) [#15129](https://github.com/vitessio/vitess/pull/15129)
* [release-18.0] make sure to handle unsupported collations well (#15134) [#15142](https://github.com/vitessio/vitess/pull/15142)
* [release-18.0] fix: ignore internal tables in schema tracking (#15141) [#15146](https://github.com/vitessio/vitess/pull/15146)
* [release-18.0] TxThrottler: dont throttle unless lag (#14789) [#15190](https://github.com/vitessio/vitess/pull/15190)
* [release-18.0] Avoid rewriting unsharded queries and split semantic analysis in two (#15217) [#15229](https://github.com/vitessio/vitess/pull/15229)
* [release-18.0] sqlparser: use integers instead of literals for Length/Precision (#15256) [#15268](https://github.com/vitessio/vitess/pull/15268)
* [release-18.0] Fix Go routine leaks in streaming calls (#15293) [#15300](https://github.com/vitessio/vitess/pull/15300)
* [release-18.0] Column alias expanding on ORDER BY (#15302) [#15331](https://github.com/vitessio/vitess/pull/15331)
* [release-18.0] go/vt/discovery: use protobuf getters for SrvVschema (#15343) [#15345](https://github.com/vitessio/vitess/pull/15345)
* [release-18.0] SHOW VITESS_REPLICATION_STATUS: Only use replication tracker when it's enabled (#15348) [#15361](https://github.com/vitessio/vitess/pull/15361)
* [release-18.0] Bugfix: GROUP BY/HAVING alias resolution (#15344) [#15381](https://github.com/vitessio/vitess/pull/15381)
#### Schema Tracker
* [release-18.0] discovery: fix crash with nil server vschema (#15086) [#15092](https://github.com/vitessio/vitess/pull/15092)
#### Throttler
* [release-18.0] examples: rm heartbeat flags (#14980) [#14999](https://github.com/vitessio/vitess/pull/14999)
#### VReplication
* [release-18.0] VReplication: Make Target Sequence Initialization More Robust (#15289) [#15307](https://github.com/vitessio/vitess/pull/15307)
* [release-18.0] VtctldClient Reshard: add e2e tests to confirm CLI options and fix discovered issues. (#15353) [#15471](https://github.com/vitessio/vitess/pull/15471)
#### VTCombo
* [release-18.0] Correctly set log_dir default in vtcombo (#15153) [#15154](https://github.com/vitessio/vitess/pull/15154)
#### vtexplain
* [release-18.0] vtexplain: Fix setting up the column information (#15275) [#15281](https://github.com/vitessio/vitess/pull/15281)
* [release-18.0] vtexplain: Ensure memory topo is set up for throttler (#15279) [#15284](https://github.com/vitessio/vitess/pull/15284)
#### vttestserver
* [release-18.0] Revert unwanted logging change to `vttestserver` (#15148) [#15149](https://github.com/vitessio/vitess/pull/15149)
* [release-18.0] use proper mysql version in the `vttestserver` images (#15235) [#15238](https://github.com/vitessio/vitess/pull/15238)
### CI/Build
#### Build/CI
* [release-18.0] Fix relevant files listing for `endtoend` CI (#15104) [#15110](https://github.com/vitessio/vitess/pull/15110)
* [release-18.0] Remove concurrency group for check labels workflow (#15197) [#15208](https://github.com/vitessio/vitess/pull/15208)
* [release-18.0] bump `github.com/golang/protobuf` to `v1.5.4` (#15426) [#15427](https://github.com/vitessio/vitess/pull/15427)
* [release-18.0] Update all actions setup to latest versions (#15443) [#15445](https://github.com/vitessio/vitess/pull/15445)
#### General
* [release-18.0] Upgrade the Golang version to `go1.21.8` [#15407](https://github.com/vitessio/vitess/pull/15407)
### Dependabot
#### Java
* [release-18.0] build(deps): bump io.netty:netty-handler from 4.1.93.Final to 4.1.94.Final in /java (#14863) [#14881](https://github.com/vitessio/vitess/pull/14881)
### Documentation
#### Documentation
* [release-18.0] 18.0.3 release notes: ExecuteFetchAsDBA breaking change [#15013](https://github.com/vitessio/vitess/pull/15013)
* [release-18.0] Fix docs for unmanaged tablets (#15437) [#15473](https://github.com/vitessio/vitess/pull/15473)
### Enhancement
#### Build/CI
* [release-18.0] Update paths filter action (#15254) [#15263](https://github.com/vitessio/vitess/pull/15263)
### Performance
#### Throttler
* [release-18.0] Throttler: Use tmclient pool for CheckThrottler tabletmanager RPC [#15087](https://github.com/vitessio/vitess/pull/15087)
### Regression
#### Query Serving
* [release-18.0] Subquery inside aggregration function (#14844) [#14845](https://github.com/vitessio/vitess/pull/14845)
* [release-18.0] Fix routing rule query rewrite (#15253) [#15258](https://github.com/vitessio/vitess/pull/15258)
#### Throttler
* [release-18.0] Enable 'heartbeat_on_demand_duration' in local/examples (#15204) [#15291](https://github.com/vitessio/vitess/pull/15291)
#### vttestserver
* [release-18.0] Fix logging issue when running in Docker with the syslog daemon disabled (#15176) [#15185](https://github.com/vitessio/vitess/pull/15185)
### Release
#### General
* Back to dev mode after v18.0.2 [#14839](https://github.com/vitessio/vitess/pull/14839)
* [release-18.0] Code Freeze for `v18.0.3` [#15480](https://github.com/vitessio/vitess/pull/15480)
### Testing
#### Build/CI
* [release-18.0] Use `go1.22.0` in upgrade tests [#15170](https://github.com/vitessio/vitess/pull/15170)
* [release-18.0] CI: Address data races on memorytopo Conn.closed (#15365) [#15370](https://github.com/vitessio/vitess/pull/15370)

34 changes: 34 additions & 0 deletions changelog/18.0/18.0.3/release_notes.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# Release of Vitess v18.0.3
## Summary

### Table of Contents

- **[Major Changes](#major-changes)**
- **[Breaking Changes](#breaking-changes)**
- [ExecuteFetchAsDBA rejects multi-statement SQL](#execute-fetch-as-dba-reject-multi)

## <a id="major-changes"/>Major Changes

### <a id="breaking-changes"/>Breaking Changes

#### <a id="execute-fetch-as-dba-reject-multi"/>ExecuteFetchAsDBA rejects multi-statement SQL

`vtctldclient ExecuteFetchAsDBA` (and similarly the `vtctl` and `vtctlclient` commands) now reject multi-statement SQL with error.

For example, `vtctldclient ExecuteFetchAsDBA my-tablet "stop replica; change replication source to auto_position=1; start replica` will return an error, without attempting to execute any of these queries.

Previously, `ExecuteFetchAsDBA` silently accepted multi statement SQL. It would (attempt to) execute all of them, but:

- It would only indicate error for the first statement. Errors on 2nd, 3rd, ... statements were silently ignored.
- It would not consume the result sets of the 2nd, 3rd, ... statements. It would then return the used connection to the pool in a dirty state. Any further query that happens to take that connection out of the pool could get unexpected results.
- As another side effect, multi-statement schema changes would cause schema to be reloaded with only the first change, leaving the cached schema inconsistent with the underlying database.

`ExecuteFetchAsDBA` does allow a specific use case of multi-statement SQL, which is where all statements are in the form of `CREATE TABLE` or `CREATE VIEW`. This is to support a common pattern of schema initialization, formalized in `ApplySchema --batch-size` which uses `ExecuteFetchAsDBA` under the hood.

------------
The entire changelog for this release can be found [here](https://github.com/vitessio/vitess/blob/main/changelog/18.0/18.0.3/changelog.md).

The release includes 47 merged Pull Requests.

Thanks to all our contributors: @app/github-actions, @app/vitess-bot, @frouioui, @harshit-gangal, @rohit-nayak-ps, @shlomi-noach, @systay, @wangweicugw

2 changes: 2 additions & 0 deletions changelog/18.0/README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
## v18.0
* **[18.0.3](18.0.3)**
* [Changelog](18.0.3/changelog.md)
* [Release Notes](18.0.3/release_notes.md)

* **[18.0.2](18.0.2)**
* [Changelog](18.0.2/changelog.md)
Expand Down
20 changes: 10 additions & 10 deletions examples/compose/docker-compose.beginners.yml
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ services:
- "3306"

vtctld:
image: vitess/lite:v18.0.2
image: vitess/lite:v18.0.3
ports:
- "15000:$WEB_PORT"
- "$GRPC_PORT"
Expand All @@ -81,7 +81,7 @@ services:
condition: service_healthy

vtgate:
image: vitess/lite:v18.0.2
image: vitess/lite:v18.0.3
ports:
- "15099:$WEB_PORT"
- "$GRPC_PORT"
Expand Down Expand Up @@ -111,7 +111,7 @@ services:
condition: service_healthy

schemaload:
image: vitess/lite:v18.0.2
image: vitess/lite:v18.0.3
command:
- sh
- -c
Expand Down Expand Up @@ -144,12 +144,12 @@ services:
environment:
- KEYSPACES=$KEYSPACE
- GRPC_PORT=15999
image: vitess/lite:v18.0.2
image: vitess/lite:v18.0.3
volumes:
- .:/script

vttablet100:
image: vitess/lite:v18.0.2
image: vitess/lite:v18.0.3
ports:
- "15100:$WEB_PORT"
- "$GRPC_PORT"
Expand Down Expand Up @@ -181,7 +181,7 @@ services:
retries: 15

vttablet101:
image: vitess/lite:v18.0.2
image: vitess/lite:v18.0.3
ports:
- "15101:$WEB_PORT"
- "$GRPC_PORT"
Expand Down Expand Up @@ -213,7 +213,7 @@ services:
retries: 15

vttablet102:
image: vitess/lite:v18.0.2
image: vitess/lite:v18.0.3
ports:
- "15102:$WEB_PORT"
- "$GRPC_PORT"
Expand Down Expand Up @@ -245,7 +245,7 @@ services:
retries: 15

vttablet103:
image: vitess/lite:v18.0.2
image: vitess/lite:v18.0.3
ports:
- "15103:$WEB_PORT"
- "$GRPC_PORT"
Expand Down Expand Up @@ -277,7 +277,7 @@ services:
retries: 15

vtorc:
image: vitess/lite:v18.0.2
image: vitess/lite:v18.0.3
command: ["sh", "-c", "/script/vtorc-up.sh"]
depends_on:
- vtctld
Expand Down Expand Up @@ -307,7 +307,7 @@ services:
retries: 15

vreplication:
image: vitess/lite:v18.0.2
image: vitess/lite:v18.0.3
volumes:
- ".:/script"
environment:
Expand Down
26 changes: 13 additions & 13 deletions examples/compose/docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ services:
- SCHEMA_FILES=lookup_keyspace_schema_file.sql
- POST_LOAD_FILE=
- EXTERNAL_DB=0
image: vitess/lite:v18.0.2
image: vitess/lite:v18.0.3
volumes:
- .:/script
schemaload_test_keyspace:
Expand All @@ -101,7 +101,7 @@ services:
- SCHEMA_FILES=test_keyspace_schema_file.sql
- POST_LOAD_FILE=
- EXTERNAL_DB=0
image: vitess/lite:v18.0.2
image: vitess/lite:v18.0.3
volumes:
- .:/script
set_keyspace_durability_policy:
Expand All @@ -115,7 +115,7 @@ services:
environment:
- KEYSPACES=test_keyspace lookup_keyspace
- GRPC_PORT=15999
image: vitess/lite:v18.0.2
image: vitess/lite:v18.0.3
volumes:
- .:/script
vreplication:
Expand All @@ -129,7 +129,7 @@ services:
- TOPOLOGY_FLAGS=--topo_implementation consul --topo_global_server_address consul1:8500
--topo_global_root vitess/global
- EXTERNAL_DB=0
image: vitess/lite:v18.0.2
image: vitess/lite:v18.0.3
volumes:
- .:/script
vtctld:
Expand All @@ -143,7 +143,7 @@ services:
depends_on:
external_db_host:
condition: service_healthy
image: vitess/lite:v18.0.2
image: vitess/lite:v18.0.3
ports:
- 15000:8080
- "15999"
Expand All @@ -160,7 +160,7 @@ services:
--normalize_queries=true '
depends_on:
- vtctld
image: vitess/lite:v18.0.2
image: vitess/lite:v18.0.3
ports:
- 15099:8080
- "15999"
Expand All @@ -182,7 +182,7 @@ services:
- EXTERNAL_DB=0
- DB_USER=
- DB_PASS=
image: vitess/lite:v18.0.2
image: vitess/lite:v18.0.3
ports:
- 13000:8080
volumes:
Expand Down Expand Up @@ -217,7 +217,7 @@ services:
- CMD-SHELL
- curl -s --fail --show-error localhost:8080/debug/health
timeout: 10s
image: vitess/lite:v18.0.2
image: vitess/lite:v18.0.3
ports:
- 15101:8080
- "15999"
Expand Down Expand Up @@ -254,7 +254,7 @@ services:
- CMD-SHELL
- curl -s --fail --show-error localhost:8080/debug/health
timeout: 10s
image: vitess/lite:v18.0.2
image: vitess/lite:v18.0.3
ports:
- 15102:8080
- "15999"
Expand Down Expand Up @@ -291,7 +291,7 @@ services:
- CMD-SHELL
- curl -s --fail --show-error localhost:8080/debug/health
timeout: 10s
image: vitess/lite:v18.0.2
image: vitess/lite:v18.0.3
ports:
- 15201:8080
- "15999"
Expand Down Expand Up @@ -328,7 +328,7 @@ services:
- CMD-SHELL
- curl -s --fail --show-error localhost:8080/debug/health
timeout: 10s
image: vitess/lite:v18.0.2
image: vitess/lite:v18.0.3
ports:
- 15202:8080
- "15999"
Expand Down Expand Up @@ -365,7 +365,7 @@ services:
- CMD-SHELL
- curl -s --fail --show-error localhost:8080/debug/health
timeout: 10s
image: vitess/lite:v18.0.2
image: vitess/lite:v18.0.3
ports:
- 15301:8080
- "15999"
Expand Down Expand Up @@ -402,7 +402,7 @@ services:
- CMD-SHELL
- curl -s --fail --show-error localhost:8080/debug/health
timeout: 10s
image: vitess/lite:v18.0.2
image: vitess/lite:v18.0.3
ports:
- 15302:8080
- "15999"
Expand Down
Loading
Loading