Skip to content

HTTP/2 Connection Issues with uv 0.8.4 #15056

@JonneDatanen

Description

@JonneDatanen

Summary

After upgrading from uv 0.8.3 to 0.8.4, many (maybe 50%) of CI runs fail with HTTP/2 ENHANCE_YOUR_CALM errors when connecting to our private Nexus/PyPI repository. This happens when uv pip install ~100 packages, and with 0.8.3 the failure rate was 0%.

If downgraded back to 0.8.3, the issues seem to disappear.

The logs are:

TRACE Considering retry of error: Reqwest(reqwest::Error { kind: Request, url: "https://<redacted>/repository/python/simple/markdown-it-py/", source: hyper_util::client::legacy::Error(SendRequest, hyper::Error(Http2, Error { kind: GoAway(b"too_many_internal_resets", ENHANCE_YOUR_CALM, Library) })) })
TRACE Cannot retry error: not an extended IO error
TRACE Considering retry of error: Error { kind: WrappedReqwestError(DisplaySafeUrl { scheme: "https", cannot_be_a_base: false, username: "", password: None, host: Some(Domain("<redacted>")), port: None, path: "/repository/python/simple/markdown-it-py/", query: None, fragment: None }, WrappedReqwestError(Middleware(error sending request for url (https://<redacted>/repository/python/simple/markdown-it-py/)

Caused by:
    0: client error (SendRequest)
    1: http2 error
    2: connection error detected: detected excessive load generating behavior (b"too_many_internal_resets")))) }

I also noticed that similar issue is mentioned in: #11636 (comment)

Platform

x86_64 GNU/Linux

Version

0.8.4

Python version

3.9 & 3.11

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions