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

hyperledger / fabric-x-committer / 35705135807
91%

Build:
DEFAULT BRANCH: main
Ran 22 Sep 2026 08:35AM UTC
Jobs 3
Files 139
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

22 Sep 2026 08:30AM UTC coverage: 90.556% (-0.02%) from 90.579%
35705135807

push

github

web-flow
[BREAKING] [sidecar] Unify sidecar RPCs into SidecarService, keep Fabric Deliver (#808)

#### Type of change

- Improvement (improvement to code, performance, etc)
- Bug fix
- Breaking change

#### Description

- Register a single `committerpb.SidecarService` in
`Service.RegisterService`,
replacing the separate `BlockQueryService` and `Notifier` registrations.
- Embed `*notifier` in `Service` and `UnimplementedSidecarServiceServer`
in
`notifier`, so selector depth promotes the block-query methods, the
stream
  methods, and the not-yet-implemented fallbacks onto one object without
  forwarder methods.
- Keep Fabric block delivery on the Fabric `protos.Deliver` service, a
separate
  gRPC service, so Fabric clients dial the sidecar unchanged.
- Move clients to `NewSidecarServiceClient`, and consume the renamed
upstream
block stream API (`StreamBlocks`, `StreamBlocksRequest`, `BlockEvent`),
  including `block_hash` and `prev_block_hash`.
- `StreamBlocks` now emits every committed block, including blocks whose
  filters match no transactions.
- `DeleteDBCloneForSnapshot` is reachable and answers `UNIMPLEMENTED`
until its
  pipeline lands.
- Guard the delivery session's config blocks behind
`configState.configBlock()`: the
embedded `*ConfigBlockMaterial` is nil until the first config block is
processed, so
`ToQueue` panicked when a session ended before that (also fixes the same
nil deref in
  the genesis-block comparison).

#### Additional details (Optional)

Requires the fabric-x-common release containing the unified
`SidecarService`
(hyperledger/fabric-x-common#179), pinned here as
`v0.2.9-0.20260910095823-4b946650f960`.

`UnimplementedSidecarServiceServer` is embedded on `notifier` rather
than on
`Service` on purpose: embedding it on `Service` would put it at the same
selector depth as the notifier's stream methods, making those selectors
ambiguous so `Service` would silently stop satisfying
`SidecarServiceServer`.

#### Related issues

- resolves #659

... (continued)

19 of 19 new or added lines in 5 files covered. (100.0%)

26 existing lines in 7 files now uncovered.

9512 of 10504 relevant lines covered (90.56%)

14430.51 hits per line

Coverage Regressions

Lines Coverage ∆ File
8
79.68
-1.15% service/sidecar/sidecar.go
5
84.94
-1.51% service/sidecar/mapping.go
4
94.44
-5.56% service/verifier/verifier_server.go
3
89.81
-1.91% service/coordinator/validator_committer_manager.go
3
93.37
-1.66% service/coordinator/signature_verifier_manager.go
2
75.31
-2.47% utils/statedb/snapshot_state.go
1
85.33
-1.33% loadgen/adapters/verifier.go
Jobs
ID Job ID Ran Files Coverage
1 core-db-test - 35705135807.1 22 Sep 2026 08:37AM UTC 106
48.35
GitHub Action Run
2 unit-test - 35705135807.2 22 Sep 2026 08:36AM UTC 94
85.95
GitHub Action Run
3 db-test - 35705135807.3 22 Sep 2026 08:35AM UTC 139
78.37
GitHub Action Run
Source Files on build 35705135807
  • Tree
  • List 139
  • Changed 18
  • Source Changed 0
  • Coverage Changed 18
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • f9afecc2 on github
  • Prev Build on main (#34934205956)
  • Next Build on main (#35712748875)
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