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

hyperledger / fabric-x-committer / 30467002604 / 2
91%
main: 91%

Build:
DEFAULT BRANCH: main
Ran 29 Jul 2026 03:47PM UTC
Files 95
Run time 4s
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: 84.624% (+0.03%) from 84.597%
30467002604.2

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)

6819 of 8058 relevant lines covered (84.62%)

1218.2 hits per line

Source Files on job unit-test - 30467002604.2
  • Tree
  • List 95
  • Changed 4
  • Source Changed 0
  • Coverage Changed 4
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Build 30467002604
  • 964af850 on github
  • Prev Job for on main (#30438259031.2)
  • Next Job for on main (#30541649421.1)
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