oxidecomputer / oxidecomputer/dendrite

Configure timeouts for Nexus Clients (and other progenitor clients)

Open
#44 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Rust
Stars
20
Forks
3
Avg merge
3d 11h
Merged PRs (30d)
4

Description

https://github.com/oxidecomputer/dendrite/blob/07706cbecf3450bf1d659865104c77adfb3f94a5/dpd/src/rpw/mod.rs#L270-L280

When we instantiate progenitor clients by calling ::new_with_client and provide our own reqwest client, it does not have a timeout set by default. We need to set these timeouts on our reqwest client before instantiating the progenitor client.

https://docs.rs/reqwest/latest/reqwest/struct.ClientBuilder.html#method.timeout

@papertigers verified that the client will wait an indeterminate amount of time if it doesn't get a response from the server.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start at dpd/src/rpw/mod.rs around lines 270-280 and review the reqwest ClientBuilder timeout documentation. Find the progenitor client constructions that use new_with_client, configure timeouts on their reqwest clients, and verify that requests cannot wait indefinitely for a response.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
networking
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.