You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Describe the bug
When using tame_index::index::AsyncRemoteSparseIndex::krates or ...::krates_blocking, there is no connection reuse. A separate connection is created for fetching each crate. There is also a separate DNS lookup for every crate.
This is causing issues for cargo audit because some DNS servers are unhappy about getting 300 requests for the same domain at once and reject some of them, causing crate information download to fail.
To Reproduce
Steps to reproduce the behavior:
Run cargo audit on a project
Observe the threads being spawned for DNS lookups either with strace or by profiling it with samply
Additional context
It should be possible to mitigate this by making just one request, waiting for it to complete, and only then issuing all the other requests. They should reuse the existing connection in this case.
The text was updated successfully, but these errors were encountered:
Describe the bug
When using
tame_index::index::AsyncRemoteSparseIndex::krates
or...::krates_blocking
, there is no connection reuse. A separate connection is created for fetching each crate. There is also a separate DNS lookup for every crate.This is causing issues for
cargo audit
because some DNS servers are unhappy about getting 300 requests for the same domain at once and reject some of them, causing crate information download to fail.To Reproduce
Steps to reproduce the behavior:
cargo audit
on a projectstrace
or by profiling it withsamply
Additional context
It should be possible to mitigate this by making just one request, waiting for it to complete, and only then issuing all the other requests. They should reuse the existing connection in this case.
The text was updated successfully, but these errors were encountered: