[Bug 5171] New: too large request with many-headed repo + IIS with isapi
mercurial-bugs at selenic.com
mercurial-bugs at selenic.com
Sat Apr 2 00:38:51 UTC 2016
https://bz.mercurial-scm.org/show_bug.cgi?id=5171
Bug ID: 5171
Summary: too large request with many-headed repo + IIS with
isapi
Product: Mercurial
Version: stable branch
Hardware: PC
OS: Windows
Status: UNCONFIRMED
Severity: bug
Priority: wish
Component: bundle2
Assignee: bugzilla at selenic.com
Reporter: cyano at me.com
CC: mercurial-devel at selenic.com,
pierre-yves.david at ens-lyon.org
At Edlund we're hosting Mercurial with IIS using the isapi_wsgi module (and
code similar to contrib/win32/hgwebdir_wsgi.py).
When pulling from a repository with a large number of heads (more than 1300, as
output from hg heads), and when there are no changes to pull, a getbundle
command is still generated with a very large argument set easily spanning 20
X-HgArgs. This exceeds the default total request size of IIS.
Changing the IIS configuration unfortunately doesn't work because:
1. isapi_wsgi constructs a wsgi environment by requesting the server variable
ALL_HTTP from the isapi module in PyWin32. This contains all custom HTTP
headers (including all X-HgArgs).
2. The isapi module in PyWin32 calls a Win32 function with a buffer of at most
64 kB.
This limits the total request size to 64 kB. Currently, I have hacked
isapi_wsgi to circumvent this, but it would be nice if getbundle would send a
more modest argument list.
A somewhat similar problem was reported in 3319.
--
You are receiving this mail because:
You are on the CC list for the bug.
More information about the Mercurial-devel
mailing list