Commit beeebb1
Merge #26911
26911: storage: quiesce ranges which have non-live replicas r=spencerkimball a=spencerkimball
Previously all replicas had to be completely up to date in order to
quiesce ranges. This made the loss of a node in a cluster with many
ranges an expensive proposition, as a significant number of ranges
could be kept unquiesced for as long as the node was down.
This change refreshes a liveness map from the `NodeLiveness`
object on every Raft ticker loop and then passes that to
`Replica.tick()` to allow the leader to disregard non-live nodes
when making its should-quiesce determination.
Release note (performance improvement): prevent dead nodes in clusters
with many ranges from causing unnecessarily high CPU usage.
Note that this PR requires #26908 to function properly
Fixes #9446
Co-authored-by: Spencer Kimball <spencer.kimball@gmail.com>3 files changed
+133
-21
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1556 | 1556 | | |
1557 | 1557 | | |
1558 | 1558 | | |
| 1559 | + | |
| 1560 | + | |
| 1561 | + | |
| 1562 | + | |
1559 | 1563 | | |
1560 | 1564 | | |
1561 | 1565 | | |
| |||
3633 | 3637 | | |
3634 | 3638 | | |
3635 | 3639 | | |
| 3640 | + | |
| 3641 | + | |
| 3642 | + | |
| 3643 | + | |
| 3644 | + | |
| 3645 | + | |
3636 | 3646 | | |
3637 | 3647 | | |
3638 | 3648 | | |
| |||
4111 | 4121 | | |
4112 | 4122 | | |
4113 | 4123 | | |
4114 | | - | |
| 4124 | + | |
4115 | 4125 | | |
4116 | 4126 | | |
4117 | 4127 | | |
| |||
4135 | 4145 | | |
4136 | 4146 | | |
4137 | 4147 | | |
4138 | | - | |
| 4148 | + | |
4139 | 4149 | | |
4140 | 4150 | | |
4141 | 4151 | | |
| |||
4194 | 4204 | | |
4195 | 4205 | | |
4196 | 4206 | | |
| 4207 | + | |
| 4208 | + | |
| 4209 | + | |
| 4210 | + | |
| 4211 | + | |
| 4212 | + | |
| 4213 | + | |
| 4214 | + | |
| 4215 | + | |
| 4216 | + | |
| 4217 | + | |
| 4218 | + | |
4197 | 4219 | | |
4198 | 4220 | | |
4199 | 4221 | | |
4200 | 4222 | | |
4201 | 4223 | | |
4202 | 4224 | | |
4203 | 4225 | | |
4204 | | - | |
4205 | | - | |
4206 | | - | |
4207 | | - | |
4208 | | - | |
4209 | | - | |
4210 | | - | |
4211 | | - | |
4212 | | - | |
| 4226 | + | |
4213 | 4227 | | |
4214 | | - | |
| 4228 | + | |
4215 | 4229 | | |
4216 | 4230 | | |
4217 | 4231 | | |
4218 | 4232 | | |
4219 | 4233 | | |
4220 | 4234 | | |
4221 | 4235 | | |
| 4236 | + | |
4222 | 4237 | | |
4223 | 4238 | | |
4224 | 4239 | | |
| |||
4250 | 4265 | | |
4251 | 4266 | | |
4252 | 4267 | | |
4253 | | - | |
| 4268 | + | |
| 4269 | + | |
| 4270 | + | |
| 4271 | + | |
| 4272 | + | |
4254 | 4273 | | |
4255 | 4274 | | |
4256 | 4275 | | |
| |||
4315 | 4334 | | |
4316 | 4335 | | |
4317 | 4336 | | |
| 4337 | + | |
4318 | 4338 | | |
4319 | | - | |
4320 | | - | |
| 4339 | + | |
| 4340 | + | |
4321 | 4341 | | |
4322 | 4342 | | |
4323 | | - | |
| 4343 | + | |
| 4344 | + | |
| 4345 | + | |
| 4346 | + | |
| 4347 | + | |
| 4348 | + | |
| 4349 | + | |
| 4350 | + | |
| 4351 | + | |
| 4352 | + | |
| 4353 | + | |
| 4354 | + | |
| 4355 | + | |
| 4356 | + | |
| 4357 | + | |
4324 | 4358 | | |
4325 | 4359 | | |
4326 | | - | |
| 4360 | + | |
4327 | 4361 | | |
4328 | 4362 | | |
4329 | 4363 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
8152 | 8152 | | |
8153 | 8153 | | |
8154 | 8154 | | |
8155 | | - | |
| 8155 | + | |
8156 | 8156 | | |
8157 | 8157 | | |
8158 | 8158 | | |
| |||
8206 | 8206 | | |
8207 | 8207 | | |
8208 | 8208 | | |
8209 | | - | |
| 8209 | + | |
8210 | 8210 | | |
8211 | 8211 | | |
8212 | 8212 | | |
| |||
9349 | 9349 | | |
9350 | 9350 | | |
9351 | 9351 | | |
| 9352 | + | |
9352 | 9353 | | |
9353 | 9354 | | |
9354 | 9355 | | |
9355 | 9356 | | |
9356 | 9357 | | |
| 9358 | + | |
| 9359 | + | |
| 9360 | + | |
| 9361 | + | |
| 9362 | + | |
9357 | 9363 | | |
9358 | 9364 | | |
9359 | 9365 | | |
| |||
9390 | 9396 | | |
9391 | 9397 | | |
9392 | 9398 | | |
| 9399 | + | |
| 9400 | + | |
| 9401 | + | |
| 9402 | + | |
| 9403 | + | |
| 9404 | + | |
| 9405 | + | |
9393 | 9406 | | |
9394 | 9407 | | |
9395 | 9408 | | |
| |||
9409 | 9422 | | |
9410 | 9423 | | |
9411 | 9424 | | |
| 9425 | + | |
| 9426 | + | |
| 9427 | + | |
| 9428 | + | |
| 9429 | + | |
9412 | 9430 | | |
9413 | 9431 | | |
9414 | | - | |
| 9432 | + | |
9415 | 9433 | | |
9416 | 9434 | | |
9417 | 9435 | | |
| |||
9471 | 9489 | | |
9472 | 9490 | | |
9473 | 9491 | | |
| 9492 | + | |
| 9493 | + | |
| 9494 | + | |
| 9495 | + | |
| 9496 | + | |
| 9497 | + | |
| 9498 | + | |
| 9499 | + | |
| 9500 | + | |
| 9501 | + | |
| 9502 | + | |
| 9503 | + | |
| 9504 | + | |
| 9505 | + | |
| 9506 | + | |
| 9507 | + | |
| 9508 | + | |
| 9509 | + | |
| 9510 | + | |
| 9511 | + | |
| 9512 | + | |
| 9513 | + | |
9474 | 9514 | | |
9475 | 9515 | | |
9476 | 9516 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
529 | 529 | | |
530 | 530 | | |
531 | 531 | | |
| 532 | + | |
| 533 | + | |
| 534 | + | |
| 535 | + | |
532 | 536 | | |
533 | 537 | | |
534 | 538 | | |
| |||
1428 | 1432 | | |
1429 | 1433 | | |
1430 | 1434 | | |
| 1435 | + | |
| 1436 | + | |
| 1437 | + | |
| 1438 | + | |
| 1439 | + | |
| 1440 | + | |
1431 | 1441 | | |
1432 | 1442 | | |
1433 | 1443 | | |
| |||
3704 | 3714 | | |
3705 | 3715 | | |
3706 | 3716 | | |
| 3717 | + | |
3707 | 3718 | | |
3708 | 3719 | | |
3709 | 3720 | | |
3710 | | - | |
| 3721 | + | |
3711 | 3722 | | |
3712 | 3723 | | |
3713 | 3724 | | |
3714 | 3725 | | |
3715 | 3726 | | |
3716 | 3727 | | |
3717 | 3728 | | |
| 3729 | + | |
| 3730 | + | |
| 3731 | + | |
| 3732 | + | |
| 3733 | + | |
| 3734 | + | |
| 3735 | + | |
| 3736 | + | |
| 3737 | + | |
| 3738 | + | |
| 3739 | + | |
| 3740 | + | |
| 3741 | + | |
| 3742 | + | |
| 3743 | + | |
| 3744 | + | |
| 3745 | + | |
| 3746 | + | |
| 3747 | + | |
| 3748 | + | |
| 3749 | + | |
| 3750 | + | |
| 3751 | + | |
3718 | 3752 | | |
3719 | 3753 | | |
3720 | 3754 | | |
| |||
3741 | 3775 | | |
3742 | 3776 | | |
3743 | 3777 | | |
| 3778 | + | |
| 3779 | + | |
| 3780 | + | |
| 3781 | + | |
3744 | 3782 | | |
3745 | 3783 | | |
3746 | 3784 | | |
| |||
0 commit comments