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

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

Build:
DEFAULT BRANCH: main
Ran 26 Oct 2026 11:19PM UTC
Jobs 24
Files 494
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

26 Oct 2026 11:17PM UTC coverage: 91.383% (+0.05%) from 91.334%
40418754579

push

github

web-flow
fix(comm): close sessions whose streams died (#2266)

A session whose streams all died now closes on its own, so a view waiting on Receive() after its counterparty crashed gets a closed channel instead of waiting for its own timer or forever.

When reading from a stream fails, handleIncoming removes the stream from every session holding it. A session left without a stream closes after a 5-second grace period, unless a send or a message from the remote attaches a new stream in the meantime. The session keeps one grace timer and restarts it each time it loses its last stream, so every loss gets the full period. The master session never closes this way. On libp2p all sessions to a peer share one stream, so a dead stream closes every session to that peer that neither sends nor receives within the grace period. Sessions used to prune their closed streams every five minutes; that ticker is removed, since dead streams no longer stay in sessions.

Endorsement collection returns an error when the session to an endorser closes while it waits for the reply, instead of dereferencing the nil message a closed Receive() channel yields.

The grace period is a session field set to sessionStreamGrace, which lets the tests use 100 ms. TestSession_ClosedWhenOnlyStreamDies, TestSession_SurvivesWhenReplacementStreamAttaches and TestSession_GraceRestartsWhenLastStreamDiesAgain cover closing, surviving through a replacement stream, and restarting the grace period.

A closed session stays in the node's session registry until its view context is disposed; #2271 tracks removing it.

Fixes #2178

Signed-off-by: Said Altury <Said.Altury@ibm.com>
Signed-off-by: Marcus Brandenburger <bur@zurich.ibm.com>

32 of 34 new or added lines in 4 files covered. (94.12%)

4 existing lines in 2 files now uncovered.

30074 of 32910 relevant lines covered (91.38%)

1221.33 hits per line

Uncovered Changes

Lines Coverage ∆ File
2
73.71
-0.55% platform/fabric/services/endorser/endorsement.go

Coverage Regressions

Lines Coverage ∆ File
2
92.61
-1.14% platform/fabric/core/generic/ordering/bft.go
2
76.32
-1.32% platform/fabric/services/db/driver/sql/postgres/vault.go
Jobs
ID Job ID Ran Files Coverage
1 itest-fabricx-configupdate - 40418754579.1 26 Oct 2026 11:21PM UTC 477
29.42
GitHub Action Run
2 itest-fabric-iou-libp2p - 40418754579.2 26 Oct 2026 11:21PM UTC 455
37.16
GitHub Action Run
3 utest-extensions - 40418754579.3 26 Oct 2026 11:20PM UTC 8
52.84
GitHub Action Run
4 itest-fabric-events - 40418754579.4 26 Oct 2026 11:22PM UTC 450
29.58
GitHub Action Run
5 itest-fabric-iou - 40418754579.5 26 Oct 2026 11:25PM UTC 455
41.56
GitHub Action Run
6 itest-fabric-faultrecovery - 40418754579.6 26 Oct 2026 11:23PM UTC 445
39.28
GitHub Action Run
7 itest-fsc-stoprestart - 40418754579.7 26 Oct 2026 11:22PM UTC 246
34.39
GitHub Action Run
8 itest-fabricx-iou - 40418754579.8 26 Oct 2026 11:20PM UTC 477
30.16
GitHub Action Run
9 itest-fabric-configupdate - 40418754579.9 26 Oct 2026 11:21PM UTC 455
39.61
GitHub Action Run
10 itest-fsc-pingpong - 40418754579.10 26 Oct 2026 11:22PM UTC 250
35.23
GitHub Action Run
11 itest-fabric-twonets - 40418754579.11 26 Oct 2026 11:22PM UTC 445
30.31
GitHub Action Run
12 utest-postgres - 40418754579.12 26 Oct 2026 11:22PM UTC 485
10.53
GitHub Action Run
13 itest-fabricx-faultrecovery - 40418754579.13 26 Oct 2026 11:21PM UTC 477
28.57
GitHub Action Run
14 itest-fabricx-atsa - 40418754579.14 26 Oct 2026 11:20PM UTC 477
31.62
GitHub Action Run
15 itest-fabric-runtimeconfig - 40418754579.15 26 Oct 2026 11:21PM UTC 455
39.81
GitHub Action Run
16 itest-fabric-stoprestart - 40418754579.16 26 Oct 2026 11:22PM UTC 445
32.15
GitHub Action Run
17 itest-fabric-iouhsm - 40418754579.17 26 Oct 2026 11:22PM UTC 455
40.86
GitHub Action Run
18 itest-fabric-atsachaincode - 40418754579.18 26 Oct 2026 11:20PM UTC 450
31.43
GitHub Action Run
19 utest-root - 40418754579.19 26 Oct 2026 11:23PM UTC 485
89.59
GitHub Action Run
20 itest-fabricx-deployment - 40418754579.20 26 Oct 2026 11:19PM UTC 477
29.34
GitHub Action Run
21 itest-fsc-signedpingpong - 40418754579.21 26 Oct 2026 11:20PM UTC 245
32.56
GitHub Action Run
22 itest-fabricx-simple - 40418754579.22 26 Oct 2026 11:20PM UTC 477
28.79
GitHub Action Run
23 itest-fabricx-multiendorsement - 40418754579.23 26 Oct 2026 11:20PM UTC 477
29.37
GitHub Action Run
24 itest-fabric-atsa - 40418754579.24 26 Oct 2026 11:23PM UTC 445
44.82
GitHub Action Run
Source Files on build 40418754579
  • Tree
  • List 494
  • Changed 36
  • Source Changed 4
  • Coverage Changed 36
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #40418754579
  • 3cd56ece on github
  • Prev Build on main (#40378131460)
  • Next Build on main (#40486739466)
  • 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