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

hyperledger-labs / fabric-smart-client / 36018268770
91%

Build:
DEFAULT BRANCH: main
Ran 24 Sep 2026 03:13PM UTC
Jobs 22
Files 503
Run time 4min
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

24 Sep 2026 03:10PM UTC coverage: 86.319% (+0.01%) from 86.307%
36018268770

push

github

web-flow
fix(fabric/delivery): classify commit failures instead of stopping the channel on any error (#1840)

A single error returned by Committer.Commit permanently stopped the channel's
block delivery. Delivery is single-use by design, nothing supervised it, and
nothing reported the stop, so one transient storage fault silently ended block
ingestion for that channel: the vault stopped advancing, finality notifications
stopped firing, and IsFinal degraded to a peer probe followed by a timeout that
reads downstream as an ordering or peer problem. The stream half of the same
service already reconnects indefinitely on gRPC failure, so stream faults
self-healed while committer faults were fatal.

Classify the failure in the committer and act on the class:

  - retry   non-deterministic and replay-safe (storage contention, an expired
            context): commit the same block again, bounded, then escalate
  - degrade deterministic on an already-final block, such as a configuration
            this node cannot apply: return the error, which stops the channel,
            and count it
  - fatal   an invariant is broken, so committing further blocks would build on
            state the node cannot vouch for

Classification belongs to the committer because it is the component that can
tell the cases apart: it owns the vault, so it knows which storage errors are
contention that will clear; the membership service, so it knows a configuration
it could not apply never will; and the channel configuration, so it knows how
long to keep trying. A caller further up sees only an error value and would have
to import those packages to reach the same answer.

That makes the contract simple in both directions. Commit returns only final
errors, so readBlocks stops on any error without inspecting one — which is what
its own doc comment always described. It also keeps the retry away from the
delivery service's other callers: Scan, ScanBlock and ScanFromBlock run the
application's own... (continued)

96 of 101 new or added lines in 6 files covered. (95.05%)

14 existing lines in 8 files now uncovered.

27699 of 32089 relevant lines covered (86.32%)

2287.01 hits per line

Uncovered Changes

Lines Coverage ∆ File
2
80.83
0.49% platform/fabric/core/generic/committer/config.go
2
93.33
platform/fabric/core/generic/committer/failure.go
1
89.33
-0.22% platform/fabric/core/generic/config/ds.go

Coverage Regressions

Lines Coverage ∆ File
2
96.72
-3.28% platform/common/utils/lazy/provider.go
2
92.86
-2.38% platform/view/services/comm/service.go
2
91.95
-1.34% platform/view/services/metrics/prometheus/provider.go
2
76.83
-0.61% platform/fabric/core/generic/msp/idemix/provider.go
2
92.41
0.0% platform/view/services/comm/p2p.go
2
92.23
-1.04% platform/fabricx/core/membership/membership.go
1
87.5
-2.08% platform/fabric/events.go
1
92.94
-0.59% platform/fabric/core/generic/ordering/bft.go
Jobs
ID Job ID Ran Files Coverage
1 itest-fabric-configupdate - 36018268770.1 24 Sep 2026 03:16PM UTC 459
38.82
GitHub Action Run
2 itest-fabric-twonets - 36018268770.2 24 Sep 2026 03:15PM UTC 449
29.24
GitHub Action Run
3 itest-fabricx-multiendorsement - 36018268770.3 24 Sep 2026 03:14PM UTC 481
28.44
GitHub Action Run
4 itest-fabric-stoprestart - 36018268770.4 24 Sep 2026 03:15PM UTC 449
31.21
GitHub Action Run
5 utest-postgres - 36018268770.5 24 Sep 2026 03:14PM UTC 494
9.75
GitHub Action Run
6 itest-fabric-iou - 36018268770.6 24 Sep 2026 03:17PM UTC 459
40.4
GitHub Action Run
7 utest-extensions - 36018268770.7 24 Sep 2026 03:13PM UTC 8
52.57
GitHub Action Run
8 itest-fsc-pingpong - 36018268770.8 24 Sep 2026 03:14PM UTC 245
34.71
GitHub Action Run
9 itest-fabric-events - 36018268770.9 24 Sep 2026 03:15PM UTC 454
29.06
GitHub Action Run
10 itest-fabric-atsachaincode - 36018268770.10 24 Sep 2026 03:14PM UTC 454
30.94
GitHub Action Run
11 itest-fabricx-iou - 36018268770.11 24 Sep 2026 03:13PM UTC 481
29.26
GitHub Action Run
12 itest-fabric-iou-libp2p - 36018268770.12 24 Sep 2026 03:15PM UTC 459
36.56
GitHub Action Run
13 itest-fabricx-simple - 36018268770.13 24 Sep 2026 03:13PM UTC 481
27.87
GitHub Action Run
14 itest-fabricx-configupdate - 36018268770.14 24 Sep 2026 03:15PM UTC 481
28.42
GitHub Action Run
15 utest-root - 36018268770.15 24 Sep 2026 03:16PM UTC 494
83.13
GitHub Action Run
16 itest-fabric-iouhsm - 36018268770.16 24 Sep 2026 03:16PM UTC 459
39.78
GitHub Action Run
17 itest-fabric-runtimeconfig - 36018268770.17 24 Sep 2026 03:15PM UTC 459
38.84
GitHub Action Run
18 itest-fabric-atsa - 36018268770.18 24 Sep 2026 03:17PM UTC 449
43.67
GitHub Action Run
19 itest-fsc-stoprestart - 36018268770.19 24 Sep 2026 03:15PM UTC 241
33.55
GitHub Action Run
20 itest-fabricx-atsa - 36018268770.20 24 Sep 2026 03:13PM UTC 481
30.67
GitHub Action Run
21 itest-fabricx-deployment - 36018268770.21 24 Sep 2026 03:13PM UTC 481
28.41
GitHub Action Run
22 itest-fsc-signedpingpong - 36018268770.22 24 Sep 2026 03:13PM UTC 240
31.64
GitHub Action Run
Source Files on build 36018268770
  • Tree
  • List 503
  • Changed 45
  • Source Changed 6
  • Coverage Changed 45
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #36018268770
  • f52818d5 on github
  • Prev Build on main (#35966970544)
  • Next Build on main (#36018661267)
  • Delete
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