Skip to content

Commit 1c1f285

Browse files
authored
[release-22.0] Release of v22.0.0-RC1 (#18128)
Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>
1 parent 8868a33 commit 1c1f285

20 files changed

+1043
-104
lines changed

changelog/22.0/22.0.0/changelog.md

Lines changed: 582 additions & 0 deletions
Large diffs are not rendered by default.

changelog/22.0/22.0.0/release_notes.md

Lines changed: 369 additions & 0 deletions
Large diffs are not rendered by default.

changelog/22.0/22.0.0/summary.md

Lines changed: 3 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ $ vtctldclient ApplySchema --ddl-strategy="pt-osc" ...
119119
| `CommitUnresolved` | N/A | Counter for failure after Prepare. | [#16939](https://github.com/vitessio/vitess/pull/16939) |
120120

121121

122-
The work done [#17727](https://github.com/vitessio/vitess/pull/17727) introduces new metrics for queries. Via this work we have deprecated several vtgate metrics, please see the [Deprecated Metrics](#deprecated-metrics) section. Here is an example on how to use them:
122+
The work done in [#17727](https://github.com/vitessio/vitess/pull/17727) introduces new metrics for queries. Via this work we have deprecated several vtgate metrics, please see the [Deprecated Metrics](#deprecated-metrics) section. Here is an example on how to use them:
123123
```
124124
Query: select t1.a, t2.b from t1 join t2 on t1.id = t2.id
125125
Shards: 2
@@ -131,8 +131,6 @@ Metrics Published:
131131
3. QueryExecutionsByTable – {select, t1}, 1 and {select, t2}, 1
132132
```
133133

134-
---
135-
136134
#### <a id="new-vttablet-metrics"/>VTTablet
137135

138136
| Name | Dimensions | Description | PR |
@@ -170,8 +168,6 @@ The following fields can be dynamically changed -
170168

171169
To upgrade to the newer version of the configuration file, first switch to using the flags in your current deployment before upgrading. Then you can switch to using the configuration file in the newer release.
172170

173-
---
174-
175171
#### <a id="vtgate-config-file-changes"/>VTGate</a>
176172

177173
The Viper configuration keys for the following flags has been changed to match their flag names. Previously they had a discovery prefix instead of it being part of the name.
@@ -199,8 +195,6 @@ This is useful in scenarios where the disk is stalled and the primary vttablet i
199195
To opt into this feature, `--enable-primary-disk-stalled-recovery` flag has to be specified on VTOrc, and `--disk-write-dir` flag has to be specified on the vttablets.
200196
`--disk-write-interval` and `--disk-write-timeout` flags can be used to configure the polling interval and timeout respectively.
201197

202-
---
203-
204198
#### <a id="key-range-vtorc"/>KeyRanges in `--clusters_to_watch`</a>
205199
VTOrc now supports specifying keyranges in the `--clusters_to_watch` flag. This means that there is no need to restart a VTOrc instance with a different flag value when you reshard a keyspace.
206200

@@ -234,8 +228,6 @@ VTGate also advertises MySQL version `8.0.40` by default instead of `8.0.30` if
234228
>
235229
> This is the last time this will be needed in the `8.0.x` series, as starting with MySQL `8.0.35` it is possible to upgrade and downgrade between `8.0.x` versions without needing to run `innodb_fast_shutdown=0`.
236230
237-
---
238-
239231
#### <a id="debian-bookworm"/>Docker `vitess/lite` images with Debian Bookworm</a>
240232

241233
The base system now uses Debian Bookworm instead of Debian Bullseye for the `vitess/lite` images. This change was brought by [#17552](https://github.com/vitessio/vitess/pull/17552).
@@ -250,17 +242,13 @@ In [#7345](https://github.com/vitessio/vitess/pull/17345) we added support for [
250242

251243
If you are using MySQL 8.0 or later and using JSON columns, you can now enable this MySQL feature across your Vitess cluster(s) to lower the disk space needed for binary logs and improve the CPU and memory usage in both `mysqld` (standard intrashard MySQL replication) and `vttablet` ([VReplication](https://vitess.io/docs/reference/vreplication/vreplication/)) without losing any capabilities or features.
252244

253-
---
254-
255245
#### <a id="last-insert-id"/>`LAST_INSERT_ID(x)`</a>
256246

257247
In [#17408](https://github.com/vitessio/vitess/pull/17408) and [#17409](https://github.com/vitessio/vitess/pull/17409), we added the ability to use `LAST_INSERT_ID(x)` in Vitess directly at vtgate. This improvement allows certain queries—like `SELECT last_insert_id(123);` or `SELECT last_insert_id(count(*)) ...`—to be handled without relying on MySQL for the final value.
258248

259249
**Limitations**:
260250
- When using `LAST_INSERT_ID(x)` in ordered queries (e.g., `SELECT last_insert_id(col) FROM table ORDER BY foo`), MySQL sets the session’s last-insert-id value according to the *last row returned*. Vitess does not guarantee the same behavior.
261251

262-
---
263-
264252
#### <a id="max-idle-connections"/>Maximum Idle Connections in the Pool</a>
265253

266254
In [#17443](https://github.com/vitessio/vitess/pull/17443) we introduced a new configurable max-idle-count parameter for connection pools. This allows you to specify the maximum number of idle connections retained in each connection pool to optimize performance and resource efficiency.
@@ -272,8 +260,6 @@ You can control idle connection retention for the query server’s query pool, s
272260

273261
This feature ensures that, during traffic spikes, idle connections are available for faster responses, while minimizing overhead in low-traffic periods by limiting the number of idle connections retained. It helps strike a balance between performance, efficiency, and cost.
274262

275-
---
276-
277263
#### <a id="query-logs"/>Filtering Query logs on Error</a>
278264

279265
The `querylog-mode` setting can be configured to `error` to log only queries that result in errors. This option is supported in both VTGate and VTTablet.
@@ -287,6 +273,8 @@ Prepared statements now benefit from Deferred Optimization, enabling parameter-a
287273
Initially, a baseline plan is created at prepare-time, and on first execution, a more efficient parameter-optimized plan is generated.
288274
Subsequent executions dynamically switch between these plans based on input values, improving query performance while ensuring correctness.
289275

276+
---
277+
290278
### <a id="rpc-changes"/>RPC Changes</a>
291279

292280
These are the RPC changes made in this release -
@@ -358,8 +346,6 @@ While the flag will continue to accept float values (interpreted as seconds) for
358346

359347
- `--consolidator-query-waiter-cap` flag to set the maximum number of clients allowed to wait on the consolidator. The default value is set to 0 for unlimited wait. Users can adjust this value based on the performance of VTTablet to avoid excessive memory usage and the risk of being OOMKilled, particularly in Kubernetes deployments.
360348

361-
---
362-
363349
#### <a id="reloading-vttablet-acl"/>ACL enforcement and reloading</a>
364350

365351
When a tablet is started with `--enforce-tableacl-config` it will exit with an error if the contents of the file are not valid. After the changes made in [#17485](https://github.com/vitessio/vitess/pull/17485) the tablet will no longer exit when reloading the contents of the file after receiving a SIGHUP. When the file contents are invalid on reload the tablet will now log an error and the active in-memory ACLs remain in effect.

changelog/22.0/README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,4 @@
11
## v22.0
22
* **[22.0.0](22.0.0)**
3+
* [Changelog](22.0.0/changelog.md)
4+
* [Release Notes](22.0.0/release_notes.md)

examples/compose/docker-compose.beginners.yml

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ services:
5858
- "3306"
5959

6060
vtctld:
61-
image: vitess/lite:${VITESS_TAG:-latest}
61+
image: vitess/lite:v22.0.0-rc1
6262
ports:
6363
- "15000:$WEB_PORT"
6464
- "$GRPC_PORT"
@@ -83,7 +83,7 @@ services:
8383
condition: service_healthy
8484
8585
vtgate:
86-
image: vitess/lite:${VITESS_TAG:-latest}
86+
image: vitess/lite:v22.0.0-rc1
8787
ports:
8888
- "15099:$WEB_PORT"
8989
- "$GRPC_PORT"
@@ -113,7 +113,7 @@ services:
113113
condition: service_healthy
114114

115115
schemaload:
116-
image: vitess/lite:${VITESS_TAG:-latest}
116+
image: vitess/lite:v22.0.0-rc1
117117
command:
118118
- sh
119119
- -c
@@ -146,12 +146,12 @@ services:
146146
environment:
147147
- KEYSPACES=$KEYSPACE
148148
- GRPC_PORT=15999
149-
image: vitess/lite:${VITESS_TAG:-latest}
149+
image: vitess/lite:v22.0.0-rc1
150150
volumes:
151151
- .:/script
152152

153153
vttablet100:
154-
image: vitess/lite:${VITESS_TAG:-latest}
154+
image: vitess/lite:v22.0.0-rc1
155155
ports:
156156
- "15100:$WEB_PORT"
157157
- "$GRPC_PORT"
@@ -183,7 +183,7 @@ services:
183183
retries: 15
184184

185185
vttablet101:
186-
image: vitess/lite:${VITESS_TAG:-latest}
186+
image: vitess/lite:v22.0.0-rc1
187187
ports:
188188
- "15101:$WEB_PORT"
189189
- "$GRPC_PORT"
@@ -215,7 +215,7 @@ services:
215215
retries: 15
216216

217217
vttablet102:
218-
image: vitess/lite:${VITESS_TAG:-latest}
218+
image: vitess/lite:v22.0.0-rc1
219219
ports:
220220
- "15102:$WEB_PORT"
221221
- "$GRPC_PORT"
@@ -247,7 +247,7 @@ services:
247247
retries: 15
248248

249249
vttablet103:
250-
image: vitess/lite:${VITESS_TAG:-latest}
250+
image: vitess/lite:v22.0.0-rc1
251251
ports:
252252
- "15103:$WEB_PORT"
253253
- "$GRPC_PORT"
@@ -279,7 +279,7 @@ services:
279279
retries: 15
280280

281281
vtorc:
282-
image: vitess/lite:${VITESS_TAG:-latest}
282+
image: vitess/lite:v22.0.0-rc1
283283
command: ["sh", "-c", "/script/vtorc-up.sh"]
284284
depends_on:
285285
- vtctld
@@ -309,7 +309,7 @@ services:
309309
retries: 15
310310

311311
vreplication:
312-
image: vitess/lite:${VITESS_TAG:-latest}
312+
image: vitess/lite:v22.0.0-rc1
313313
volumes:
314314
- ".:/script"
315315
environment:

examples/compose/docker-compose.yml

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ services:
7575
- SCHEMA_FILES=lookup_keyspace_schema_file.sql
7676
- POST_LOAD_FILE=
7777
- EXTERNAL_DB=0
78-
image: vitess/lite:${VITESS_TAG:-latest}
78+
image: vitess/lite:v22.0.0-rc1
7979
volumes:
8080
- .:/script
8181
schemaload_test_keyspace:
@@ -101,7 +101,7 @@ services:
101101
- SCHEMA_FILES=test_keyspace_schema_file.sql
102102
- POST_LOAD_FILE=
103103
- EXTERNAL_DB=0
104-
image: vitess/lite:${VITESS_TAG:-latest}
104+
image: vitess/lite:v22.0.0-rc1
105105
volumes:
106106
- .:/script
107107
set_keyspace_durability_policy:
@@ -115,7 +115,7 @@ services:
115115
environment:
116116
- KEYSPACES=test_keyspace lookup_keyspace
117117
- GRPC_PORT=15999
118-
image: vitess/lite:${VITESS_TAG:-latest}
118+
image: vitess/lite:v22.0.0-rc1
119119
volumes:
120120
- .:/script
121121
vreplication:
@@ -129,7 +129,7 @@ services:
129129
- TOPOLOGY_FLAGS=--topo_implementation consul --topo_global_server_address consul1:8500
130130
--topo_global_root vitess/global
131131
- EXTERNAL_DB=0
132-
image: vitess/lite:${VITESS_TAG:-latest}
132+
image: vitess/lite:v22.0.0-rc1
133133
volumes:
134134
- .:/script
135135
vtctld:
@@ -143,7 +143,7 @@ services:
143143
depends_on:
144144
external_db_host:
145145
condition: service_healthy
146-
image: vitess/lite:${VITESS_TAG:-latest}
146+
image: vitess/lite:v22.0.0-rc1
147147
ports:
148148
- 15000:8080
149149
- "15999"
@@ -160,7 +160,7 @@ services:
160160
--normalize_queries=true '
161161
depends_on:
162162
- vtctld
163-
image: vitess/lite:${VITESS_TAG:-latest}
163+
image: vitess/lite:v22.0.0-rc1
164164
ports:
165165
- 15099:8080
166166
- "15999"
@@ -182,7 +182,7 @@ services:
182182
- EXTERNAL_DB=0
183183
- DB_USER=
184184
- DB_PASS=
185-
image: vitess/lite:${VITESS_TAG:-latest}
185+
image: vitess/lite:v22.0.0-rc1
186186
ports:
187187
- 13000:8080
188188
volumes:
@@ -217,7 +217,7 @@ services:
217217
- CMD-SHELL
218218
- curl -s --fail --show-error localhost:8080/debug/health
219219
timeout: 10s
220-
image: vitess/lite:${VITESS_TAG:-latest}
220+
image: vitess/lite:v22.0.0-rc1
221221
ports:
222222
- 15101:8080
223223
- "15999"
@@ -254,7 +254,7 @@ services:
254254
- CMD-SHELL
255255
- curl -s --fail --show-error localhost:8080/debug/health
256256
timeout: 10s
257-
image: vitess/lite:${VITESS_TAG:-latest}
257+
image: vitess/lite:v22.0.0-rc1
258258
ports:
259259
- 15102:8080
260260
- "15999"
@@ -291,7 +291,7 @@ services:
291291
- CMD-SHELL
292292
- curl -s --fail --show-error localhost:8080/debug/health
293293
timeout: 10s
294-
image: vitess/lite:${VITESS_TAG:-latest}
294+
image: vitess/lite:v22.0.0-rc1
295295
ports:
296296
- 15201:8080
297297
- "15999"
@@ -328,7 +328,7 @@ services:
328328
- CMD-SHELL
329329
- curl -s --fail --show-error localhost:8080/debug/health
330330
timeout: 10s
331-
image: vitess/lite:${VITESS_TAG:-latest}
331+
image: vitess/lite:v22.0.0-rc1
332332
ports:
333333
- 15202:8080
334334
- "15999"
@@ -365,7 +365,7 @@ services:
365365
- CMD-SHELL
366366
- curl -s --fail --show-error localhost:8080/debug/health
367367
timeout: 10s
368-
image: vitess/lite:${VITESS_TAG:-latest}
368+
image: vitess/lite:v22.0.0-rc1
369369
ports:
370370
- 15301:8080
371371
- "15999"
@@ -402,7 +402,7 @@ services:
402402
- CMD-SHELL
403403
- curl -s --fail --show-error localhost:8080/debug/health
404404
timeout: 10s
405-
image: vitess/lite:${VITESS_TAG:-latest}
405+
image: vitess/lite:v22.0.0-rc1
406406
ports:
407407
- 15302:8080
408408
- "15999"

0 commit comments

Comments
 (0)