Ran
|
Jobs
1
|
Files
479
|
Run time
2min
|
Badge
Embed ▾
README BADGES
|
push
github
vinyl: skip invisible read sources A Vinyl read iterator scans all read sources (memory and disk levels) even if it's executed in a read view from which most of the sources are invisible. As a result, a long running scanning request may spend most of the time skipping invisible statements. The situation is exacerbated if the instance is experiencing a heavy write load because it would pile up old statement versions in memory and force the iterator to skip over them after each disk read. Since the replica join procedure in Vinyl uses a read view iterator under the hood, the issue is responsible for a severe performance degradation of the master instance and the overall join procedure slowdown when a new replica is joined to an instance running under a heavy write load. Let's fix this issue by making a read iterator skip read sources that aren't visible from its read view. Closes #10846 NO_DOC=bug fix (cherry picked from commit 6a214e42e)
63152 of 114399 branches covered (55.2%)
18 of 18 new or added lines in 1 file covered. (100.0%)
22 existing lines in 8 files now uncovered.94022 of 109391 relevant lines covered (85.95%)
2648053.45 hits per line
Lines | Coverage | ∆ | File |
---|---|---|---|
1 |
94.55 |
-0.0% | src/box/vy_read_iterator.c |
1 |
92.51 |
-0.17% | src/box/txn_limbo.c |
1 |
96.0 |
-4.0% | src/lib/core/trigger.h |
2 |
95.18 |
-0.42% | src/lua/fiber.c |
3 |
93.2 |
-1.02% | src/box/gc.c |
4 |
86.89 |
-0.27% | src/box/vy_run.c |
5 |
93.71 |
-0.83% | src/box/replication.cc |
5 |
89.52 |
-0.5% | src/box/memtx_engine.cc |
ID | Job ID | Ran | Files | Coverage | |
---|---|---|---|---|---|
1 | 12051299558.1 | 479 |
85.95 |
GitHub Action Run |
Coverage | ∆ | File | Lines | Relevant | Covered | Missed | Hits/Line | Branch Hits | Branch Misses |
---|