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
150168: kvstorage: revise replica deletion plan r=tbg a=pav-kv
This PR modifies the plan for `CreateUninitializedReplica`, `DestroyReplica` and `applySnapshot`. The `LogID` concept is no longer needed, and the snapshot transitions can retain the old raft log up to `RaftAppliedIndex` since the snapshot is always created at a higher index.
Epic: CRDB-49111
150835: kvserver: add mmaStoreRebalancer r=tbg,sumeerbhola a=wenyihu6
Epic: CRDB-25222
Release note: none
---
**kvserver: add MMARangeLoad**
Previously, we lacked a utility method for mma to inspect range load and convert
it to a mmaprototype.RangeLoad. This commit adds MMARangeLoad(), which builds a
mmaprototype.RangeLoad from a replica’s LoadStats. It is currently unused;
future commits will use it to populate the range message field for MMA input.
---
**kvserver: add mmaRangeMessageNeeded**
Previously, there was no struct under Replica to track state changes and signal
mma when an up-to-date range message with full information was needed. This
commit introduces such a struct - mmaRangeMessageNeeded. It is marked as needed
when any of the following occur: replica initialization, span config changes,
leaseholder changes, or range descriptor updates.
---
**kvserver: add more methods to mmaRangeMessageNeeded**
Previously, mmaRangeMessageNeeded was introduced to track when a replica state
change required sending updated information. This commit adds methods to
mmaRangeMessageNeeded to help mma decide whether a new range message with full
information is needed. Since processing full updates can be expensive, mma sends
them only when necessary. In addition to tracking state changes, the struct now
also tracks the content of the last full info range message sent to determine if
full information is necessary.
---
**kvserver: add store.MakeStoreLeaseholderMsg**
Previously, mma lacked a method to retrieve range messages for all leaseholder
replicas on a store. This commit adds such a method to Store, which iterates
over all replicas and constructs range message for leaseholder replicas. Note
that it is currently left unused. mma will use this as input for computing
rebalancing decisions in future commits.
---
**kvserver: add mmaStoreRebalancer**
This commit introduces mma_store_rebalancer.go, which defines the main struct
mmaStoreRebalancer and its basic methods for computing and applying rebalancing
changes. It is currently unplumbed; future commits will wire it into each store
and start a background goroutine to perform rebalancing periodically.
---
**kvserver: plumb mmaStoreRebalancer**
Previously, mmaStoreRebalancer was unplumbed. This commit initializes it per
Store. It also constructs and plumbs a shared MMAAllocator per node, which is
shared by all stores' mmaStoreRebalancer on the same node.
---
**kvserver: use RegisterCallback for mma**
Previously, we extended RegisterCallback to include origTimestampNanos in the
callback arguments. This commit puts it to use for MMA by registering a callback
in NewServer that notifies the MMA allocator of stores and updated store load
messages. This callback is triggered when the store descriptor is gossiped via
StoreGossip, either periodically or due to significant store capacity changes.
151058: backup: fix external storage error propagation r=dt a=dt
See #151050.
Fixes#151050.
Release note (bug fix): fix a bug that could cause some error returned by attempts to upload backup data to external storage providers to be undetected, potentially causing incomplete backups.
Epic: none.
Co-authored-by: Pavel Kalinnikov <[email protected]>
Co-authored-by: wenyihu6 <[email protected]>
Co-authored-by: David Taylor <[email protected]>
0 commit comments