abort: HTTP Error 414: Request-URI Too Large

304 views
Skip to first unread message

Jesus Cea

unread,
Mar 9, 2010, 9:22:39 PM3/9/10
to merc...@selenic.com
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Trying to clone the Python mercurial mirror I have an error:

"""
[jcea@babylon5 home]$ hg clone http://hg.python.org/cpython/
destination directory: cpython
requesting all changes
abort: HTTP Error 414: Request-URI Too Large
"""

Using an sniffer, I see the request is actually huge. I am using
Mercurial 1.5.

I can pull individual branches, with "-b" flag
(http://hg.python.org/cpython/branches), but I have the same issue doing
a "pull" later.

It is not possible to download the full repository?. I could update the
clone branch by branch, but must be a better way...

Seems to be a bug...

Suggestions?.

- --
Jesus Cea Avion _/_/ _/_/_/ _/_/_/
jc...@jcea.es - http://www.jcea.es/ _/_/ _/_/ _/_/ _/_/ _/_/
jabber / xmpp:jc...@jabber.org _/_/ _/_/ _/_/_/_/_/
. _/_/ _/_/ _/_/ _/_/ _/_/
"Things are not so easy" _/_/ _/_/ _/_/ _/_/ _/_/ _/_/
"My name is Dump, Core Dump" _/_/_/ _/_/_/ _/_/ _/_/
"El amor es poner tu felicidad en la felicidad de otro" - Leibniz
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iQCVAwUBS5cCb5lgi5GaxT1NAQJydgP/QfT3zkFvwDvKN+ACvdpk0pG5npxNwucq
azdbXzAd7p6dZXuDTqYJcuJJKDubY/B+7E9DL9AjuM4qZelEH8rsgnS867slRe2T
Nsw+QnnoQo/5J7GE/LMSNkuwjTaqOkNHIdBqV1YG6Zq2CHnRp3KGaQuGNyIx5tax
Y2M1Z9dmrac=
=YnTY
-----END PGP SIGNATURE-----
_______________________________________________
Mercurial mailing list
Merc...@selenic.com
http://selenic.com/mailman/listinfo/mercurial

Sune Foldager

unread,
Mar 10, 2010, 6:10:14 AM3/10/10
to Jesus Cea, merc...@selenic.com
On 10-03-2010 03:22, Jesus Cea wrote:
> Trying to clone the Python mercurial mirror I have an error:
>
> """
> [jcea@babylon5 home]$ hg clone http://hg.python.org/cpython/
> destination directory: cpython
> requesting all changes
> abort: HTTP Error 414: Request-URI Too Large
> """
>
> Using an sniffer, I see the request is actually huge. I am using
> Mercurial 1.5.
>
> I can pull individual branches, with "-b" flag
> (http://hg.python.org/cpython/branches), but I have the same issue doing
> a "pull" later.
>
> It is not possible to download the full repository?. I could update the
> clone branch by branch, but must be a better way...
>
> Seems to be a bug...

Sometimes Mercurial's http wire protocol sends rather large request
URIs, which can sometime overflow the buffer the web server has set
aside for these things, which will then abort the request. In some cases
the limit is configurable on the web server. I don't know why the
request would be that large for a full clone, though, where no discovery
(of what changesets we are missing locally) should happen.

/Sune

Dirkjan Ochtman

unread,
Mar 10, 2010, 6:18:44 AM3/10/10
to Sune Foldager, Jesus Cea, merc...@selenic.com
On Wed, Mar 10, 2010 at 12:10, Sune Foldager <cr...@cyanite.org> wrote:
> Sometimes Mercurial's http wire protocol sends rather large request URIs,
> which can sometime overflow the buffer the web server has set aside for
> these things, which will then abort the request. In some cases the limit is
> configurable on the web server. I don't know why the request would be that
> large for a full clone, though, where no discovery (of what changesets we
> are missing locally) should happen.

Even on a clone, the client will explicitly request all the heads,
after (the lack of) discovery.

Cheers,

Dirkjan

Robert Figura

unread,
Mar 10, 2010, 2:24:23 PM3/10/10
to merc...@selenic.com

Sune Foldager <cr...@cyanite.org> wrote:
> On 10-03-2010 03:22, Jesus Cea wrote:
> > Trying to clone the Python mercurial mirror I have an error:
> >
> > """
> > [jcea@babylon5 home]$ hg clone http://hg.python.org/cpython/
> > destination directory: cpython
> > requesting all changes
> > abort: HTTP Error 414: Request-URI Too Large
> > """

> Sometimes Mercurial's http wire protocol sends rather large request

> URIs, which can sometime overflow the buffer the web server has set
> aside for these things, which will then abort the request. In some cases
> the limit is configurable on the web server.

I think there is a standard for this and my memory suggests it would be
either 4k or 16k. The POST request has no such limit if i remember
furthermore correctly.

Kind Regards
- Robert Figura

Sune Foldager

unread,
Mar 11, 2010, 6:47:11 AM3/11/10
to Robert Figura, merc...@selenic.com
On 10-03-2010 20:24, Robert Figura wrote:

> Sune Foldager<cr...@cyanite.org> wrote:
>> Sometimes Mercurial's http wire protocol sends rather large request
>> URIs, which can sometime overflow the buffer the web server has set
>> aside for these things, which will then abort the request. In some cases
>> the limit is configurable on the web server.
>
> I think there is a standard for this and my memory suggests it would be
> either 4k or 16k. The POST request has no such limit if i remember
> furthermore correctly.

Actually, the RFC states:

"The HTTP protocol does not place any a priori limit on the length of a
URI. Servers MUST be able to handle the URI of any resource they serve,
and SHOULD be able to handle URIs of unbounded length if they provide
GET-based forms that could generate such URIs. A server SHOULD return
414 (Request-URI Too Long) status if a URI is longer than the server can
handle (see section 10.4.15)."

That being said, most web-servers do limit this. POST has no specific
limits, no.

/Sune

Robert Figura

unread,
Mar 11, 2010, 1:18:34 PM3/11/10
to merc...@selenic.com
Sune Foldager <cr...@cyanite.org> schrieb:

> On 10-03-2010 20:24, Robert Figura wrote:
> > Sune Foldager<cr...@cyanite.org> wrote:
> >> Sometimes Mercurial's http wire protocol sends rather large request
> >> URIs, which can sometime overflow the buffer the web server has set
> >> aside for these things, which will then abort the request. In some cases
> >> the limit is configurable on the web server.
> >
> > I think there is a standard for this and my memory suggests it would be
> > either 4k or 16k. The POST request has no such limit if i remember
> > furthermore correctly.
>
> Actually, the RFC states:
>
> "The HTTP protocol does not place any a priori limit on the length of a
> URI. Servers MUST be able to handle the URI of any resource they serve,
> and SHOULD be able to handle URIs of unbounded length if they provide
> GET-based forms that could generate such URIs. A server SHOULD return
> 414 (Request-URI Too Long) status if a URI is longer than the server can
> handle (see section 10.4.15)."

My memories have obviously failed me. Thanks for the correction.

> That being said, most web-servers do limit this. POST has no specific
> limits, no.

At least so far i was right.

Thanks and Kind Regards
- Robert Figura

Reply all
Reply to author
Forward
0 new messages