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

tarantool / tarantool / 17270413968
88%

Build:
DEFAULT BRANCH: master
Ran 27 Aug 2025 03:07PM UTC
Jobs 1
Files 513
Run time 2min
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

27 Aug 2025 02:54PM UTC coverage: 87.618% (+0.007%) from 87.611%
17270413968

push

github

locker
box: deprecate space/txn triggers during recovery

There are a number of arguments to deprecate triggers on recovery:

- One has to write triggers with this peculiarity in mind. For example, if
a trigger is used for some kind of data exporting, it should be skipped
during recovery because the data must have already been exported before
restart.

- These triggers do not work with other engines. For example, in case of
Vinyl, the behavior is undefined: a trigger may or may not run for
a statement recovered from an xlog, depending on whether it was dumped
to disk before restart.

- Using `before_replace` triggers on recovery is dangerous because it may
break recovery. Even if it doesn't, one may get a database state, in
which the in-memory data is different from on-disk data, which may
result in weird breakages later.

- Supporting triggers on recovery slows down startup because we have to
run all statements recovered from the snapshot through the transaction
manager, see #11452 (Recovery performance regression (-1.5x on SSD)).

- Handling the triggers complicates our code. We have to disable certain
features if triggers are set, e.g. see #10847 (Save order of secondary
indexes to snapshot).

Now if `compat.box_recovery_triggers_deprecation` is 'new' we do not
trigger space and transactional events during recovery.

Closes #11756

@TarantoolBot document
Title: Deprecate triggers during recovery

Deprecate space and transactional triggers during recovery.

(Please create https://tarantool.io/compat/box_recovery_triggers_deprecation)

We are planning to switch the compat option to the new behavior starting
from Tarantool 4.0 with the ability to revert to the old behavior.
Starting from Tarantool 5.0 there will be no option to trigger events
during recovery.

71243 of 125035 branches covered (56.98%)

20 of 20 new or added lines in 3 files covered. (100.0%)

40 existing lines in 14 files now uncovered.

104708 of 119505 relevant lines covered (87.62%)

1376547.55 hits per line

Uncovered Existing Lines

Lines Coverage ∆ File
1
88.82
-0.62% src/box/engine.c
1
96.88
-1.56% src/box/engine.h
1
90.14
-0.08% src/box/vy_log.c
1
91.68
0.0% src/lib/swim/swim.c
1
22.64
-0.02% src/lib/uri/uri_parser.c
1
75.06
-0.25% src/main.cc
2
92.54
0.04% src/box/vinyl.c
2
84.65
0.01% src/box/xlog.c
2
89.25
-0.1% src/box/xrow.c
2
85.61
-0.72% src/lib/core/coio.c
3
90.9
-0.31% src/box/vy_scheduler.c
3
92.93
-0.29% src/lib/core/fiber.c
4
97.15
-0.2% src/lib/msgpuck/msgpuck.h
16
90.95
-0.44% src/box/box.cc
Jobs
ID Job ID Ran Files Coverage
1 17270413968.1 27 Aug 2025 03:07PM UTC 513
87.62
GitHub Action Run
Source Files on build 17270413968
  • Tree
  • List 513
  • Changed 30
  • Source Changed 0
  • Coverage Changed 30
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • e924e939 on github
  • Prev Build on master (#17263269689)
  • Next Build on master (#17291428737)
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