-
Notifications
You must be signed in to change notification settings - Fork 3.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
raft: support disabling heartbeats #125248
Comments
cc @cockroachdb/replication |
#122100 is not so much about removing the dependency on heartbeats to drive commit index - the issue makes the latter more efficient. Today, we have 2 mechanisms: |
129692: kv: don't quiesce leader leases r=nvanbenschoten a=nvanbenschoten Closes #129688. A fortified raft leader will not send raft heartbeats after we address #125248, so quiescence will not be needed. All liveness decisions are based on store liveness communication, which is cheap enough to not need a notion of quiescence. We should not merge this until after we address #125248. Release note: None 131439: rac2,replica_rac2: order replicaSendStream.mu before Replica.mu r=kvoli a=sumeerbhola The other way around is too hard to work with when we add pull mode. We will call MakeMsgAppAndAssumeSent from inside a replicaSendStream and will be adjusting replicaSendStream state before and after that call. During that call Replica.mu needs to be held, since Raft state for this follower (like Next) is being modified. It is not convenient to release and reacquire replicaSendStream.mu just for this purpose. Informs #130433 Epic: CRDB-37515 Release note: None Co-authored-by: Nathan VanBenschoten <[email protected]> Co-authored-by: sumeerbhola <[email protected]>
Raft fortification over Store Liveness present the opportunity to remove raft heartbeats. We should do so once these concepts have been migrated in and once the role of raft heartbeats to drive commit index propagation has been removed (#122100).
Jira issue: CRDB-39337
Epic CRDB-37522
The text was updated successfully, but these errors were encountered: