Skip to content

fix(rest): expose HTTP transport timeout controls for persistent clients#8220

Merged
timvisee merged 3 commits into
qdrant:devfrom
krapcys1-maker:fix-6481-rest-disconnect-transport
Feb 25, 2026
Merged

fix(rest): expose HTTP transport timeout controls for persistent clients#8220
timvisee merged 3 commits into
qdrant:devfrom
krapcys1-maker:fix-6481-rest-disconnect-transport

Conversation

@krapcys1-maker

Copy link
Copy Markdown
Contributor

Fixes #6481

Summary

This PR exposes REST transport timeout controls to reduce sporadic client-side
RemoteProtocolError: Server disconnected without sending a response in persistent HTTP client scenarios.

What changed

  • Added new service config fields:
    • http_keep_alive_timeout_sec (default: 75)
    • http_client_request_timeout_sec (default: 30)
    • http_client_disconnect_timeout_sec (default: 30)
  • Wired these fields into Actix HttpServer setup:
    • .keep_alive(...)
    • .client_request_timeout(...)
    • .client_disconnect_timeout(...)
  • Added startup log line with effective REST transport values.
  • Updated config/config.yaml with new keys and operational comments.

Why

Issue reports indicate that increasing request timeout alone was not enough.
This points to connection lifecycle behavior (keep-alive / transport timeouts),
not only operation timeout. This patch makes transport behavior explicit and tunable.

Compatibility

  • Fully backward compatible.
  • Defaults preserve current behavior.
  • No breaking API changes.

Operational impact

Operators can now tune HTTP transport lifecycle behavior
without recompiling or modifying server code.

All Submissions:

  • Target branch: dev
  • Tests passing
  • Clippy clean

@qdrant qdrant deleted a comment from coderabbitai Bot Feb 25, 2026
Comment thread src/settings.rs
@krapcys1-maker krapcys1-maker force-pushed the fix-6481-rest-disconnect-transport branch from 76e6153 to d00ba03 Compare February 25, 2026 12:05
coderabbitai[bot]

This comment was marked as resolved.

coderabbitai[bot]

This comment was marked as resolved.

@qdrant qdrant deleted a comment from coderabbitai Bot Feb 25, 2026
Comment thread config/config.yaml Outdated
@qdrant qdrant deleted a comment from coderabbitai Bot Feb 25, 2026

@timvisee timvisee 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.

Thanks!

@timvisee timvisee merged commit fc608eb into qdrant:dev Feb 25, 2026
16 checks passed
@krapcys1-maker

Copy link
Copy Markdown
Contributor Author

Glad it helped 🙂

@krapcys1-maker krapcys1-maker deleted the fix-6481-rest-disconnect-transport branch February 25, 2026 16:24
generall pushed a commit that referenced this pull request Mar 26, 2026
…nts (#8220)

* fix(rest): expose HTTP transport timeout controls for persistent clients

* chore(rest): address transport timeout nitpick comments

* chore(config): remove HTTP transport timeout keys from default config

---------

Co-authored-by: local-user <local-user@local>
KShivendu pushed a commit that referenced this pull request Mar 30, 2026
…nts (#8220)

* fix(rest): expose HTTP transport timeout controls for persistent clients

* chore(rest): address transport timeout nitpick comments

* chore(config): remove HTTP transport timeout keys from default config

---------

Co-authored-by: local-user <local-user@local>
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.

2 participants