Mercurial Pull Crashes Apache Server

Matt Mackall mpm at selenic.com
Mon Nov 15 17:46:20 CST 2010


On Mon, 2010-11-15 at 18:30 -0500, Robert Schuon wrote:
> We run Mercurial on an Apache virtual server, and pull to an Ubuntu 
> boxes normally, and with no, or only minor issues.  But I decided I'd 
> like the repo at home, so I downloaded Mercurial 1.7 for Windows (I run 
> Win XP at home), and the Tortoise 1.15 extension.   Everything installed 
> smoothly, and I created a base repo to clone to.  However, every time I 
> try to clone to the repo, or pull, or synchronize in any way, after a 
> period of time our server locks up, and we get a 502 error.

That's odd. Is there anything in your Apache logs?

> Then of course, the Mercurial transaction fails, and it rolls back to 
> zero.  First my question, and then a minor comment.  Has anyone had an 
> issue like this, and what did you do to solve it?  The Mercurial part of 
> the error is "Connection Terminated Abruptly", or words to that effect, 
> because the server goes down.  I have tried creating a new repo, copying 
> the repo as a zip, and just updating, nothing works.
> My comment is, why does it roll all the way back to zero? 

For compression efficiency, changesets are not sent one at a time, but
rather one file at a time. If your first cset contains a file zzzz, you
won't have a complete first changeset until the transmission is
complete.

>  Why can't 
> each changset be a transaction, so that if the transfer does fail, 
> first, you get part of the repo, and second, have a clue where the issue 
> is?  I have read the manual, I have personal experience with Tortoise 
> SVN, so I think I know what I'm doing.  The worst part is not that the 
> transaction fails, it's that it takes the server down, and it stops 
> serving pages.  This is a mission critical application, and we can't 
> have downtime.

No idea what that's about. The protocol is of course
platform-independent and the client shouldn't be able to crash the
server (except perhaps by running out of memory, which wouldn't depend
on the client platform).

Can you reproduce this behavior with other servers? With hg serve?

-- 
Mathematics is the supreme nostalgia of our time.




More information about the Mercurial mailing list