Commit a8567ec
committed
sql: introduce
This commit introduces a new table-level storage parameter
`sql_stats_canary_window` that can be specified in CREATE TABLE or ALTER TABLE
statements. The canary window specifies how long newly collected
statistics will remain in "canary" state before being promoted to
stable, enabling gradual rollout of new statistics to mitigate
performance regressions.
When set to a positive duration, this parameter enables canary
statistics rollout for the table. During the canary window, the cluster
setting sql.stats.canary_fraction (introduced in the next commit)
determines what percentage of queries use the new canary statistics
versus the previous stable statistics, providing a buffer period for
observation and intervention.
Note that this commit adds only syntax support and storage for the
parameter. The actual canary statistics selection logic will be
implemented in subsequent commits.
Release note (sql change): A new table storage parameter
`sql_stats_canary_window` has been introduced to enable gradual rollout
of newly collected table statistics. It takes a duration string as the
value. When set with a positive duration, the new statistics remain in
a "canary" state for the specified duration before being promoted to
stable. This allows for controlled exposure and intervention
opportunities before statistics are fully deployed across all queries.sql_stats_canary_window storage parameter1 parent 3b2811c commit a8567ec
File tree
23 files changed
+315
-153
lines changed- pkg
- ccl/logictestccl/tests
- 3node-tenant
- local-read-committed
- local-repeatable-read
- cli/testdata/doctor
- sql
- catalog
- bootstrap/testdata
- catpb
- descpb
- tabledesc
- logictest
- testdata/logic_test
- tests
- fakedist-disk
- fakedist-vec-off
- fakedist
- local-legacy-schema-changer
- local-mixed-25.2
- local-mixed-25.3
- local-mixed-25.4
- local-vec-off
- local
- opt/exec/execbuilder/testdata
- storageparam/tablestorageparam
23 files changed
+315
-153
lines changedSome generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 7 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 7 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
14 | 14 | | |
15 | 15 | | |
16 | 16 | | |
17 | | - | |
| 17 | + | |
18 | 18 | | |
Large diffs are not rendered by default.
Large diffs are not rendered by default.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
104 | 104 | | |
105 | 105 | | |
106 | 106 | | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
107 | 110 | | |
108 | 111 | | |
109 | 112 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1378 | 1378 | | |
1379 | 1379 | | |
1380 | 1380 | | |
1381 | | - | |
| 1381 | + | |
| 1382 | + | |
| 1383 | + | |
| 1384 | + | |
| 1385 | + | |
| 1386 | + | |
| 1387 | + | |
| 1388 | + | |
| 1389 | + | |
1382 | 1390 | | |
1383 | 1391 | | |
1384 | 1392 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2604 | 2604 | | |
2605 | 2605 | | |
2606 | 2606 | | |
| 2607 | + | |
| 2608 | + | |
| 2609 | + | |
2607 | 2610 | | |
2608 | 2611 | | |
2609 | 2612 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
55 | 55 | | |
56 | 56 | | |
57 | 57 | | |
58 | | - | |
| 58 | + | |
59 | 59 | | |
60 | 60 | | |
61 | 61 | | |
| |||
154 | 154 | | |
155 | 155 | | |
156 | 156 | | |
157 | | - | |
158 | | - | |
159 | | - | |
| 157 | + | |
| 158 | + | |
160 | 159 | | |
161 | 160 | | |
162 | 161 | | |
| |||
0 commit comments