You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: changelog/25.0/25.0.0/summary.md
+12Lines changed: 12 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -12,6 +12,8 @@
12
12
- [Default data protection for `_reverse` workflow cancel/complete](#vreplication-reverse-workflow-data-protection)
13
13
-**[VTGate](#minor-changes-vtgate)**
14
14
-[New controls for cross-keyspace reads](#vtgate-cross-keyspace-reads)
15
+
-**[VTTablet](#minor-changes-vttablet)**
16
+
-[Consolidator Reject on Waiter Cap](#vttablet-consolidator-reject-on-cap)
15
17
-**[VTTablet](#minor-changes-vttablet)**
16
18
-[Schema engine table-count limit is now configurable](#vttablet-schema-max-table-count)
17
19
@@ -67,6 +69,16 @@ The VTGate flag prevents cross-keyspace reads globally, regardless of per-keyspa
67
69
68
70
### <aid="minor-changes-vttablet"/>VTTablet</a>
69
71
72
+
#### <aid="vttablet-consolidator-reject-on-cap"/>Consolidator Reject on Waiter Cap</a>
73
+
74
+
A new `--consolidator-reject-on-cap` flag (default `false`) has been added to VTTablet. When enabled alongside a non-zero `--consolidator-query-waiter-cap`, queries that would join a consolidated result but exceed the **global** consolidator waiter cap are rejected with a `RESOURCE_EXHAUSTED` error instead of silently falling back to independent MySQL execution.
75
+
76
+
**Important:** The cap is enforced against the consolidator's global `totalWaiterCount` across all queries, not a per-query waiter count. This means a duplicate for query B can be rejected because query A has already consumed most of the global waiter budget. This provides backpressure when the consolidator as a whole is saturated, rather than when any single query has too many waiters.
77
+
78
+
See [#19836](https://github.com/vitessio/vitess/pull/19836) for details.
79
+
80
+
### <aid="minor-changes-vttablet"/>VTTablet</a>
81
+
70
82
#### <aid="vttablet-schema-max-table-count"/>Schema engine table-count limit is now configurable</a>
71
83
72
84
Previously the schema engine had a hardcoded cap of 10,000 tables: a vttablet whose underlying MySQL had more than 10,000 tables would fail to load its schema and could not serve queries. This made recovery from `EmergencyReparentShard` impossible without dropping tables directly on MySQL.
Copy file name to clipboardExpand all lines: go/flags/endtoend/vtcombo.txt
+1Lines changed: 1 addition & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -49,6 +49,7 @@ Flags:
49
49
--config-type string Config file type (omit to infer config type from file extension).
50
50
--consolidator-cache-proto3-rows If true, the consolidation leader pre-caches proto3-encoded rows so that waiters avoid redundant encoding work.
51
51
--consolidator-query-waiter-cap int Configure the maximum number of clients allowed to wait on the consolidator.
52
+
--consolidator-reject-on-cap If true, reject queries with a RESOURCE_EXHAUSTED error when the global consolidator waiter cap is exceeded, instead of falling back to independent execution. The cap is enforced globally across all consolidated queries, not per-query.
52
53
--consolidator-stream-query-size int Configure the stream consolidator query size in bytes. Setting to 0 disables the stream consolidator. (default 2097152)
53
54
--consolidator-stream-total-size int Configure the stream consolidator total size in bytes. Setting to 0 disables the stream consolidator. (default 134217728)
54
55
--consul-auth-static-file string JSON File to read the topos/tokens from.
Copy file name to clipboardExpand all lines: go/flags/endtoend/vttablet.txt
+1Lines changed: 1 addition & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -82,6 +82,7 @@ Flags:
82
82
--config-type string Config file type (omit to infer config type from file extension).
83
83
--consolidator-cache-proto3-rows If true, the consolidation leader pre-caches proto3-encoded rows so that waiters avoid redundant encoding work.
84
84
--consolidator-query-waiter-cap int Configure the maximum number of clients allowed to wait on the consolidator.
85
+
--consolidator-reject-on-cap If true, reject queries with a RESOURCE_EXHAUSTED error when the global consolidator waiter cap is exceeded, instead of falling back to independent execution. The cap is enforced globally across all consolidated queries, not per-query.
85
86
--consolidator-stream-query-size int Configure the stream consolidator query size in bytes. Setting to 0 disables the stream consolidator. (default 2097152)
86
87
--consolidator-stream-total-size int Configure the stream consolidator total size in bytes. Setting to 0 disables the stream consolidator. (default 134217728)
87
88
--consul-auth-static-file string JSON File to read the topos/tokens from.
fs.Int64Var(¤tConfig.ConsolidatorQueryWaiterCap, "consolidator-query-waiter-cap", 0, "Configure the maximum number of clients allowed to wait on the consolidator.")
209
209
fs.BoolVar(¤tConfig.ConsolidatorCacheProto3Rows, "consolidator-cache-proto3-rows", defaultConfig.ConsolidatorCacheProto3Rows, "If true, the consolidation leader pre-caches proto3-encoded rows so that waiters avoid redundant encoding work.")
210
+
fs.BoolVar(¤tConfig.ConsolidatorRejectOnCap, "consolidator-reject-on-cap", defaultConfig.ConsolidatorRejectOnCap, "If true, reject queries with a RESOURCE_EXHAUSTED error when the global consolidator waiter cap is exceeded, instead of falling back to independent execution. The cap is enforced globally across all consolidated queries, not per-query.")
210
211
utils.SetFlagDurationVar(fs, &healthCheckInterval, "health-check-interval", defaultConfig.Healthcheck.Interval, "Interval between health checks")
211
212
utils.SetFlagDurationVar(fs, °radedThreshold, "degraded-threshold", defaultConfig.Healthcheck.DegradedThreshold, "replication lag after which a replica is considered degraded")
212
213
utils.SetFlagDurationVar(fs, &unhealthyThreshold, "unhealthy-threshold", defaultConfig.Healthcheck.UnhealthyThreshold, "replication lag after which a replica is considered unhealthy")
0 commit comments