Skip to content

Report SubstreamOpenFailure when switching to secondary connection - #664

Merged
bkchr merged 8 commits into
masterfrom
dm-into-bkchr-connection-close
Sep 29, 2026
Merged

bkchr merged 8 commits into
masterfrom
dm-into-bkchr-connection-close

Conversation

@dmitry-markin

Copy link
Copy Markdown
Collaborator

This ensures in-flight requests that can't succeed anymore are terminated.

bkchr and others added 2 commits September 11, 2026 15:29
Right now it can happen that we do not report a closed connection to the
upper layers. Making it look like the connection is still open and is not never removed, rendering the peer unconnectabble.

This pull request solves this by preventing any kind of errors being propagated from the inner connection calls. All
errors are getting handled, close the connection and one unified path reports the connection close.
@dmitry-markin
dmitry-markin requested a review from bkchr September 11, 2026 14:41
Base automatically changed from bkchr-connection-close to master September 11, 2026 16:41

@bkchr bkchr left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we actually need this? Because they should be informed about the closed connection and then, drop all substreams?

@dmitry-markin

Copy link
Copy Markdown
Collaborator Author

Do we actually need this? Because they should be informed about the closed connection and then, drop all substreams?

They are not while the secondary connection exists.

Comment thread src/protocol/transport_service.rs
@bkchr
bkchr merged commit b48ddd3 into master Sep 29, 2026
11 checks passed
@bkchr
bkchr deleted the dm-into-bkchr-connection-close branch September 29, 2026 09:13
@github-project-automation github-project-automation Bot moved this to Blocked ⛔️ in Networking Sep 29, 2026
skunert added a commit that referenced this pull request Oct 2, 2026
## [0.16.0] - 2026-09-30

- kad: Fix local provider eviction and removal panics
([#666](#666))
- Report `SubstreamOpenFailure` when switching to secondary connection
([#664](#664))
- Ensure we report connection closed to the upper layers
([#663](#663))
- kad: Implement client-server mode for Kademlia
([#611](#611))


---

> **Reviewer action required:** the changelog entries above are
auto-generated from merged PRs and are **unsorted**. Please edit
`CHANGELOG.md` on this branch to:
> - Group the entries under `### Added` / `### Changed` / `### Fixed`.
> - Add a short summary paragraph at the top of the `## [0.16.0]`
section.
>
> Then **commit the adjusted `CHANGELOG.md` to this PR**.

**After merging:** run the **Release Publish** workflow from the Actions
tab with version `0.16.0` to tag `master` and publish to crates.io. See
`RELEASING.md`.

---

> _CI note: GitHub does not run `pull_request` workflows on PRs opened
by `GITHUB_TOKEN`. If CI hasn't started on this PR, push an empty commit
to trigger it:_
> ```bash
> git fetch origin && git checkout release-v0.16.0
> git commit --allow-empty -m "trigger ci" && git push
> ```

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: DenzelPenzel <denis.samsonov@parity.io>
Co-authored-by: Sebastian Kunert <mail@skunert.dev>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Blocked ⛔️

Development

Successfully merging this pull request may close these issues.

3 participants