Commit 802f061
authored
Switch trigger timer on p28 boundary (#5350)
# Description
This enables the new trigger timer on the protocol 28 boundary. While we
had discussed the potential for this to be a non-protocol upgrade, and
just ask operators to switch at around the same time, we've received
slow response times historically from tier 1, which could leave the
network in a degraded state. This is the safest way to land the change.
I've also added a flag that, when set, forces validators to use the old
timer after the p28 upgrade. In the event that we see an unexpected perf
issue after the upgrade, we can instruct operators to set this flag to
roll back the change without a protocol upgrade. Finally, I also added
an upgrade path test, and fixed some flakey asserts. Specifically, in
the node drift tests, we assert that the drifting node detects it's
drift and falls back to the old timer. However, if the drifting node's
timer is externalized as the closeTime, the non-drifting nodes fall
back, as they think they are drifting relative to the rest of the
network. This is safe behavior, but the test would sometimes fail based
on leader schedules.
# Checklist
- [x] Reviewed the
[contributing](https://github.com/stellar/stellar-core/blob/master/CONTRIBUTING.md#submitting-changes)
document
- [x] Rebased on top of master (no merge commits)
- [x] Ran `clang-format` v8.0.0 (via `make format` or the Visual Studio
extension)
- [x] Compiles
- [x] Ran all tests
- [ ] If change impacts performance, include supporting evidence per the
[performance
document](https://github.com/stellar/stellar-core/blob/master/performance-eval/performance-eval.md)8 files changed
Lines changed: 297 additions & 77 deletions
File tree
- docs
- src
- herder
- test
- main
- test
- util
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
201 | 201 | | |
202 | 202 | | |
203 | 203 | | |
204 | | - | |
| 204 | + | |
205 | 205 | | |
206 | 206 | | |
207 | 207 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1447 | 1447 | | |
1448 | 1448 | | |
1449 | 1449 | | |
| 1450 | + | |
| 1451 | + | |
| 1452 | + | |
| 1453 | + | |
| 1454 | + | |
| 1455 | + | |
| 1456 | + | |
| 1457 | + | |
| 1458 | + | |
| 1459 | + | |
1450 | 1460 | | |
1451 | | - | |
| 1461 | + | |
1452 | 1462 | | |
1453 | 1463 | | |
1454 | 1464 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
358 | 358 | | |
359 | 359 | | |
360 | 360 | | |
361 | | - | |
| 361 | + | |
362 | 362 | | |
363 | 363 | | |
364 | 364 | | |
| |||
0 commit comments