• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

tarantool / tarantool / 23196
83%
master: 88%

Build:
Build:
LAST BUILD BRANCH: Godrik0/gh-12371-alert-transparent-huge-pages
DEFAULT BRANCH: master
Ran 24 Jun 2020 02:27PM UTC
Jobs 1
Files 306
Run time 6min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

24 Jun 2020 01:34PM UTC coverage: 82.643% (+0.02%) from 82.627%
23196

push

travis-ci

Korablev77
vinyl: restart read iterator in case L0 is changed

Data read in vinyl is known to yield in case of disc access. So it opens
a window for modifications of in-memory level. Imagine following scenario:
right before data selection tuple is inserted into space. It passes first
stage of commit procedure, i.e. it is prepared to be committed but still
is not yet reached WAL.  Meanwhile iterator is starting to read the same key.
At this moment prepared statement is already inserted to in-memory tree
ergo visible to read iterator. So, read iterator fetches this statement
and proceeds to disk scan.  In turn, disk scan yields and in this moment
WAL fails to write statement on disk. Next, two cases are possible:
1. WAL thread has enough time to complete rollback procedure.
2. WAL thread fails to finish rollback in this time gap.

In the first case read iterator should skip statement: version of
in-memory tree has diverged from iterator's one, so we fall back into
iterator restoration procedure. Mem iterator might become invalid so
the only choice is to restart whole 'advance' routine.
Let's don't try to restore it and always restart iteration cycle if
L0 level has changed during yield.

In the second case nothing is changed to read iterator, so it simply
returns prepared statement (and it is considered to be OK).

Closes #3395

(cherry picked from commit 83462a5cf)

41985 of 50803 relevant lines covered (82.64%)

964918.92 hits per line

Jobs
ID Job ID Ran Files Coverage
3 23196.3 (TARGET=coverage) 24 Jun 2020 02:27PM UTC 0
82.64
Travis Job 23196.3
Source Files on build 23196
Detailed source file information is not available for this build.
  • Back to Repo
  • Travis Build #23196
  • c1ae2bb8 on github
  • Prev Build on 1.10 (#23191)
  • Next Build on 1.10 (#23224)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc