Increasing the Apache TimeOut to fix a failing push due to a gateway timeout
Angel Ezquerra
angel.ezquerra at gmail.com
Tue Sep 4 09:18:03 UTC 2012
On Tue, Sep 4, 2012 at 11:08 AM, Mads Kiilerich <mads at kiilerich.com> wrote:
> On 09/04/2012 07:24 AM, Angel Ezquerra wrote:
>>
>> So it seems that it takes a long time for mercurial to get finish the
>> push and the results on a timeout. Apparently Apache's default timeout
>> for any operation is 300 seconds and the push takes way longer than
>> that.
>>
>> To fix the issue I have set the apache TimeOut to 1200 on the Apache
>> httpd.conf file. This seems to work but I am unsure whether this may
>> have some unintended consequences. Is this the right way to fix this?
>
>
> Yes, if the time spent seems reasonable considering the size of the data and
> the available bandwidth then the only solution is to increase the timeout.
>
>
>> Another thing that I find surprising is that the progress that is
>> shown by hg push increases until it got to 50.01% and then it stops.
>> Then it stays there for a quite long time until it times out. The same
>> happens after I change the apache TimeOut setting, except that now the
>> push finishes fine (but it never shows a progress above 50.01%). Is
>> that normal?
>
>
> With HTTP POST and HTTP authentication it is hard to avoid having to push
> all the data twice. That might explain why "something" changes at 50%.
>
> /Mads
Thank you Mads,
It is a bit shocking that the data must be sent twice! For such big
pushes it makes a big difference.
Regardless, if the data must be sent twice (:-O!) shouldn't mercurial
either adjust the progress percentages accordingly, or at least
continue increasing the progress up to 100% while the data is uploaded
the second time?
The fact that it only gets up to 50.01% and never reaches 100%, even
when it does finish properly is confusing.
Cheers,
Angel
More information about the Mercurial
mailing list