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
148230: changefeedccl: modify changefeed job payload to support db-level changefeeds r=asg0451 a=KeithCh
Update and populate changefeed job payload to
support db-level changefeeds.
Epic: CRDB-1421Resolves: #147370
Release note: None
149725: asim: fix shorter than expected replica change delay r=tbg a=wenyihu6
Previously, we used integer division to compute the delay for adding a replica,
which led to shorter than expected delays. We previously attempted to fix this
by switching to float division but didn't notice we are later casting to
time.Duration which truncated the result. This commit fixes the issue by casting
time.Second to a float instead.
Before:
```
I250709 03:24:05.016545 47 kv/kvserver/asim/op/settings.go:158 ⋮ [-] 54117 estimatedTimeToAddReplica: 0.80, s.RebalancingSnapshotRate: 33554432, base: 100000000
I250709 03:24:05.016549 47 kv/kvserver/asim/op/settings.go:161 ⋮ [-] 54118 calculated replica change delay: ‹100ms› for range size 26843545
```
After:
```
I250709 03:27:53.914048 43 kv/kvserver/asim/op/settings.go:159 ⋮ [-] 11096 estimatedTimeToAddReplica: 0.80, s.RebalancingSnapshotRate: 33554432, base: 100000000
I250709 03:27:53.914053 43 kv/kvserver/asim/op/settings.go:162 ⋮ [-] 11097 calculated replica change delay: ‹899.999982ms› for range size 26843545
```
See slack https://cockroachlabs.slack.com/archives/C048HDZJSAY/p1751935031605719 for more context.
Epic: none
Release note: none
149995: kvserver: add LBRebalancingMultiMetric r=tbg a=wenyihu6
**settings: support enum cluster setting validation**
Previously, enum cluster settings did not support validation check. This commit
adds one. I considered whether validation should take a string or an enum. If we
validate using the enum directly, we’d need separate validator function
signatures for each enum type, since `EnumSetting[T constraints.Integer]` is
generic but `SettingOption` isn’t. If we take a string, `ParseEnum` happens earlier
and `SET` only sees the enum's integer value, validating directly would require
converting the int back to a string.
I ended up taking in a string since it aligns with the existing design pattern
around enum settings.
1. `RegisterEnumSetting` uses strings for default values. 2. It feels more intuitive
to set the cluster setting with the string input. It did require us adding
`parseEnumInt64`, which converts the enum's integer value back to its string
representation for validation.
Epic: none
Release note: none
---
**kvserver: add LBRebalancingMultiMetric**
This commit adds a new option to kvserver.LoadBasedRebalancingMode for the
multi-metric allocator. Note that there is a validation check in place to
prevent users from enabling it since it is still an unimplemented feature.
Epic: none
Release note: none
149998: go.mod: bump Pebble to 837c19b81bab r=xinhaoz a=jbowens
Changes:
* [`837c19b8`](cockroachdb/pebble@837c19b8) db: fix double Close of directory lock during failed Open
* [`b35ff004`](cockroachdb/pebble@b35ff004) db: re-export base.LockDirectory, base.DirLock
* [`7d7e2f4b`](cockroachdb/pebble@7d7e2f4b) sstable: set up proper iterator transforms during EstimateDiskUsage
* [`20b0451b`](cockroachdb/pebble@20b0451b) db: validate sstable's blob value liveness during DebugCheckLevels
* [`ba961483`](cockroachdb/pebble@ba961483) pebble: fix wal recovery dir lock acquisition in Open
* [`6feecba1`](cockroachdb/pebble@6feecba1) pebble: add blob rewrite compaction count to metrics string
* [`42327e92`](cockroachdb/pebble@42327e92) fix: avoid reducing the last op in reduction process
* [`33e6fedc`](cockroachdb/pebble@33e6fedc) fix: use the correct key format in reduction
* [`4de9b7c5`](cockroachdb/pebble@4de9b7c5) db: reformat Metrics.String
* [`0ef4b16e`](cockroachdb/pebble@0ef4b16e) sstable: add separated value retrieval internal iterator stats
* [`dd0f8384`](cockroachdb/pebble@dd0f8384) pebble: lock wal directories on Open
* [`c8cfc93a`](cockroachdb/pebble@c8cfc93a) db: use internal iterator stats to populate compaction bytes read
* [`1dd9cda1`](cockroachdb/pebble@1dd9cda1) db: maintain per-block kind internal iterator stats
* [`41687897`](cockroachdb/pebble@41687897) compression: deflake TestAdaptiveCompressorCompressible
Release note: none.
Epic: none.
Co-authored-by: Keith Chow <[email protected]>
Co-authored-by: wenyihu6 <[email protected]>
Co-authored-by: Jackson Owens <[email protected]>
Copy file name to clipboardExpand all lines: docs/generated/settings/settings.html
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -85,7 +85,7 @@
85
85
<tr><td><divid="setting-jobs-retention-time" class="anchored"><code>jobs.retention_time</code></div></td><td>duration</td><td><code>336h0m0s</code></td><td>the amount of time for which records for completed jobs are retained</td><td>Serverless/Dedicated/Self-Hosted</td></tr>
86
86
<tr><td><divid="setting-kv-allocator-lease-rebalance-threshold" class="anchored"><code>kv.allocator.lease_rebalance_threshold</code></div></td><td>float</td><td><code>0.05</code></td><td>minimum fraction away from the mean a store's lease count can be before it is considered for lease-transfers</td><td>Dedicated/Self-Hosted</td></tr>
87
87
<tr><td><divid="setting-kv-allocator-load-based-lease-rebalancing-enabled" class="anchored"><code>kv.allocator.load_based_lease_rebalancing.enabled</code></div></td><td>boolean</td><td><code>true</code></td><td>set to enable rebalancing of range leases based on load and latency</td><td>Dedicated/Self-Hosted</td></tr>
88
-
<tr><td><divid="setting-kv-allocator-load-based-rebalancing" class="anchored"><code>kv.allocator.load_based_rebalancing</code></div></td><td>enumeration</td><td><code>leases and replicas</code></td><td>whether to rebalance based on the distribution of load across stores [off = 0, leases = 1, leases and replicas = 2]</td><td>Dedicated/Self-Hosted</td></tr>
88
+
<tr><td><divid="setting-kv-allocator-load-based-rebalancing" class="anchored"><code>kv.allocator.load_based_rebalancing</code></div></td><td>enumeration</td><td><code>leases and replicas</code></td><td>whether to rebalance based on the distribution of load across stores [off = 0, leases = 1, leases and replicas = 2, multi-metric = 3]</td><td>Dedicated/Self-Hosted</td></tr>
89
89
<tr><td><divid="setting-kv-allocator-load-based-rebalancing-objective" class="anchored"><code>kv.allocator.load_based_rebalancing.objective</code></div></td><td>enumeration</td><td><code>cpu</code></td><td>what objective does the cluster use to rebalance; if set to `qps` the cluster will attempt to balance qps among stores, if set to `cpu` the cluster will attempt to balance cpu usage among stores [qps = 0, cpu = 1]</td><td>Dedicated/Self-Hosted</td></tr>
90
90
<tr><td><divid="setting-kv-allocator-load-based-rebalancing-interval" class="anchored"><code>kv.allocator.load_based_rebalancing_interval</code></div></td><td>duration</td><td><code>1m0s</code></td><td>the rough interval at which each store will check for load-based lease / replica rebalancing opportunities</td><td>Dedicated/Self-Hosted</td></tr>
91
91
<tr><td><divid="setting-kv-allocator-qps-rebalance-threshold" class="anchored"><code>kv.allocator.qps_rebalance_threshold</code></div></td><td>float</td><td><code>0.1</code></td><td>minimum fraction away from the mean a store's QPS (such as queries per second) can be before it is considered overfull or underfull</td><td>Dedicated/Self-Hosted</td></tr>
0 commit comments