cockroachdb / cockroachdb/cockroach

kvserver: leader lease scalability

Open
#173,613 1 comment 0 reactions 0 assignees View on GitHub
A-kv A-leader-leases C-enhancement O-support T-kv
Dominant language
Go
Stars
32.5k
Forks
4.1k
PR merge metrics
PR metrics pending

Description

**Describe the problem**

From @miraradeva, @iskettaneh,

This issue tracks leader lease scalability improvements identified from some escalations:
- start replicas off asleep (need to check if this even makes sense, e.g. they might just wake up immediately)
- improve de-fortification (either add backoff or augment the protocol with an ack mechanism)
- for the overloaded case, I think we have metrics/logs, but maybe we need a runbook to confirm this is the issue.
- read more on https://cockroachlabs.slack.com/archives/C0KB9Q03D/p1786378254685069

Adding a couple more:
- allow leaders to sleep (similarly to epoch lease quiescence); we should first validate if the complexity of the new handshake between leader and followers is worth it
- not necessarily related to scalability but we can work on a lease transfer protocol that doesn't require expiration leases; we've had a few examples of that temporary state being vulnerable

Jira issue: CRDB-66925

Contributor guide

Open the contributing guide

Research direction

Start by locating the kvserver leader-lease implementation and reviewing the listed escalation cases, then read the linked Slack discussion and Jira issue CRDB-66925. The issue contains several possible protocol and operational improvements but does not select one or define a single completion condition, so scope and done criteria need to be established first.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
databases, distributed-systems
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.