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

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

Build:
Build:
LAST BUILD BRANCH: feature/adding_release_binary_workflow
DEFAULT BRANCH: main
Ran 30 Sep 2026 08:04AM UTC
Jobs 3
Files 141
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 Sep 2026 07:59AM UTC coverage: 90.858% (+0.1%) from 90.735%
36686940428

Pull #840

github

liran-funaro
[sidecar] Parse a block's transactions in parallel

#### Type of change

- Improvement (improvement to code, performance, etc)

#### Description

- Splits `mapBlock` into a parallel parse and a serial fold. `parseMessages` parses, classifies
  and validates each message across up to `max-workers-for-tx-parsing` goroutines, each given at
  least `min-tx-parsing-batch-size` messages, and `applyParsedTX` folds the results into the
  block in message order.
- Adds the sidecar `max-workers-for-tx-parsing` (default 1, parsing on one goroutine) and
  `min-tx-parsing-batch-size` (default 256) settings.
- The TX ID dedup set, the one-snapshot-per-block rule and the batch order stay single-threaded,
  so which transactions a block accepts and rejects does not depend on how parsing was split.
- Replaces `mapConfigTx` with `parseConfigTx` and `appendConfigTx`: a config TX is validated in
  the parallel pass, where failing the block is still an option, and appended in the serial one.
- Each parse worker builds its own messages' TxWithRefs in #833's per-block slabs, now allocated in
  `parseMessages`, so the slabs need no locking.

#### Related issues

- resolves #786

Signed-off-by: Liran Funaro <liran.funaro@gmail.com>
Pull Request #840: [sidecar] Parse a block's transactions in parallel

56 of 64 new or added lines in 3 files covered. (87.5%)

18 existing lines in 5 files now uncovered.

9790 of 10775 relevant lines covered (90.86%)

13406.71 hits per line

Uncovered Changes

Lines Coverage ∆ File
8
88.37
1.93% service/sidecar/mapping.go

Coverage Regressions

Lines Coverage ∆ File
5
94.39
-2.55% service/coordinator/coordinator.go
4
94.23
-2.88% mock/coordinator.go
4
74.26
-3.96% service/vc/validator.go
4
85.95
0.65% service/vc/database.go
1
96.2
-1.27% mock/sigverifier.go
Jobs
ID Job ID Ran Files Coverage
1 unit-test - 36686940428.1 30 Sep 2026 08:05AM UTC 95
86.28
GitHub Action Run
2 core-db-test - 36686940428.2 30 Sep 2026 08:07AM UTC 108
48.95
GitHub Action Run
3 db-test - 36686940428.3 30 Sep 2026 08:04AM UTC 141
78.52
GitHub Action Run
Source Files on build 36686940428
  • Tree
  • List 141
  • Changed 22
  • Source Changed 0
  • Coverage Changed 22
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Pull Request #840
  • PR Base - main (#36565007287)
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