Skip to content

kvserver: explore setting to only use expiration-based leases #93903

@erikgrinaker

Description

@erikgrinaker

We've seen that epoch-based leases can become non-functional under certain forms of partial or asymmetric network partitions, if the leaseholder can't reach the Raft leader but it is able to heartbeat its liveness record. Expiration-based leases are not vulnerable to this, since they require a Raft roundtrip to extend their lease.

As a mitigation for this, we should explore if it would be possible to add a setting that only uses expiration-based leases, taking the performance overhead into account (i.e. no quiescence and frequent lease extentions). We should benchmark how many ranges/node we can support with the setting enabled/disabled under a reasonable workload.

Jira issue: CRDB-22594

Epic CRDB-25199

Metadata

Metadata

Assignees

Labels

A-kv-distributionRelating to rebalancing and leasing.C-enhancementSolution expected to add code/behavior + preserve backward-compat (pg compat issues are exception)

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions