hg update causing temporary port read/write issues
I am having a strange issue with apache and ssh, that I can correlate to the hg update command.
After executing
$ hg update
on a remote server from a changeset push of more than 1 or 2 files. For about a minute afterward, the apache server returns 403(on local files such as images), and 404(on external files such as jquery libraries).
Also, during the same time period if I try and push more changes to the remote server, I get the response
remote: ssh: connect to host *hostname* port 22: No route to host
After about 1 or 2 minutes the issue goes away, and the server returns to a working state with the new changes successfully in place.
After I execute hg update, the shell returns right away without a response. Normally when this happens the changes are successfully in place.
The only guess that I have is that mercurial is hanging as a background process and locking httpd and sshd operations somehow?
I looked in the apache logs and there aren't any errors indicating anything out of the ordinary is going on.
UPDATE
I found two errors in my apache error_log that I think might be related.
(104)Connection reset by peer: core_output_filter: writing data to the network
(32)Broken pipe: core_output_filter: writing data to the network
The mercurial issue went away when I restarted my apache server. However I would like to know what caused the issue in the first place.
The two log errors still persist as well despite, turning EnableSendFile and EnableMMAP off in the httpd.conf
Thanks,
Ed
I think this is a documented bug with mercurial.
I'm trying to figure out a solution for it as well right now.
https://www.mercurial-scm.org/pipermail/mercurial-devel/2009-January/010098.html
https://www.mercurial-scm.org/bts/issue1487
https://www.mercurial-scm.org/bts/issue1787
精彩评论