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

tarantool / tarantool / 6347148817
88%

Build:
DEFAULT BRANCH: master
Ran 29 Sep 2023 04:34AM UTC
Jobs 1
Files 496
Run time 20s
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

29 Sep 2023 04:23AM UTC coverage: 86.457% (+0.03%) from 86.429%
6347148817

push

github

alyapunov
space: move all space triggers to the trigger registry

The patch moves space triggers to trigger registry. Triggers for each
space are stored in two events: event, associated with space by name,
and event, associated with space by id. For example, if we have a space
named 'test' with id = 512, its on_replace trigger will be stored in
'box.space[512].on_replace' and 'box.space.test.on_replace' events. When
space triggers are fired, triggers, associated by id, are called first.
Since the triggers are moved to trigger registry, space trigger API is
slightly changed - it is populated with optional third argument (trigger
name) and its key-value variant.

One of the main advantages of using trigger registry is setting triggers
before box.cfg{}, but it would not be used for before_replace triggers
since they can change tuples on recovery, and most of the time the user
does not need it. To solve this problem, we decided to disable space
triggers on recovery. However, ability to change tuples during recovery
is necessary (for example, to be able to override engine on replica),
that is why the patch introduces recovery triggers for spaces - they are
fired only on recovery. Similar to regular triggers, recovery triggers
for each space are stored in two events. Recovery version of
before_replace triggers for space 'test' with id 512 are stored in
'box.space[512].before_recovery_replace' and
'box.space.test.before_recovery_replace'. Triggers on_replace have their
recovery version as well. Recovery triggers receive 2 arguments in
addition to its regular versions - xrow header and xrow body of type
MsgPack object. Both MsgPacks are maps with integer keys.

Since regular and recovery triggers cannot be used at the same time, we
store them at the same pointer in space - it refers to recovery triggers
on recovery and to regular ones when recovery is over. To update the
triggers, helper space_on_final_recovery_complete is used. However, it
is not fired after bootstrap... (continued)

64541 of 116180 branches covered (0.0%)

177 of 177 new or added lines in 8 files covered. (100.0%)

96515 of 111633 relevant lines covered (86.46%)

2661558.76 hits per line

Jobs
ID Job ID Ran Files Coverage
1 6347148817.1 29 Sep 2023 04:34AM UTC 0
86.46
GitHub Action Run
Source Files on build 6347148817
Detailed source file information is not available for this build.
  • Back to Repo
  • fa0a31b5 on github
  • Prev Build on master (#6344296298)
  • Next Build on master (#6347595013)
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