Skip to content

Flaky behavior reqwest #3

@davidbtadokoro

Description

@davidbtadokoro

Description:

The project uses the crate reqwest for HTTP request, necessary for fetching patch feeds from target mailing lists. In the first step of fetching the latest patchsets from a list, a request is made to Lore API, which normally takes around 1 to 2 seconds (which in itself isn't great).

The problem is that sometimes (for reasons I can't pinpoint) the latency/speed/something on the request abnormally takes from 5 seconds to 20 seconds! Monitoring my nic, I can see that the start of the transfer hangs, as the download speed on the interface (normally) spikes to 200-1000Kb/s.

I know that the problem is on the network step, as the local processing of patches is consistently around 1 second per response. It is also strange the fact that when this happens, making the same request in the browser or with curl seems to also take a bit more than normal, but much faster than through the app.

How to reproduce:

By running the draft app with cargo run <target-list> <page-size>, you may or not experience the above (that's why it's flaky 😩).

Expected behavior:

The crate reqwest (or the wrapper code around it) shouldn't have this flakyness on performance.

Setup:

  • Project branch: master
  • Project commit hash: 8eac6e2
  • rustc version: 1.79.0
  • cargo version: 1.79.0

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working properlywaiting-stableWaiting merging into the master branch

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions