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
143616: kvserver: add kv.closed_timestamp.lead_for_global_reads_auto_tune.enabled r=arulajmani a=wenyihu6
This commit adds kv.closed_timestamp.lead_for_global_reads_auto_tune.enabled.
When enabled, ranges which are configured to serve global reads are assigned
policies based on observed latency between their leaseholder and furthest
follower. This dynamic adjustment helps optimize closed timestamp lead times. If
no latency data is available, falls back to default lead times. Note that the
LeadForGlobalReadsOverride setting takes precedence if set.
In addition, this commit changes the description for
kv.closed_timestamp.lead_for_global_reads_auto_tune_interval since we changed
the design, and the system now refreshes policies on every leaseholders
periodically regardless of whether auto-tuning is enabled. This commit
also changes this setting to be reserved rather than public.
Epic: none
Release note: none
Co-authored-by: wenyihu6 <[email protected]>
Copy file name to clipboardExpand all lines: docs/generated/settings/settings-for-tenants.txt
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -78,7 +78,7 @@ feature.stats.enabled boolean true set to true to enable CREATE STATISTICS/ANALY
78
78
jobs.retention_time duration 336h0m0s the amount of time for which records for completed jobs are retained application
79
79
kv.bulk_sst.target_size byte size 16 MiB target size for SSTs emitted from export requests; export requests (i.e. BACKUP) may buffer up to the sum of kv.bulk_sst.target_size and kv.bulk_sst.max_allowed_overage in memory system-visible
80
80
kv.closed_timestamp.follower_reads.enabled (alias: kv.closed_timestamp.follower_reads_enabled) boolean true allow (all) replicas to serve consistent historical reads based on closed timestamp information system-visible
81
-
kv.closed_timestamp.lead_for_global_reads_auto_tune_interval duration 5m0s interval at which the system updates closed timestamp policies for ranges based on observed network latency. If non-zero, global-read ranges are periodically assigned closed timestamp policies based on their leaseholder-to-furthest-follower latencies, affecting their closed timestamp lead times. If kv.closed_timestamp.lead_for_global_reads_override is set, it takes precedence over the auto-tuned value. Set to 0 to disable auto-tuning and use default lead time for global read ranges without using observed network latency. system-visible
81
+
kv.closed_timestamp.lead_for_global_reads_auto_tune.enabled boolean false if enabled, observed network latency between leaseholders and their furthest follower will be used to adjust closed timestamp policies for rangesranges configured to serve global reads. kv.closed_timestamp.lead_for_global_reads_override takes precedence if set. system-visible
82
82
kv.closed_timestamp.lead_for_global_reads_override duration 0s if nonzero, overrides the lead time that global_read ranges use to publish closed timestamps system-visible
83
83
kv.closed_timestamp.side_transport_interval duration 200ms the interval at which the closed timestamp side-transport attempts to advance each range's closed timestamp; set to 0 to disable the side-transport system-visible
84
84
kv.closed_timestamp.target_duration duration 3s if nonzero, attempt to provide closed timestamp notifications for timestamps trailing cluster time by approximately this duration system-visible
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
@@ -94,7 +94,7 @@
94
94
<tr><td><divid="setting-kv-bulk-sst-max-allowed-overage" class="anchored"><code>kv.bulk_sst.max_allowed_overage</code></div></td><td>byte size</td><td><code>64 MiB</code></td><td>if positive, allowed size in excess of target size for SSTs from export requests; export requests (i.e. BACKUP) may buffer up to the sum of kv.bulk_sst.target_size and kv.bulk_sst.max_allowed_overage in memory</td><td>Dedicated/Self-Hosted</td></tr>
95
95
<tr><td><divid="setting-kv-bulk-sst-target-size" class="anchored"><code>kv.bulk_sst.target_size</code></div></td><td>byte size</td><td><code>16 MiB</code></td><td>target size for SSTs emitted from export requests; export requests (i.e. BACKUP) may buffer up to the sum of kv.bulk_sst.target_size and kv.bulk_sst.max_allowed_overage in memory</td><td>Dedicated/Self-hosted (read-write); Serverless (read-only)</td></tr>
96
96
<tr><td><divid="setting-kv-closed-timestamp-follower-reads-enabled" class="anchored"><code>kv.closed_timestamp.follower_reads.enabled<br/>(alias: kv.closed_timestamp.follower_reads_enabled)</code></div></td><td>boolean</td><td><code>true</code></td><td>allow (all) replicas to serve consistent historical reads based on closed timestamp information</td><td>Dedicated/Self-hosted (read-write); Serverless (read-only)</td></tr>
97
-
<tr><td><divid="setting-kv-closed-timestamp-lead-for-global-reads-auto-tune-interval" class="anchored"><code>kv.closed_timestamp.lead_for_global_reads_auto_tune_interval</code></div></td><td>duration</td><td><code>5m0s</code></td><td>interval at which the system updates closed timestamp policies for ranges based on observed network latency. If non-zero, global-read ranges are periodically assigned closed timestamp policies based on their leaseholder-to-furthest-follower latencies, affecting their closed timestamp lead times. If kv.closed_timestamp.lead_for_global_reads_override is set, it takes precedence over the auto-tuned value. Set to 0 to disable auto-tuning and use default lead time for global read ranges without using observed network latency.</td><td>Dedicated/Self-hosted (read-write); Serverless (read-only)</td></tr>
97
+
<tr><td><divid="setting-kv-closed-timestamp-lead-for-global-reads-auto-tune-enabled" class="anchored"><code>kv.closed_timestamp.lead_for_global_reads_auto_tune.enabled</code></div></td><td>boolean</td><td><code>false</code></td><td>if enabled, observed network latency between leaseholders and their furthest follower will be used to adjust closed timestamp policies for rangesranges configured to serve global reads. kv.closed_timestamp.lead_for_global_reads_override takes precedence if set.</td><td>Dedicated/Self-hosted (read-write); Serverless (read-only)</td></tr>
98
98
<tr><td><divid="setting-kv-closed-timestamp-lead-for-global-reads-override" class="anchored"><code>kv.closed_timestamp.lead_for_global_reads_override</code></div></td><td>duration</td><td><code>0s</code></td><td>if nonzero, overrides the lead time that global_read ranges use to publish closed timestamps</td><td>Dedicated/Self-hosted (read-write); Serverless (read-only)</td></tr>
99
99
<tr><td><divid="setting-kv-closed-timestamp-side-transport-interval" class="anchored"><code>kv.closed_timestamp.side_transport_interval</code></div></td><td>duration</td><td><code>200ms</code></td><td>the interval at which the closed timestamp side-transport attempts to advance each range's closed timestamp; set to 0 to disable the side-transport</td><td>Dedicated/Self-hosted (read-write); Serverless (read-only)</td></tr>
100
100
<tr><td><divid="setting-kv-closed-timestamp-target-duration" class="anchored"><code>kv.closed_timestamp.target_duration</code></div></td><td>duration</td><td><code>3s</code></td><td>if nonzero, attempt to provide closed timestamp notifications for timestamps trailing cluster time by approximately this duration</td><td>Dedicated/Self-hosted (read-write); Serverless (read-only)</td></tr>
0 commit comments