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

tarantool / tarantool / 12429
83%
master: 88%

Build:
Build:
LAST BUILD BRANCH: m.kostoev/delete_range
DEFAULT BRANCH: master
Ran 07 Jun 2018 06:14PM UTC
Jobs 1
Files 301
Run time 50s
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

pending completion
12429

push

travis-ci

kostja
vinyl: allow to build secondary index for non-empty space

This patch implements space_vtab::build_index callback for vinyl spaces.
Now instead of returning an error in case the space is not empty, the
callback will actually try to build a new index. The build procedure
consists of four steps:

 1. Prepare the LSM tree for building. This implies writing a special
    record to vylog, VY_LOG_PREPARE_LSM, and adding the new index to
    the vinyl scheduler so that it can be dumped during build. We need
    to log the new LSM tree so that we can keep track of run files
    created for it during build and remove them if build procedure
    fails.

 2. Inserting tuples stored in the space into the new LSM tree. Since
    there may concurrent DML requests, we install a trigger to forward
    them to the new index.

 3. Dumping the index to disk so that we don't have to rebuild it after
    recovery.

 4. Committing the new LSM tree in vylog (VY_LOG_CREATE_LSM).

Steps 1-3 are done from the space_vtab::build_index callback while
step 4 is done after WAL write, from index_vtab::commit_create.

While step 3 is being performed, new DML requests may be executed for
the altered space. Those requests will be reflected in the new index
thanks to the on_replace trigger, however they won't be recovered during
WAL recovery as they will appear in WAL before the ALTER record that
created the index. To recover them, we replay all statements stored in
the primary key's memory level when replaying the ALTER record during
WAL recovery.

Closes #1653

210 of 210 new or added lines in 4 files covered. (100.0%)

39452 of 48179 relevant lines covered (81.89%)

893285.94 hits per line

Jobs
ID Job ID Ran Files Coverage
3 12429.3 (TARGET=coverage) 07 Jun 2018 06:14PM UTC 0
81.89
Travis Job 12429.3
Source Files on build 12429
Detailed source file information is not available for this build.
  • Back to Repo
  • Travis Build #12429
  • 687f303e on github
  • Prev Build on 1.10 (#12428)
  • Next Build on 1.10 (#12456)
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