Skip to content

Commit

Permalink
Release of v16.0.0 (#12470)
Browse files Browse the repository at this point in the history
* Release notes for 16.0.0

Signed-off-by: Manan Gupta <manan@planetscale.com>

* Release commit for 16.0.0

Signed-off-by: Manan Gupta <manan@planetscale.com>

* Minor tweaks after review

Signed-off-by: Matt Lord <mattalord@gmail.com>

* Clarify user vs developer for sidecardb schema

Signed-off-by: Matt Lord <mattalord@gmail.com>

* feat: update the summary doc too for future patch releases

Signed-off-by: Manan Gupta <manan@planetscale.com>

* feat: update release notes and changelog after recent changes

Signed-off-by: Manan Gupta <manan@planetscale.com>

* feat: fix summary file to add examples of label change

Signed-off-by: Manan Gupta <manan@planetscale.com>

* feat: update release notes and changelog

Signed-off-by: Manan Gupta <manan@planetscale.com>

---------

Signed-off-by: Manan Gupta <manan@planetscale.com>
Signed-off-by: Matt Lord <mattalord@gmail.com>
Co-authored-by: Matt Lord <mattalord@gmail.com>
  • Loading branch information
GuptaManan100 and mattlord committed Feb 28, 2023
1 parent a88a28a commit bb768df
Show file tree
Hide file tree
Showing 20 changed files with 292 additions and 225 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/code_freeze.yml
Expand Up @@ -9,4 +9,4 @@ jobs:
steps:
- name: Fail if Code Freeze is enabled
run: |
exit 1
exit 0
76 changes: 61 additions & 15 deletions doc/releasenotes/16_0_0_changelog.md

Large diffs are not rendered by default.

246 changes: 127 additions & 119 deletions doc/releasenotes/16_0_0_release_notes.md

Large diffs are not rendered by default.

31 changes: 22 additions & 9 deletions doc/releasenotes/16_0_0_summary.md
Expand Up @@ -174,6 +174,20 @@ The stats `QueriesProcessed` and `QueriesRouted` are deprecated in v16 as part o
The Prometheus metrics exporter now properly normalizes _all_ label names into their `snake_case` form, as it is idiomatic for Prometheus metrics. Previously, Vitess instances were emitting inconsistent labels for their metrics, with some of them being `CamelCase` and others being `snake_case`.
More information about this change can be found on [Pull Request #12057](https://github.com/vitessio/vitess/pull/12057).

For example, `vtgate_topology_watcher_errors{Operation="GetTablet"} 0` will become `vtgate_topology_watcher_errors{operation="GetTablet"} 0`

Some more of these changes are listed here -

| Previous metric | New Metric |
|-------------------------------------------------------------|-------------------------------------------------------------|
| vtgate_topology_watcher_operations{Operation="AddTablet"} | vtgate_topology_watcher_operations{operation="AddTablet"} |
| vtgate_queries_processed{Plan="Reference"} | vtgate_queries_processed{plan="Reference"} |
| vtgate_queries_routed{Plan="Reference"} | vtgate_queries_routed{plan="Reference"} |
| vttablet_table_allocated_size{Table="corder"} | vttablet_table_allocated_size{table="corder"} |
| vttablet_table_file_size{Table="corder"} | vttablet_table_file_size{table="corder"} |
| vttablet_topology_watcher_errors{Operation="GetTablet"} | vttablet_topology_watcher_errors{operation="GetTablet"} |
| vttablet_topology_watcher_operations{Operation="AddTablet"} | vttablet_topology_watcher_operations{operation="AddTablet"} |

### <a id="repl-manager-removal"/>Replication manager removal and VTOrc becomes mandatory
VTOrc is now a **required** component of Vitess starting from v16. If the users want Vitess to manage replication, then they must run VTOrc.
Replication manager is removed from vttablets since the responsibility of fixing replication lies entirely with VTOrc now.
Expand Down Expand Up @@ -215,7 +229,7 @@ In [Pull Request #11097](https://github.com/vitessio/vitess/pull/11097) we intro

`--query-timeout` allows you to specify a timeout for queries. This timeout is applied to all queries.
It can be overridden by setting the `query_timeout` session variable.
Setting it as command line directive with `QUERY_TIMEOUT_MS` will override other values.
Setting it as query comment directive with `QUERY_TIMEOUT_MS` will override other values.

#### <a id="vrepl-parallel-workers"/>VTTablet: VReplication parallel insert workers --vreplication-parallel-insert-workers

Expand Down Expand Up @@ -280,9 +294,9 @@ $ vtctlclient -- Backup --incremental_from_pos "auto" zone1-0000000102

When the value is `auto`, the position is evaluated as the last successful backup's `Position`. The idea with incremental backups is to create a contiguous (overlaps allowed) sequence of backups that store all changes from last full backup.

The incremental backup copies binary log files. It does not take MySQL down nor places any locks. It does not interrupt traffic on the MySQL server. The incremental backup copies comlete binlog files. It initially rotates binary logs, then copies anything from the requested position and up to the last completed binary log.
The incremental backup copies binary log files. It does not take MySQL down nor places any locks. It does not interrupt traffic on the MySQL server. The incremental backup copies complete binlog files. It initially rotates binary logs, then copies anything from the requested position and up to the last completed binary log.

The backup thus does not necessarily start _exactly_ at the requested position. It starts with the first binary log that has newer entries than requested position. It is OK if the binary logs include transactions prior to the equested position. The restore process will discard any duplicates.
The backup thus does not necessarily start _exactly_ at the requested position. It starts with the first binary log that has newer entries than requested position. It is OK if the binary logs include transactions prior to the requested position. The restore process will discard any duplicates.

Normally, you can expect the backups to be precisely contiguous. Consider an `auto` value: due to the nature of log rotation and the fact we copy complete binlog files, the next incremental backup will start with the first binay log not covered by the previous backup, which in itself copied the one previous binlog file in full. Again, it is completely valid to enter any good position.

Expand Down Expand Up @@ -319,13 +333,12 @@ The `RestoreFromBackup --restore_to_pos` ends with:
- tablet type is `DRAINED`

#### <a id="new-vexplain-command"/>New `vexplain` command
A new `vexplain` command has been introduced with the following syntax -
A new `vexplain` command has been introduced with the following syntax:
```
VEXPLAIN [ALL|QUERIES|PLAN] explainable_stmt
```

This command will help the users look at the plan that vtgate comes up with for the given query (`PLAN` type), see all the queries that are executed on all the MySQL instances (`QUERIES` type),
and see the vtgate plan along with the MySQL explain output for the executed queries (`ALL` type).
This command will help users look at the plan that vtgate comes up with for the given query (`PLAN` type), see all the queries that are executed on all the MySQL instances (`QUERIES` type), and see the vtgate plan along with the MySQL explain output for the executed queries (`ALL` type).

The formats `VTEXPLAIN` and `VITESS` for `EXPLAIN` queries are deprecated, and these newly introduced commands should be used instead.

Expand Down Expand Up @@ -452,11 +465,11 @@ BenchmarkCompressLz4Builtin
This is an internal refactor and should not change the behavior of Vitess as seen by users.

Developers will see a difference though: v16 changes the way we maintain vttablet's sidecar database schema (also referred to as the `_vt`
database). Instead of using the `WithDDL` package, introduced in #6348, we use a declarative approach. Users will now have to update
the desired schema in the `go/vt/sidecardb/schema` directory.
database). Instead of using the `WithDDL` package, introduced in [PR #6348](https://github.com/vitessio/vitess/pull/6348), we use a
declarative approach. Developers will now have to update the desired schema in the `go/vt/sidecardb/schema` directory.

The desired schema is specified, one per table. A new module `sidecardb`, compares this to the existing schema and
performs the required `create` or `alter` to reach it. This is done whenever a primary vttablet starts up.

The sidecar tables `local_metadata` and `shard_metadata` are no longer in use and all references to them are removed as
part of this refactor. There were used previously for Orchestrator support, which has been superseded by `vtorc`.
part of this refactor. They were used previously for Orchestrator support, which has been superseded by `vtorc`.
2 changes: 1 addition & 1 deletion docker/release.sh
@@ -1,7 +1,7 @@
#!/bin/bash
set -ex

vt_base_version='16.0.0-SNAPSHOT'
vt_base_version='v16.0.0'
debian_versions='buster bullseye'
default_debian_version='bullseye'

Expand Down
20 changes: 10 additions & 10 deletions examples/compose/docker-compose.beginners.yml
Expand Up @@ -58,7 +58,7 @@ services:
- "3306"

vtctld:
image: vitess/lite:v16.0.0-rc1
image: vitess/lite:v16.0.0
ports:
- "15000:$WEB_PORT"
- "$GRPC_PORT"
Expand All @@ -81,7 +81,7 @@ services:
condition: service_healthy
vtgate:
image: vitess/lite:v16.0.0-rc1
image: vitess/lite:v16.0.0
ports:
- "15099:$WEB_PORT"
- "$GRPC_PORT"
Expand Down Expand Up @@ -111,7 +111,7 @@ services:
condition: service_healthy

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

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

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

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

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

vtorc:
image: vitess/lite:v16.0.0-rc1
image: vitess/lite:v16.0.0
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:v16.0.0-rc1
image: vitess/lite:v16.0.0
volumes:
- ".:/script"
environment:
Expand Down
26 changes: 13 additions & 13 deletions examples/compose/docker-compose.yml
Expand Up @@ -75,7 +75,7 @@ services:
- SCHEMA_FILES=lookup_keyspace_schema_file.sql
- POST_LOAD_FILE=
- EXTERNAL_DB=0
image: vitess/lite:v16.0.0-rc1
image: vitess/lite:v16.0.0
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:v16.0.0-rc1
image: vitess/lite:v16.0.0
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:v16.0.0-rc1
image: vitess/lite:v16.0.0
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:v16.0.0-rc1
image: vitess/lite:v16.0.0
volumes:
- .:/script
vtctld:
Expand All @@ -143,7 +143,7 @@ services:
depends_on:
external_db_host:
condition: service_healthy
image: vitess/lite:v16.0.0-rc1
image: vitess/lite:v16.0.0
ports:
- 15000:8080
- "15999"
Expand All @@ -160,7 +160,7 @@ services:
--normalize_queries=true '
depends_on:
- vtctld
image: vitess/lite:v16.0.0-rc1
image: vitess/lite:v16.0.0
ports:
- 15099:8080
- "15999"
Expand All @@ -182,7 +182,7 @@ services:
- EXTERNAL_DB=0
- DB_USER=
- DB_PASS=
image: vitess/lite:v16.0.0-rc1
image: vitess/lite:v16.0.0
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:v16.0.0-rc1
image: vitess/lite:v16.0.0
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:v16.0.0-rc1
image: vitess/lite:v16.0.0
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:v16.0.0-rc1
image: vitess/lite:v16.0.0
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:v16.0.0-rc1
image: vitess/lite:v16.0.0
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:v16.0.0-rc1
image: vitess/lite:v16.0.0
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:v16.0.0-rc1
image: vitess/lite:v16.0.0
ports:
- 15302:8080
- "15999"
Expand Down

0 comments on commit bb768df

Please sign in to comment.