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

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

Build:
DEFAULT BRANCH: main
Ran 07 Oct 2026 09:51AM UTC
Jobs 22
Files 498
Run time 2min
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

07 Oct 2026 09:48AM UTC coverage: 90.673% (-0.01%) from 90.687%
37603115914

push

github

web-flow
fix(view): dial outside provider lock and set websocket handshake timeout (#2036)

MultiplexedProvider.NewClientStream previously held the provider lock (p.mu)
across both the network dial to the remote peer and the subsequent sub-connection
creation (newClientSubConn), which writes the meta frame with a 2-minute write
timeout. Additionally, OpenWSClientConn created a websocket.Dialer with zero
HandshakeTimeout, causing dials to unresponsive peers to block indefinitely.
Together, these issues allowed a single slow or unresponsive peer to block
stream creation to every other peer on the node.

Address both issues:
- Move websocket dial and newClientSubConn execution outside p.mu.
- Deduplicate concurrent dials to the same peer/URL using per-URL in-flight
  tracking (inFlightDial) so concurrent callers continue to share a single
  connection without blocking stream creation to other peers.
- Set DefaultHandshakeTimeout (30s) on gorilla/websocket dialer in
  OpenWSClientConn, and provide OpenWSClientConnContext for context-bounded
  dials with dialer.DialContext.
- Document on MultiplexedProvider.mu that it is never held across a network
  dial or sub-connection meta write.
- Add regression tests verifying that a hanging peer does not block stream
  creation to healthy peers, concurrent dials share the connection,
  unresponsive handshakes time out cleanly, stale onClose callbacks do not evict
  reconnected clients, and post-shutdown stream creations are rejected.

Fixes #1975

Signed-off-by: Surbhi Agarwal <SurbhiAgarwal1@users.noreply.github.com>
Co-authored-by: Surbhi Agarwal <SurbhiAgarwal1@users.noreply.github.com>

77 of 92 new or added lines in 2 files covered. (83.7%)

11 existing lines in 5 files now uncovered.

29018 of 32003 relevant lines covered (90.67%)

2782.96 hits per line

Uncovered Changes

Lines Coverage ∆ File
13
93.58
-3.23% platform/view/services/comm/host/websocket/ws/multiplexed_provider.go
2
95.0
-5.0% platform/view/services/web/client/wsclient.go

Coverage Regressions

Lines Coverage ∆ File
4
93.58
-3.23% platform/view/services/comm/host/websocket/ws/multiplexed_provider.go
2
96.72
-3.28% platform/common/utils/lazy/provider.go
2
91.95
-1.34% platform/view/services/metrics/prometheus/provider.go
2
92.35
-1.18% platform/fabric/core/generic/ordering/bft.go
1
92.16
-0.21% platform/fabric/core/generic/committer/committer.go
Jobs
ID Job ID Ran Files Coverage
1 utest-root - 37603115914.1 07 Oct 2026 09:52AM UTC 489
88.57
GitHub Action Run
2 itest-fsc-stoprestart - 37603115914.2 07 Oct 2026 09:52AM UTC 240
33.49
GitHub Action Run
3 utest-postgres - 37603115914.3 07 Oct 2026 09:52AM UTC 489
9.82
GitHub Action Run
4 itest-fabric-twonets - 37603115914.4 07 Oct 2026 09:52AM UTC 445
29.36
GitHub Action Run
5 itest-fabric-events - 37603115914.5 07 Oct 2026 09:52AM UTC 450
29.08
GitHub Action Run
6 itest-fabric-configupdate - 37603115914.6 07 Oct 2026 09:52AM UTC 455
39.01
GitHub Action Run
7 itest-fabric-iou - 37603115914.7 07 Oct 2026 09:55AM UTC 455
40.61
GitHub Action Run
8 itest-fabricx-iou - 37603115914.8 07 Oct 2026 09:51AM UTC 477
29.33
GitHub Action Run
9 itest-fabric-iouhsm - 37603115914.9 07 Oct 2026 09:54AM UTC 455
39.76
GitHub Action Run
10 itest-fabricx-atsa - 37603115914.10 07 Oct 2026 09:51AM UTC 477
30.82
GitHub Action Run
11 itest-fabric-atsa - 37603115914.11 07 Oct 2026 09:54AM UTC 445
43.85
GitHub Action Run
12 itest-fabric-runtimeconfig - 37603115914.12 07 Oct 2026 09:53AM UTC 455
39.0
GitHub Action Run
13 itest-fabric-atsachaincode - 37603115914.13 07 Oct 2026 09:52AM UTC 450
30.97
GitHub Action Run
14 itest-fabricx-configupdate - 37603115914.14 07 Oct 2026 09:51AM UTC 477
28.5
GitHub Action Run
15 itest-fabricx-multiendorsement - 37603115914.15 07 Oct 2026 09:51AM UTC 477
28.57
GitHub Action Run
16 itest-fabric-stoprestart - 37603115914.16 07 Oct 2026 09:52AM UTC 445
31.4
GitHub Action Run
17 itest-fsc-signedpingpong - 37603115914.17 07 Oct 2026 09:52AM UTC 239
31.61
GitHub Action Run
18 itest-fabricx-simple - 37603115914.18 07 Oct 2026 09:51AM UTC 477
27.94
GitHub Action Run
19 utest-extensions - 37603115914.19 07 Oct 2026 09:51AM UTC 8
52.57
GitHub Action Run
20 itest-fabricx-deployment - 37603115914.20 07 Oct 2026 09:51AM UTC 477
28.54
GitHub Action Run
21 itest-fabric-iou-libp2p - 37603115914.21 07 Oct 2026 09:52AM UTC 455
36.59
GitHub Action Run
22 itest-fsc-pingpong - 37603115914.22 07 Oct 2026 09:53AM UTC 244
34.71
GitHub Action Run
Source Files on build 37603115914
  • Tree
  • List 498
  • Changed 22
  • Source Changed 2
  • Coverage Changed 22
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #37603115914
  • 9b7d2fdf on github
  • Prev Build on main (#37199935160)
  • Next Build on main (#37688146854)
  • 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