|
Ran
|
Jobs
1
|
Files
514
|
Run time
2min
|
Badge
README BADGES
|
push
github
limbo: do not limit its size on replicas There was a possible deadlock when a replica had box.cfg.replication_synchro_queue_max_size smaller than the master. The scenario was that the replica would receive some transactions, they would all enter the limbo and wait for CONFIRM in "submitted" state. But the master sends more transactions instead of CONFIRM. Those transactions block the applier fiber in txn_commit_submit(), because the fiber can't exceed the limbo max size and is waiting for free space. The free space however will never appear, because those "submitted" transactions aren't going anywhere until CONFIRM receipt. Which in turn will never happen, because the applier fiber is blocked on waiting for limbo space. The only way is to let the replica apply these transactions bypassing the limbo max size limitation. It makes no sense to block them. Otherwise their CONFIRM can't be received. This was probably working until commit 20aad159d ("limbo: handle spurious wakeups on space waiting") (not counting that before that it was broken in many other ways), but seems like wasn't covered by the tests. Closes #11836 NO_DOC=bugfix
70073 of 117997 branches covered (59.39%)
3 of 3 new or added lines in 1 file covered. (100.0%)
34 existing lines in 13 files now uncovered.105253 of 120097 relevant lines covered (87.64%)
1362045.47 hits per line
| Lines | Coverage | ∆ | File |
|---|---|---|---|
| 1 |
88.96 |
-0.61% | src/box/engine.c |
| 1 |
96.88 |
-1.56% | src/box/engine.h |
| 1 |
96.3 |
0.01% | src/box/relay.cc |
| 1 |
90.14 |
-0.08% | src/box/vy_log.c |
| 1 |
85.77 |
-0.12% | src/box/xlog.c |
| 1 |
93.05 |
0.11% | src/lib/core/fiber.c |
| 1 |
91.68 |
0.0% | src/lib/swim/swim.c |
| 1 |
22.64 |
-0.02% | src/lib/uri/uri_parser.c |
| 2 |
92.57 |
0.09% | src/box/vinyl.c |
| 2 |
95.4 |
-2.3% | src/lib/core/histogram.c |
| 3 |
85.61 |
-1.08% | src/lib/core/coio.c |
| 3 |
96.95 |
-0.3% | src/lib/msgpuck/msgpuck.h |
| 16 |
90.88 |
-0.42% | src/box/box.cc |
| ID | Job ID | Ran | Files | Coverage | |
|---|---|---|---|---|---|
| 1 | 19279600247.1 | 514 |
87.64 |
GitHub Action Run |
| Coverage | ∆ | File | Lines | Relevant | Covered | Missed | Hits/Line | Branch Hits | Branch Misses |
|---|