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

tarantool / tarantool / 14398388291
88%

Build:
DEFAULT BRANCH: master
Ran 11 Apr 2025 08:15AM UTC
Jobs 1
Files 518
Run time 1min
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

11 Apr 2025 07:55AM UTC coverage: 87.504% (+0.008%) from 87.496%
14398388291

push

github

Totktonada
config: support bs=native for failover=supervised

The `supervised` failover mode assumes an external agent that manages
the replicaset: mainly assigns RO/RW mode. If the bootstrap strategy is
`supervised` or `native`, this agent is also responsible to issue a
command on some instance to bootstrap a replicaset.

This way all the actions related to bootstrap is performed by the
external agent. The only thing that we should do on the instance is to
do nothing about the bootstrap: just wait for the command.

The commit implements exactly this: it disables all the logic that
assigns the RW mode or a bootstrap leader if the following conditions
are met:

* `replication.failover =`supervised` AND
* `replication.bootstrap_strategy` = `supervised` or `native`

Closes #10857

@TarantoolBot document
Title: `replication.bootstrap_strategy` = `native`

The new bootstrap strategy `native` is supported since the 3.4.0
release. It can be enabled using the `replication.bootstrap_strategy`
option in the YAML configuration.

Dev issue: https://github.com/tarantool/tarantool/issues/10857

The new strategy acts more or less similar to the `auto` strategy, but
relaxes its limitations (see details in the linked dev issue).

It is based on the `supervised` strategy and mainly performs two things:

* issues `box.ctl.make_bootstrap_leader({graceful = true})` to bootstrap
  a replicaset
* issues `box.ctl.make_bootstrap_leader()` to keep the bootstrap leader
  record pointing to the instance that is currently in the RW mode (to
  register new replicas)

The choice how to choose a bootstrap leader to initialize the replicaset
depends on the `replication.failover` option. See details in the linked
dev issue.

70293 of 123997 branches covered (56.69%)

103466 of 118241 relevant lines covered (87.5%)

3064034.94 hits per line

Uncovered Existing Lines

Lines Coverage ∆ File
1
88.55
-0.6% src/box/engine.c
1
95.31
-1.56% src/box/engine.h
1
95.05
-0.31% src/box/raft.c
1
96.14
-0.18% src/box/relay.cc
1
93.53
-0.14% src/box/txn_limbo.c
1
90.14
-0.08% src/box/vy_log.c
1
96.3
-3.7% src/cpu_feature.c
1
91.68
0.0% src/lib/swim/swim.c
2
92.45
-0.04% src/box/vinyl.c
2
94.78
-0.42% src/box/vy_read_iterator.c
2
84.24
-0.19% src/box/xlog.c
2
22.68
0.02% src/lib/uri/uri_parser.c
3
90.7
-0.22% src/box/applier.cc
4
81.82
-12.12% src/lua/minifio.c
5
87.24
-0.32% src/box/vy_run.c
Jobs
ID Job ID Ran Files Coverage
1 14398388291.1 11 Apr 2025 08:15AM UTC 518
87.5
GitHub Action Run
Source Files on build 14398388291
  • Tree
  • List 518
  • Changed 28
  • Source Changed 0
  • Coverage Changed 28
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • c36d3c0c on github
  • Prev Build on master (#14390803897)
  • Next Build on master (#14400600993)
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