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

tarantool / tarantool / 6347148817 / 1
88%
master: 88%

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

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%)

96515 of 111633 relevant lines covered (86.46%)

2661558.76 hits per line

Source Files on job 6347148817.1
  • Tree
  • List 0
  • Changed 418
  • Source Changed 0
  • Coverage Changed 40
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Build 6347148817
  • fa0a31b5 on github
  • Prev Job for on master (#6344296298.1)
  • Next Job for on master (#6347595013.1)
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