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
kvserver: shorten leader-lease min-expiration grace period
Previously, when constructing a new leader lease, the min-expiration of
the new lease was set to the maximum of the previous lease expiration
and now + 6s (where the 6s corresponded to the lease duration). While
the former is needed for correctness (to ensure the lease disjointness
property), the latter is just a grace period for the new leader to
finish fortifying. When now + 6s was introduced, the duration of store
liveness support was also 6s, so this matched the duration of a typical
leader lease. However, since then the store liveness support duration
was decreased to 3s, and now the 6s seems excessive for a grace
period.
This became evident from the last remaining case
(failover/non-system/blackhole-recv) where the failover duration of
expiration leases was a little better than leader leases
(see #133612). In this scenario, the old leader was not able to receive
messages but was successfully proposing new leader leases with
min-expirations of 6s into the future. When a new leader was eventually
elected, it had to wait out that min-expiration before starting a new
valid lease.
This commit introduces a new config setting for the fortification grace
period and sets it to a default of 3s.
Informs: #133612
Release note: None
0 commit comments