Commit 04e58b8
committed
kvserver: allowlist spanconfig updates to bypass range-size backpressure
This commit modifies `backpressurableSpans` to exclude the
`system.span_configurations` table by splitting the original span into
two ranges that create a gap around the `system.span_configurations`
table. This allows spanconfig updates to bypass backpressure entirely,
preventing the catch-22 deadlock. The corresponding test is then
modified to assert the new behaviour (i.e., span config updates are not
blocked).
We only allowlist the \`system.span_configurations\` table because
protected timestamp cleanup requires two writes: one to remove the PTS
record from \`system.protected_ts_records\` and another to translate that
removal into updated span configuration in \`system.span_configurations\`.
When backpressure blocks the spanconfig update, the reconciliation process
cannot complete, preventing protected timestamp cleanup and creating a
deadlock where the system cannot clean up its own protected timestamps.
Other system tables lack this circular dependency and are not excluded.
Fixes: #146982
Release note: None1 parent b95d17c commit 04e58b8
File tree
3 files changed
+23
-16
lines changed- pkg
- keys
- kv/kvserver
3 files changed
+23
-16
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
374 | 374 | | |
375 | 375 | | |
376 | 376 | | |
| 377 | + | |
| 378 | + | |
| 379 | + | |
| 380 | + | |
377 | 381 | | |
378 | 382 | | |
379 | 383 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
342 | 342 | | |
343 | 343 | | |
344 | 344 | | |
345 | | - | |
346 | | - | |
347 | | - | |
| 345 | + | |
| 346 | + | |
| 347 | + | |
| 348 | + | |
348 | 349 | | |
349 | 350 | | |
350 | 351 | | |
351 | 352 | | |
352 | | - | |
353 | | - | |
| 353 | + | |
| 354 | + | |
354 | 355 | | |
355 | | - | |
| 356 | + | |
356 | 357 | | |
357 | 358 | | |
358 | 359 | | |
| |||
438 | 439 | | |
439 | 440 | | |
440 | 441 | | |
441 | | - | |
442 | | - | |
| 442 | + | |
| 443 | + | |
443 | 444 | | |
444 | 445 | | |
445 | 446 | | |
| |||
517 | 518 | | |
518 | 519 | | |
519 | 520 | | |
520 | | - | |
521 | | - | |
522 | | - | |
| 521 | + | |
| 522 | + | |
| 523 | + | |
523 | 524 | | |
524 | 525 | | |
525 | 526 | | |
| |||
566 | 567 | | |
567 | 568 | | |
568 | 569 | | |
569 | | - | |
570 | | - | |
| 570 | + | |
| 571 | + | |
571 | 572 | | |
572 | 573 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
88 | 88 | | |
89 | 89 | | |
90 | 90 | | |
91 | | - | |
92 | | - | |
93 | | - | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
94 | 96 | | |
95 | 97 | | |
96 | 98 | | |
| |||
0 commit comments