mmaprototype: track span config normalization errors #159872
Open
+264
−203
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Epic: CRDB-55052
Release note: none
mmaprototype: extract processRangeMsg from processStoreLeaseholderMsgInternal
This commit extracts a new function processRangeMsg from
processStoreLeaseholderMsgInternal so that we can use defer() to handle metrics
updates since it does continue in the loop.
mmaprototype: track span config normalization errors
This change splits the SpanConfigNormalizationError counter into two gauges
(HardError for nil conf, SoftError for usable best-effort conf) and adds a
hasNormalizationError field to rangeState so that errors persist until a new
config arrives.
Note that the gauge is updated in processStoreLeaseholderMsg rather than
rebalanceStores because it already iterates all leaseholder ranges at O(ranges)
cost, whereas rebalanceStores only iterates topK and would require an additional
full iteration.