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
144485: kvserver: shorten leader-lease min-expiration grace period r=arulajmani a=miraradeva
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
Co-authored-by: Mira Radeva <[email protected]>
0 commit comments