Skip to content

Commit 4228275

Browse files
committed
resolved conflict
Signed-off-by: Shlomi Noach <2607934+shlomi-noach@users.noreply.github.com>
2 parents 8fda8bc + 1c56ca1 commit 4228275

File tree

196 files changed

+7001
-6539
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

196 files changed

+7001
-6539
lines changed

changelog/22.0/22.0.0/summary.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
- **[Major Changes](#major-changes)**
66
- **[Deprecations and Deletions](#deprecations-and-deletions)**
77
- [Deprecated VTTablet Flags](#vttablet-flags)
8+
- [Removing gh-ost and pt-osc Online DDL strategies](#ghost-ptosc)
89
- **[RPC Changes](#rpc-changes)**
910
- **[Prefer not promoting a replica that is currently taking a backup](#reparents-prefer-not-backing-up)**
1011
- **[VTOrc Config File Changes](#vtorc-config-file-changes)**
@@ -19,6 +20,7 @@
1920
- **[Support for Filtering Query logs on Error](#query-logs)**
2021
- **[Minor Changes](#minor-changes)**
2122
- **[VTTablet Flags](#flags-vttablet)**
23+
- **[VTTablet ACL enforcement and reloading](#reloading-vttablet-acl)**
2224
- **[Topology read concurrency behaviour changes](#topo-read-concurrency-changes)**
2325
- **[VTAdmin](#vtadmin)**
2426
- [Updated to node v22.13.1](#updated-node)
@@ -37,6 +39,21 @@ These are the RPC changes made in this release -
3739

3840
- `twopc_enable` flag is deprecated. Usage of TwoPC commit will be determined by the `transaction_mode` set on VTGate via flag or session variable.
3941

42+
#### <a id="ghost-ptosc"/>Removing gh-ost and pt-osc Online DDL strategies</a>
43+
44+
Vitess no longer recognizes the `gh-ost` and `pt-osc` (`pt-online-schema-change`) Online DDL strategies. The `vitess` strategy is the recommended way to make schema changes at scale. `mysql` and `direct` strategies continue to be supported.
45+
46+
These `vttablet` flags have been removed:
47+
48+
- `--gh-ost-path`
49+
- `--pt-osc-path`
50+
51+
The use of `gh-ost` and `pt-osc` as strategies as follows, yields an error:
52+
```sh
53+
$ vtctldclient ApplySchema --ddl-strategy="gh-ost" ...
54+
$ vtctldclient ApplySchema --ddl-strategy="pt-osc" ...
55+
```
56+
4057
### <a id="reparents-prefer-not-backing-up"/>Prefer not promoting a replica that is currently taking a backup
4158

4259
Emergency reparents now prefer not promoting replicas that are currently taking backups with a backup engine other than
@@ -155,6 +172,10 @@ While the flag will continue to accept float values (interpreted as seconds) for
155172

156173
- `--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.
157174

175+
#### <a id="reloading-vttablet-acl"/>VTTablet ACL enforcement and reloading</a>
176+
177+
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 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.
178+
158179
### <a id="topo-read-concurrency-changes"/>`--topo_read_concurrency` behaviour changes
159180

160181
The `--topo_read_concurrency` flag was added to all components that access the topology and the provided limit is now applied separately for each global or local cell _(default `32`)_.

go/cmd/vtctldclient/command/schema.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ var (
4545
Long: `Applies the schema change to the specified keyspace on every primary, running in parallel on all shards. The changes are then propagated to replicas via replication.
4646
4747
If --allow-long-unavailability is set, schema changes affecting a large number of rows (and possibly incurring a longer period of unavailability) will not be rejected.
48-
--ddl-strategy is used to instruct migrations via vreplication, gh-ost or pt-osc with optional parameters.
48+
--ddl-strategy is used to instruct migrations via vreplication, mysql or direct with optional parameters.
4949
--migration-context allows the user to specify a custom migration context for online DDL migrations.
5050
If --skip-preflight, SQL goes directly to shards without going through sanity checks.
5151
@@ -430,7 +430,7 @@ func commandValidateSchemaShard(cmd *cobra.Command, args []string) error {
430430
}
431431

432432
func init() {
433-
ApplySchema.Flags().StringVar(&applySchemaOptions.DDLStrategy, "ddl-strategy", string(schema.DDLStrategyDirect), "Online DDL strategy, compatible with @@ddl_strategy session variable (examples: 'gh-ost', 'pt-osc', 'gh-ost --max-load=Threads_running=100'.")
433+
ApplySchema.Flags().StringVar(&applySchemaOptions.DDLStrategy, "ddl-strategy", string(schema.DDLStrategyDirect), "Online DDL strategy, compatible with @@ddl_strategy session variable (examples: 'direct', 'mysql', 'vitess --postpone-completion'.")
434434
ApplySchema.Flags().StringSliceVar(&applySchemaOptions.UUIDList, "uuid", nil, "Optional, comma-delimited, repeatable, explicit UUIDs for migration. If given, must match number of DDL changes.")
435435
ApplySchema.Flags().StringVar(&applySchemaOptions.MigrationContext, "migration-context", "", "For Online DDL, optionally supply a custom unique string used as context for the migration(s) in this command. By default a unique context is auto-generated by Vitess.")
436436
ApplySchema.Flags().DurationVar(&applySchemaOptions.WaitReplicasTimeout, "wait-replicas-timeout", grpcvtctldserver.DefaultWaitReplicasTimeout, "Amount of time to wait for replicas to receive the schema change via replication.")

go/cmd/vtctldclient/command/throttler.go

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -169,10 +169,6 @@ func init() {
169169
UpdateThrottlerConfig.Flags().StringVar(&updateThrottlerConfigOptions.MetricName, "metric-name", "", "name of the metric for which we apply a new threshold (requires --threshold). If empty, the default (either 'lag' or 'custom') metric is used.")
170170
UpdateThrottlerConfig.Flags().Float64Var(&updateThrottlerConfigOptions.Threshold, "threshold", 0, "threshold for the either default check (replication lag seconds) or custom check")
171171
UpdateThrottlerConfig.Flags().StringVar(&updateThrottlerConfigOptions.CustomQuery, "custom-query", "", "custom throttler check query")
172-
UpdateThrottlerConfig.Flags().BoolVar(&updateThrottlerConfigOptions.CheckAsCheckSelf, "check-as-check-self", false, "/throttler/check requests behave as is /throttler/check-self was called")
173-
UpdateThrottlerConfig.Flags().BoolVar(&updateThrottlerConfigOptions.CheckAsCheckShard, "check-as-check-shard", false, "use standard behavior for /throttler/check requests")
174-
UpdateThrottlerConfig.Flags().MarkDeprecated("check-as-check-self", "specify metric with scope in --app-metrics to apply to all checks, or use --scope in CheckThrottler for a specific check")
175-
UpdateThrottlerConfig.Flags().MarkDeprecated("check-as-check-shard", "specify metric with scope in --app-metrics to apply to all checks, or use --scope in CheckThrottler for a specific check")
176172

177173
UpdateThrottlerConfig.Flags().StringVar(&unthrottledAppRule.Name, "unthrottle-app", "", "an app name to unthrottle")
178174
UpdateThrottlerConfig.Flags().StringVar(&throttledAppRule.Name, "throttle-app", "", "an app name to throttle")

go/cmd/vttablet/cli/cli.go

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -248,7 +248,10 @@ func createTabletServer(ctx context.Context, env *vtenv.Environment, config *tab
248248
addStatusParts(qsc)
249249
})
250250
servenv.OnClose(qsc.StopService)
251-
qsc.InitACL(tableACLConfig, enforceTableACLConfig, tableACLConfigReloadInterval)
251+
err := qsc.InitACL(tableACLConfig, tableACLConfigReloadInterval)
252+
if err != nil && enforceTableACLConfig {
253+
return nil, fmt.Errorf("failed to initialize table acl: %w", err)
254+
}
252255
return qsc, nil
253256
}
254257

go/flags/endtoend/vtcombo.txt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,6 @@ Flags:
136136
--gate_query_cache_memory int gate server query cache size in bytes, maximum amount of memory to be cached. vtgate analyzes every incoming query and generate a query plan, these plans are being cached in a lru cache. This config controls the capacity of the lru cache. (default 33554432)
137137
--gc_check_interval duration Interval between garbage collection checks (default 1h0m0s)
138138
--gc_purge_check_interval duration Interval between purge discovery checks (default 1m0s)
139-
--gh-ost-path string override default gh-ost binary full path (default "gh-ost")
140139
--grpc-send-session-in-streaming If set, will send the session as last packet in streaming api to support transactions in streaming
141140
--grpc-use-effective-groups If set, and SSL is not used, will set the immediate caller's security groups from the effective caller id's groups.
142141
--grpc-use-static-authentication-callerid If set, will set the immediate caller id to the username authenticated by the static auth plugin.
@@ -265,7 +264,6 @@ Flags:
265264
--proto_topo vttest.TopoData vttest proto definition of the topology, encoded in compact text format. See vttest.proto for more information.
266265
--proxy_protocol Enable HAProxy PROXY protocol on MySQL listener socket
267266
--proxy_tablets Setting this true will make vtctld proxy the tablet status instead of redirecting to them
268-
--pt-osc-path string override default pt-online-schema-change binary full path (default "/usr/bin/pt-online-schema-change")
269267
--publish_retry_interval duration how long vttablet waits to retry publishing the tablet record (default 30s)
270268
--purge_logs_interval duration how often try to remove old logs (default 1h0m0s)
271269
--query-log-stream-handler string URL handler for streaming queries log (default "/debug/querylog")

go/flags/endtoend/vttablet.txt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,6 @@ Flags:
162162
--gc_purge_check_interval duration Interval between purge discovery checks (default 1m0s)
163163
--gcs_backup_storage_bucket string Google Cloud Storage bucket to use for backups.
164164
--gcs_backup_storage_root string Root prefix for all backup-related object names.
165-
--gh-ost-path string override default gh-ost binary full path (default "gh-ost")
166165
--grpc-dial-concurrency-limit int Maximum concurrency of grpc dial operations. This should be less than the golang max thread limit of 10000. (default 1024)
167166
--grpc_auth_mode string Which auth plugin implementation to use (eg: static)
168167
--grpc_auth_mtls_allowed_substrings string List of substrings of at least one of the client certificate names (separated by colon).
@@ -259,7 +258,6 @@ Flags:
259258
--port int port for the server
260259
--pprof strings enable profiling
261260
--pprof-http enable pprof http endpoints
262-
--pt-osc-path string override default pt-online-schema-change binary full path (default "/usr/bin/pt-online-schema-change")
263261
--publish_retry_interval duration how long vttablet waits to retry publishing the tablet record (default 30s)
264262
--purge_logs_interval duration how often try to remove old logs (default 1h0m0s)
265263
--query-log-stream-handler string URL handler for streaming queries log (default "/debug/querylog")

0 commit comments

Comments
 (0)