Skip to content

Commit

Permalink
Merge remote-tracking branch 'upstream/main' into vtgate-refactor
Browse files Browse the repository at this point in the history
Signed-off-by: Harshit Gangal <[email protected]>
  • Loading branch information
harshit-gangal committed Dec 3, 2024
2 parents a5797ff + 99d534b commit 7b7f6b3
Show file tree
Hide file tree
Showing 76 changed files with 1,291 additions and 605 deletions.
29 changes: 29 additions & 0 deletions changelog/19.0/19.0.8/changelog.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# Changelog of Vitess v19.0.8

### Bug fixes
#### Topology
* [release-19.0] Close zookeeper topo connection on disconnect (#17136) [#17191](https://github.com/vitessio/vitess/pull/17191)
#### VTTablet
* [release-19.0] Fix deadlock in messager and health streamer (#17230) [#17233](https://github.com/vitessio/vitess/pull/17233)
* [release-19.0] Fix potential deadlock in health streamer (#17261) [#17268](https://github.com/vitessio/vitess/pull/17268)
### CI/Build
#### Build/CI
* [release-19.0] Specify Ubuntu 24.04 for all jobs (#17278) [#17280](https://github.com/vitessio/vitess/pull/17280)
#### Cluster management
* [release-19.0] Fix flakiness in `TestListenerShutdown` (#17024) [#17187](https://github.com/vitessio/vitess/pull/17187)
#### General
* [release-19.0] Upgrade the Golang version to `go1.22.9` [#17214](https://github.com/vitessio/vitess/pull/17214)
### Enhancement
#### Query Serving
* [release-19.0] Fix to prevent stopping buffering prematurely (#17013) [#17203](https://github.com/vitessio/vitess/pull/17203)
### Internal Cleanup
#### Build/CI
* [release-19.0] Change the name of the vitess-tester repository (#16917) [#17028](https://github.com/vitessio/vitess/pull/17028)
### Release
#### General
* [release-19.0] Bump to `v19.0.8-SNAPSHOT` after the `v19.0.7` release [#17158](https://github.com/vitessio/vitess/pull/17158)
* [release-19.0] Code Freeze for `v19.0.8` [#17310](https://github.com/vitessio/vitess/pull/17310)
### Testing
#### Build/CI
* [release-19.0] Flakes: Address flakiness in TestZkConnClosedOnDisconnect (#17194) [#17195](https://github.com/vitessio/vitess/pull/17195)

7 changes: 7 additions & 0 deletions changelog/19.0/19.0.8/release_notes.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Release of Vitess v19.0.8
The entire changelog for this release can be found [here](https://github.com/vitessio/vitess/blob/main/changelog/19.0/19.0.8/changelog.md).

The release includes 11 merged Pull Requests.

Thanks to all our contributors: @app/vitess-bot, @frouioui, @vitess-bot

4 changes: 4 additions & 0 deletions changelog/19.0/README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,8 @@
## v19.0
* **[19.0.8](19.0.8)**
* [Changelog](19.0.8/changelog.md)
* [Release Notes](19.0.8/release_notes.md)

* **[19.0.7](19.0.7)**
* [Changelog](19.0.7/changelog.md)
* [Release Notes](19.0.7/release_notes.md)
Expand Down
27 changes: 27 additions & 0 deletions changelog/20.0/20.0.4/changelog.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# Changelog of Vitess v20.0.4

### Bug fixes
#### Query Serving
* [release-20.0] Use proper keyspace when updating the query graph of a reference DML (#17226) [#17257](https://github.com/vitessio/vitess/pull/17257)
#### Topology
* [release-20.0] Close zookeeper topo connection on disconnect (#17136) [#17192](https://github.com/vitessio/vitess/pull/17192)
#### VTTablet
* [release-20.0] Fix deadlock in messager and health streamer (#17230) [#17234](https://github.com/vitessio/vitess/pull/17234)
* [release-20.0] Fix potential deadlock in health streamer (#17261) [#17269](https://github.com/vitessio/vitess/pull/17269)
### CI/Build
#### Build/CI
* [release-20.0] Specify Ubuntu 24.04 for all jobs (#17278) [#17281](https://github.com/vitessio/vitess/pull/17281)
#### Cluster management
* [release-20.0] Fix flakiness in `TestListenerShutdown` (#17024) [#17188](https://github.com/vitessio/vitess/pull/17188)
#### General
* [release-20.0] Upgrade the Golang version to `go1.22.9` [#17212](https://github.com/vitessio/vitess/pull/17212)
### Enhancement
#### Query Serving
* [release-20.0] Fix to prevent stopping buffering prematurely (#17013) [#17204](https://github.com/vitessio/vitess/pull/17204)
### Internal Cleanup
#### Build/CI
* [release-20.0] Change the name of the vitess-tester repository (#16917) [#17029](https://github.com/vitessio/vitess/pull/17029)
### Testing
#### Build/CI
* [release-20.0] Flakes: Address flakiness in TestZkConnClosedOnDisconnect (#17194) [#17196](https://github.com/vitessio/vitess/pull/17196)

7 changes: 7 additions & 0 deletions changelog/20.0/20.0.4/release_notes.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Release of Vitess v20.0.4
The entire changelog for this release can be found [here](https://github.com/vitessio/vitess/blob/main/changelog/20.0/20.0.4/changelog.md).

The release includes 10 merged Pull Requests.

Thanks to all our contributors: @app/vitess-bot, @frouioui

4 changes: 4 additions & 0 deletions changelog/20.0/README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,8 @@
## v20.0
* **[20.0.4](20.0.4)**
* [Changelog](20.0.4/changelog.md)
* [Release Notes](20.0.4/release_notes.md)

* **[20.0.3](20.0.3)**
* [Changelog](20.0.3/changelog.md)
* [Release Notes](20.0.3/release_notes.md)
Expand Down
7 changes: 7 additions & 0 deletions changelog/21.0/21.0.0/summary.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
- [Deprecated VTTablet Flags](#vttablet-flags)
- [Deletion of deprecated metrics](#metric-deletion)
- [Deprecated Metrics](#deprecations-metrics)
- **[RPC Changes](#rpc-changes)**
- **[Traffic Mirroring](#traffic-mirroring)**
- **[Atomic Distributed Transaction Support](#atomic-transaction)**
- **[New VTGate Shutdown Behavior](#new-vtgate-shutdown-behavior)**
Expand Down Expand Up @@ -77,6 +78,12 @@ The following metrics are now deprecated and will be deleted in a future release
| `vttablet` | `QueryCacheHits` | `QueryEnginePlanCacheHits` |
| `vttablet` | `QueryCacheMisses` | `QueryEnginePlanCacheMisses` |

### <a id="rpc-changes"/>RPC Changes</a>

These are the RPC changes made in this release -
1. `ReadReparentJournalInfo` RPC has been added in TabletManagerClient interface, that is going to be used in EmergencyReparentShard for better errant GTID detection.
2. `PrimaryStatus` RPC in TabletManagerClient interface has been updated to also return the server UUID of the primary. This is going to be used in the vttablets so that they can do their own errant GTID detection in `SetReplicationSource`.

### <a id="traffic-mirroring"/>Traffic Mirroring</a>

Traffic mirroring is intended to help reduce some of the uncertainty inherent to `MoveTables SwitchTraffic`. When
Expand Down
57 changes: 57 additions & 0 deletions changelog/21.0/21.0.1/changelog.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
# Changelog of Vitess v21.0.1

### Bug fixes
#### Backup and Restore
* [release-21.0] Fix how we cancel the context in the builtin backup engine (#17285) [#17291](https://github.com/vitessio/vitess/pull/17291)
* [release-21.0] S3: optional endpoint resolver and correct retrier [#17307](https://github.com/vitessio/vitess/pull/17307)
#### Cluster management
* [release-21.0] Fix panic in vttablet when closing topo server twice (#17094) [#17122](https://github.com/vitessio/vitess/pull/17122)
#### Online DDL
* [release-21.0] Online DDL: fix defer function, potential connection pool exhaustion (#17207) [#17210](https://github.com/vitessio/vitess/pull/17210)
#### Query Serving
* [release-21.0] bugfix: treat EXPLAIN like SELECT (#17054) [#17058](https://github.com/vitessio/vitess/pull/17058)
* [release-21.0] Delegate Column Availability Checks to MySQL for Single-Route Queries (#17077) [#17087](https://github.com/vitessio/vitess/pull/17087)
* [release-21.0] bugfix: Handle CTEs with columns named in the CTE def (#17179) [#17181](https://github.com/vitessio/vitess/pull/17181)
* [release-21.0] Use proper keyspace when updating the query graph of a reference DML (#17226) [#17258](https://github.com/vitessio/vitess/pull/17258)
#### Topology
* [release-21.0] Close zookeeper topo connection on disconnect (#17136) [#17193](https://github.com/vitessio/vitess/pull/17193)
#### VReplication
* [release-21.0] VReplication: Qualify and SQL escape tables in created AutoIncrement VSchema definitions (#17174) [#17176](https://github.com/vitessio/vitess/pull/17176)
#### VTTablet
* [release-21.0] Fix deadlock in messager and health streamer (#17230) [#17235](https://github.com/vitessio/vitess/pull/17235)
* [release-21.0] Fix potential deadlock in health streamer (#17261) [#17270](https://github.com/vitessio/vitess/pull/17270)
### CI/Build
#### Build/CI
* [release-21.0] Specify Ubuntu 24.04 for all jobs (#17278) [#17282](https://github.com/vitessio/vitess/pull/17282)
#### Cluster management
* [release-21.0] Fix flakiness in `TestListenerShutdown` (#17024) [#17189](https://github.com/vitessio/vitess/pull/17189)
#### General
* [release-21.0] Upgrade the Golang version to `go1.23.3` [#17211](https://github.com/vitessio/vitess/pull/17211)
### Dependencies
#### Java
* [release-21.0] java package updates for grpc and protobuf and release plugins (#17100) [#17105](https://github.com/vitessio/vitess/pull/17105)
### Documentation
#### Documentation
* [Direct PR][release-21.0] Add RPC changes segment in the summary doc [#17034](https://github.com/vitessio/vitess/pull/17034)
### Enhancement
#### Online DDL
* [release-21.0] Improve Schema Engine's TablesWithSize80 query (#17066) [#17091](https://github.com/vitessio/vitess/pull/17091)
#### Query Serving
* [release-21.0] Fix to prevent stopping buffering prematurely (#17013) [#17205](https://github.com/vitessio/vitess/pull/17205)
#### VReplication
* [release-21.0] Binlog: Improve ZstdInMemoryDecompressorMaxSize management (#17220) [#17241](https://github.com/vitessio/vitess/pull/17241)
### Internal Cleanup
#### Build/CI
* [release-21.0] Change the name of the vitess-tester repository (#16917) [#17030](https://github.com/vitessio/vitess/pull/17030)
### Regression
#### Backup and Restore
* [release-21.0] Fix unreachable errors when taking a backup (#17062) [#17112](https://github.com/vitessio/vitess/pull/17112)
### Release
#### General
* [release-21.0] Bump to `v21.0.1-SNAPSHOT` after the `v21.0.0` release [#17098](https://github.com/vitessio/vitess/pull/17098)
### Testing
#### Build/CI
* [release-21.0] Flakes: Address flakiness in TestZkConnClosedOnDisconnect (#17194) [#17197](https://github.com/vitessio/vitess/pull/17197)
#### Query Serving
* [release-21.0] fix: flaky test on twopc transaction (#17068) [#17070](https://github.com/vitessio/vitess/pull/17070)

7 changes: 7 additions & 0 deletions changelog/21.0/21.0.1/release_notes.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Release of Vitess v21.0.1
The entire changelog for this release can be found [here](https://github.com/vitessio/vitess/blob/main/changelog/21.0/21.0.1/changelog.md).

The release includes 25 merged Pull Requests.

Thanks to all our contributors: @GuptaManan100, @app/vitess-bot, @frouioui, @vitess-bot

4 changes: 4 additions & 0 deletions changelog/21.0/README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,8 @@
## v21.0
* **[21.0.1](21.0.1)**
* [Changelog](21.0.1/changelog.md)
* [Release Notes](21.0.1/release_notes.md)

* **[21.0.0](21.0.0)**
* [Changelog](21.0.0/changelog.md)
* [Release Notes](21.0.0/release_notes.md)
24 changes: 23 additions & 1 deletion changelog/22.0/22.0.0/summary.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
- **[Major Changes](#major-changes)**
- **[RPC Changes](#rpc-changes)**
- **[Prefer not promoting a replica that is currently taking a backup](#reparents-prefer-not-backing-up)**
- **[VTOrc Config File Changes](#vtorc-config-file-changes)**


## <a id="major-changes"/>Major Changes</a>
Expand All @@ -25,4 +26,25 @@ For planned reparents, hosts taking backups with a backup engine other than `bui
valid candidates. This means they will never get promoted - not even if there's no other candidates.

Note that behavior for `builtin` backups remains unchanged: a replica that is currently taking a `builtin` backup will
never be promoted, neither by planned nor by emergency reparents.
never be promoted, neither by planned nor by emergency reparents.

### <a id="vtorc-config-file-changes"/>VTOrc Config File Changes</a>

The configuration file for VTOrc has been updated to now support dynamic fields. The old `--config` parameter has been removed. The alternative is to use the `--config-file` parameter. The configuration can now be provided in json, yaml or any other format that [viper](https://github.com/spf13/viper) supports.

The following fields can be dynamically changed -
1. `instance-poll-time`
2. `prevent-cross-cell-failover`
3. `snapshot-topology-interval`
4. `reasonable-replication-lag`
5. `audit-to-backend`
6. `audit-to-syslog`
7. `audit-purge-duration`
8. `wait-replicas-timeout`
9. `tolerable-replication-lag`
10. `topo-information-refresh-duration`
11. `recovery-poll-duration`
12. `allow-emergency-reparent`
13. `change-tablets-with-errant-gtid-to-drained`

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.
4 changes: 3 additions & 1 deletion examples/common/scripts/vtorc-up.sh
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,9 @@ vtorc \
$TOPOLOGY_FLAGS \
--logtostderr \
--alsologtostderr \
--config="${script_dir}/../vtorc/config.json" \
--config-path="${script_dir}/../vtorc/" \
--config-name="config.yaml" \
--config-type="yml" \
--port $port \
> "${log_dir}/vtorc.out" 2>&1 &

Expand Down
4 changes: 0 additions & 4 deletions examples/common/vtorc/config.json

This file was deleted.

13 changes: 13 additions & 0 deletions examples/common/vtorc/config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
instance-poll-time: 1s
prevent-cross-cell-failover: false
snapshot-topology-interval: 0h
reasonable-replication-lag: 10s
audit-to-backend: false
audit-to-syslog: false
audit-purge-duration: 168h
wait-replicas-timeout: 30s
tolerable-replication-lag: 0s
topo-information-refresh-duration: 15s
recovery-poll-duration: 1s
allow-emergency-reparent: true
change-tablets-with-errant-gtid-to-drained: false
2 changes: 1 addition & 1 deletion examples/operator/101_initial_cluster.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ spec:
cpu: 100m
memory: 128Mi
extraFlags:
recovery-period-block-duration: 5s
instance-poll-time: 1s
partitionings:
- equal:
parts: 1
Expand Down
2 changes: 1 addition & 1 deletion examples/operator/201_customer_tablets.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ spec:
cpu: 100m
memory: 128Mi
extraFlags:
recovery-period-block-duration: 5s
instance-poll-time: 1s
partitionings:
- equal:
parts: 1
Expand Down
2 changes: 1 addition & 1 deletion examples/operator/302_new_shards.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ spec:
cpu: 100m
memory: 128Mi
extraFlags:
recovery-period-block-duration: 5s
instance-poll-time: 1s
partitionings:
- equal:
parts: 1
Expand Down
2 changes: 1 addition & 1 deletion examples/operator/306_down_shard_0.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ spec:
cpu: 100m
memory: 128Mi
extraFlags:
recovery-period-block-duration: 5s
instance-poll-time: 1s
partitionings:
- equal:
parts: 1
Expand Down
2 changes: 1 addition & 1 deletion examples/operator/401_scheduled_backups.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,7 @@ spec:
cpu: 100m
memory: 128Mi
extraFlags:
recovery-period-block-duration: 5s
instance-poll-time: 1s
partitionings:
- equal:
parts: 1
Expand Down
16 changes: 4 additions & 12 deletions go/cmd/vtorc/cli/cli.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ import (
"github.com/spf13/cobra"

"vitess.io/vitess/go/acl"
"vitess.io/vitess/go/viperutil/debug"
"vitess.io/vitess/go/vt/log"
"vitess.io/vitess/go/vt/servenv"
"vitess.io/vitess/go/vt/vtorc/config"
Expand All @@ -29,8 +30,7 @@ import (
)

var (
configFile string
Main = &cobra.Command{
Main = &cobra.Command{
Use: "vtorc",
Short: "VTOrc is the automated fault detection and repair tool in Vitess.",
Example: `vtorc \
Expand All @@ -51,22 +51,16 @@ var (

func run(cmd *cobra.Command, args []string) {
servenv.Init()
config.UpdateConfigValuesFromFlags()
inst.RegisterStats()

log.Info("starting vtorc")
if len(configFile) > 0 {
config.ForceRead(configFile)
} else {
config.Read("/etc/vtorc.conf.json", "conf/vtorc.conf.json", "vtorc.conf.json")
}
if config.Config.AuditToSyslog {
if config.GetAuditToSyslog() {
inst.EnableAuditSyslog()
}
config.MarkConfigurationLoaded()

// Log final config values to debug if something goes wrong.
config.LogConfigValues()
log.Infof("Running with Configuration - %v", debug.AllSettings())
server.StartVTOrcDiscovery()

server.RegisterVTOrcAPIEndpoints()
Expand Down Expand Up @@ -96,7 +90,5 @@ func init() {
servenv.MoveFlagsToCobraCommand(Main)

logic.RegisterFlags(Main.Flags())
config.RegisterFlags(Main.Flags())
acl.RegisterFlags(Main.Flags())
Main.Flags().StringVar(&configFile, "config", "", "config file name")
}
1 change: 0 additions & 1 deletion go/flags/endtoend/vtorc.txt
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@ Flags:
--catch-sigpipe catch and ignore SIGPIPE on stdout and stderr if specified
--change-tablets-with-errant-gtid-to-drained Whether VTOrc should be changing the type of tablets with errant GTIDs to DRAINED
--clusters_to_watch strings Comma-separated list of keyspaces or keyspace/shards that this instance will monitor and repair. Defaults to all clusters in the topology. Example: "ks1,ks2/-80"
--config string config file name
--config-file string Full path of the config file (with extension) to use. If set, --config-path, --config-type, and --config-name are ignored.
--config-file-not-found-handling ConfigFileNotFoundHandling Behavior when a config file is not found. (Options: error, exit, ignore, warn) (default warn)
--config-name string Name of the config file (without extension) to search for. (default "vtconfig")
Expand Down
1 change: 0 additions & 1 deletion go/test/endtoend/cluster/cluster_process.go
Original file line number Diff line number Diff line change
Expand Up @@ -1301,7 +1301,6 @@ func (cluster *LocalProcessCluster) NewVTOrcProcess(config VTOrcConfiguration) *
VtctlProcess: *base,
LogDir: cluster.TmpDirectory,
Config: config,
WebPort: cluster.GetAndReservePort(),
Port: cluster.GetAndReservePort(),
}
}
Expand Down
Loading

0 comments on commit 7b7f6b3

Please sign in to comment.