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

hyperledger / fabric-x-committer / 30467002604
91%

Build:
DEFAULT BRANCH: main
Ran 29 Jul 2026 03:45PM UTC
Jobs 3
Files 131
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

29 Jul 2026 03:40PM UTC coverage: 91.304% (-0.08%) from 91.382%
30467002604

push

github

web-flow
[sidecar] Validate and split _snapshot/_checkpoint system transactions (#702)

#### Type of change

- New feature
- Documentation update

#### Description

- On `_snapshot` commit, create a native zero-copy DB clone BEFORE the
marker's
txID commits, then rewrite the marker to a PENDING `SnapshotState`
carrying the
clone name — persisted atomically with the txID by the normal commit
path
  (invariant: txID committed <=> clone exists <=> PENDING row).
- Clone as of current time via plain `CREATE DATABASE ... TEMPLATE` (no
`AS OF`):
  the snapshot TX is drained/standalone, so "now" is the exact cut.
- Both backends: YugabyteDB `TEMPLATE` clone (source stays live;
requires
`enable_db_clone` + a PITR snapshot schedule); PostgreSQL `TEMPLATE ...
  STRATEGY=FILE_COPY` behind the ALLOW_CONNECTIONS/terminate dance.
- Skip cloning when the snapshot txID already exists in `tx_status`
(resubmission
or duplicate) so no orphan clone is left behind; a duplicate clone name
is
  treated as reuse. Clones are never dropped here.
- Wire the clone into the committer before the commit retry loop; on
clone
  failure the batch is not committed and the coordinator re-drives it.
- Reuse `committerpb.IsSystemNamespace`/`SystemNamespaces` from
fabric-x-common
  (bump the dep) and drop the duplicated local helpers.

#### Additional details (Optional)

- `adminExec` runs clone/admin DDL on a dedicated out-of-pool connection
with a
bounded dial timeout and is deliberately not retried (deterministic DDL
errors;
  42P04 "already exists" is mapped to success).
- Test-only `EnsureSnapshotScheduleForCloning` provisions the required
YugabyteDB
snapshot schedule per test DB (yb-admin; no SQL API); the container
enables
  `enable_db_clone`.
- Docs: added a snapshot subsection to `docs/validator-committer.md` and
a
provisioning/tuning step to `docs/deployment-guide.md` noting the
schedule is
  mandatory and retention should be kept short.
- Verified with `make test-all-db` (YugabyteDB snaps... (continued)

119 of 131 new or added lines in 2 files covered. (90.84%)

37 existing lines in 12 files now uncovered.

10563 of 11569 relevant lines covered (91.3%)

34970.27 hits per line

Uncovered Changes

Lines Coverage ∆ File
7
84.28
0.17% service/sidecar/mapping.go
5
85.12
-0.94% service/sidecar/relay.go

Coverage Regressions

Lines Coverage ∆ File
10
79.07
0.0% service/sidecar/sidecar.go
8
86.42
-0.58% service/vc/database.go
4
85.12
-0.94% service/sidecar/relay.go
3
91.21
-1.65% service/coordinator/validator_committer_manager.go
2
97.83
-2.17% service/verifier/verifier_server.go
2
84.28
0.17% service/sidecar/mapping.go
2
94.79
1.9% service/coordinator/signature_verifier_manager.go
2
96.81
1.2% service/coordinator/coordinator.go
1
97.5
-0.83% mock/coordinator.go
1
94.95
-1.01% loadgen/adapters/common.go
1
81.67
-1.67% loadgen/adapters/vcservice.go
1
80.33
-1.64% utils/utils.go
Jobs
ID Job ID Ran Files Coverage
1 db-test - 30467002604.1 29 Jul 2026 03:47PM UTC 131
79.18
GitHub Action Run
2 unit-test - 30467002604.2 29 Jul 2026 03:47PM UTC 95
84.62
GitHub Action Run
3 core-db-test - 30467002604.3 29 Jul 2026 03:45PM UTC 100
46.59
GitHub Action Run
Source Files on build 30467002604
  • Tree
  • List 131
  • Changed 16
  • Source Changed 0
  • Coverage Changed 16
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • 964af850 on github
  • Prev Build on main (#30438259031)
  • Next Build on main (#30541649421)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc