[Bug 5560] New: Mercurial generates overly large HTTP headers on pull with many heads, causing HTTP 413 errors

mercurial-bugs at mercurial-scm.org mercurial-bugs at mercurial-scm.org
Mon May 8 08:10:39 UTC 2017


https://bz.mercurial-scm.org/show_bug.cgi?id=5560

            Bug ID: 5560
           Summary: Mercurial generates overly large HTTP headers on pull
                    with many heads, causing HTTP 413 errors
           Product: Mercurial
           Version: 4.1.2
          Hardware: All
                OS: All
            Status: UNCONFIRMED
          Severity: bug
          Priority: normal
         Component: Mercurial
          Assignee: bugzilla at mercurial-scm.org
          Reporter: gabor.stefanik at nng.com
                CC: mercurial-devel at mercurial-scm.org

The total size of HTTP headers sent in the discovery phase of a HTTP pull grows
without limit as the number of topological heads increases in a repository.
This results in a constant need to adjust HTTP header buffer sizes on the
server, otherwise HTTP 413 Request entity too large errors start cropping up
during pulls.

We do have server.maxhttpheaderlen, but it doesn't help, as it only limits the
size of a single HTTP header, while most servers limit the total size of all
headers sent in a single request.
We either need to break up discovery into multiple requests, or switch to a
POST request (or another method that can have a body), and send the list of
known heads in the request body, which is usually unlimited in size.

-- 
You are receiving this mail because:
You are on the CC list for the bug.


More information about the Mercurial-devel mailing list