Skip to content

fix(deps): pin bitreq 0.3.4 and cover idle keep-alive socket recovery#102

Merged
storopoli merged 1 commit into
mainfrom
fix-101
Apr 22, 2026
Merged

fix(deps): pin bitreq 0.3.4 and cover idle keep-alive socket recovery#102
storopoli merged 1 commit into
mainfrom
fix-101

Conversation

@storopoli
Copy link
Copy Markdown
Member

Description

Require bitreq 0.3.4 and add a regression test covering the issue #101 scenario where a pooled keep-alive socket is later closed by the server.

The intent here is to avoid carrying a local BitreqClient reset workaround in this crate and instead:

  • rely on the recovery behavior observed in bitreq 0.3.4
  • lock that minimum version in Cargo.toml
  • keep a regression test for the rpcservertimeout-style idle socket close case

Type of Change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature/Enhancement (non-breaking change which adds functionality or enhances an existing one)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation update
  • Refactor
  • New or updated tests
  • Dependency Update

Notes to Reviewers

This PR intentionally does not add a local pool-reset workaround.

I checked the reported issue scenario against bitreq 0.3.4 and could not reproduce the permanent poisoned-pool behavior described in #101. The new test keeps a connection alive long enough to be pooled, then closes it server-side and verifies the next RPC still succeeds.

This also keeps us aligned with the upstream direction in rust-bitcoin/corepc#564 rather than adding extra client-side complexity here.

Checklist

  • I have performed a self-review of my code.
  • I have commented my code where necessary.
  • I have updated the documentation if needed.
  • My changes do not introduce new warnings.
  • I have added tests that prove my changes are effective or that my feature works.
  • New and existing tests pass with my changes.

Related Issues

Related to #101. rust-bitcoin/corepc#564 with a bitreq published version bump here would be the one to fix #101.

@storopoli storopoli merged commit 75b21f7 into main Apr 22, 2026
9 of 10 checks passed
@storopoli storopoli deleted the fix-101 branch April 22, 2026 15:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

call() retry loop cannot recover from transport errors; bitreq pool poisoning causes permanent failure after rpcservertimeout

1 participant