On Mon, Feb 28, 2011 at 10:04 PM, Renato Isidio <renato...@gmail.com> wrote:

> Hi Marius,
>
> today we saw that our git-daemon was down. The message follows:
>
> /opt/gitorious/script/git-daemon:76:in `peeraddr': Transport endpoint
> is not connected - getpeername(2) (Errno::ENOTCONN)
>        from /opt/gitorious/script/git-daemon:76:in `run_service'
>        from /opt/gitorious/script/git-daemon:70:in `run'
>         from /opt/gitorious/script/git-daemon:52:in `start'
>        from /opt/gitorious/script/git-daemon:321
>

So it seems the connection is lost, and the accept_socket isn't working.
 Could it be the server is on a not-so-reliable network connection?

These things can happen, I suppose. One thing you could do is to set up some
kind of process monitoring on your server. We use Monit (
http://mmonit.com/monit/) on gitorious.org, and forcefully close services
that aren't performing as suspected. Most distros will have a Monit package,
and the defaults will usually be just fine.

What you could do is to have Monit monitor your git daemon processes, it
will do this based on a pid file. In the Monit "recipe" you could add a
check that verifies that your git-daemon is available on the specified port
(9418); if not restart the process. It would look something like this:

check git-daemon with pidfile /var/www/gitorious/tmp/pids/git-daemon.pid
   start program = "/etc/init.d/git-daemon start"
   stop program = "/etc/init.d/git-daemon stop"
   if failed port 9418 then restart

Cheers,
- Marius

-- 
To post to this group, send email to gitorious@googlegroups.com
To unsubscribe from this group, send email to
gitorious+unsubscr...@googlegroups.com

Reply via email to