Uploaded image for project: 'Project Quay'
  1. Project Quay
  2. PROJQUAY-1228

Slow pushes to Quay caused by faulty http/2 library

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Minor Minor
    • None
    • None
    • quay, quay.io
    • False
    • False
    • Quay Hosted
    • Undefined

      It appears that a bug in http/2 golang library is causing very slow pushes towards registries that support http/2 flow. The bug is opened here:

      https://github.com/google/go-containerregistry/pull/799

      While Docker does seem to turn this off on compile time, there are other clients who do not do this, which causes issues. According to the last comment, Google mitigates this by advertising a rather large buffer:

      # gcr
      2020/10/29 22:57:39 http2: Framer 0xc0002de380: read WINDOW_UPDATE stream=21 len=4 incr=360474
      2020/10/29 22:57:39 http2: Transport received WINDOW_UPDATE stream=21 len=4 incr=360474
      
      # quay
      2020/10/29 22:58:10 http2: Framer 0xc00071c0e0: read WINDOW_UPDATE stream=21 len=4 incr=16339
      2020/10/29 22:58:10 http2: Transport received WINDOW_UPDATE stream=21 len=4 incr=16339
      

      I know that Quay is written in Python with nginx as frontend proxy. Is it possible to achieve a similar thing in Quay? Thanks!

              hdonnay Henry Donnay
              rhn-support-ibazulic Ivan Bazulic
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated:
                Resolved: