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

hyperledger / fabric-x-committer / 30526556948
91%
main: 91%

Build:
Build:
LAST BUILD BRANCH: fix/696-integration-port-reservation
DEFAULT BRANCH: main
Ran 30 Jul 2026 08:28AM 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

30 Jul 2026 08:24AM UTC coverage: 91.223% (-0.08%) from 91.304%
30526556948

Pull #718

github

liran-funaro
[loadgen] Index-addressable workload with commit-time contention

#### Type of change

- New feature
- Improvement (improvement to code, performance, etc)

#### Description

Make the load generator's workload a pure function of a single global atomic
transaction index, and generate commit-time contention intrinsically by letting
slots reference existing keys by index instead of always creating fresh ones.
The default workload (new-keys-rate unset) is unchanged.

- Index-addressable generation: each slot's key and value, the nonce/TX-ID, and
  the metadata are derived from a domain-separated SHA-256 PRF over
  (rootSeed | domain | global-index), so any transaction is regenerable in O(1)
  by its global index -- no replay, buffer, or in-memory key store.
- A single shared atomic transaction-index counter replaces the per-worker PRNGs
  and seeders, so the generated multiset is identical for any worker count
  (workers are pure parallelism); reproducibility needs only the seed.
- New-vs-existing key split: keys live in one flat global index space; a key is
  created only by a write slot, and every other slot references an existing key
  within a moving working set below the frontier C(N) = floor(N * new-keys-rate).
  Knobs: `new-keys-rate` (creates per tx, writes-first with read-only spill),
  `reference-gap` (tx-distance behind for references), and `lookback-window`
  (working-set size). This produces contention the coordinator must order and
  subsumes the old DependencyDescription/ConflictProfile machinery.
- Batch-only, context-free pipeline: `buildBatch(n)` reserves n global indices
  with a single atomic increment and `signBatch` signs; the optional per-worker
  query stage lives in the stream worker (nil = no-op). Removes `Next()`,
  `Generator[T]`/`GenerateArray`, `MultiGenerator`, and `primitives.go`.
- Config consolidation: fold key-size and invalid-signature probability into
  `TransactionProfile`; drop `KeyProfile`/`ConflictProfile`; delete t... (continued)
Pull Request #718: [loadgen] Index-addressable workload with commit-time contention

242 of 252 new or added lines in 11 files covered. (96.03%)

30 existing lines in 9 files now uncovered.

10632 of 11655 relevant lines covered (91.22%)

16016.74 hits per line

Uncovered Changes

Lines Coverage ∆ File
8
82.0
-12.74% loadgen/workload/stream.go
2
98.0
loadgen/workload/tx_rand.go

Coverage Regressions

Lines Coverage ∆ File
6
91.94
-2.84% service/coordinator/signature_verifier_manager.go
5
94.82
-1.99% service/coordinator/coordinator.go
4
94.17
-3.33% mock/coordinator.go
4
87.8
-2.44% service/vc/committer.go
3
91.15
-1.33% service/vc/validator_committer_service.go
2
95.58
-1.77% mock/vcservice.go
2
94.74
-5.26% utils/statedb/database_connection.go
2
97.83
0.0% service/verifier/verifier_server.go
2
86.99
0.58% service/vc/database.go
Jobs
ID Job ID Ran Files Coverage
1 unit-test - 30526556948.1 30 Jul 2026 08:30AM UTC 94
84.27
GitHub Action Run
2 core-db-test - 30526556948.2 30 Jul 2026 08:28AM UTC 100
46.86
GitHub Action Run
3 db-test - 30526556948.3 30 Jul 2026 08:28AM UTC 131
79.39
GitHub Action Run
Source Files on build 30526556948
  • Tree
  • List 131
  • Changed 25
  • Source Changed 0
  • Coverage Changed 25
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Pull Request #718
  • PR Base - main (#30467002604)
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