Skip to content.

plope

Personal tools
You are here: Home » Members » chrism's Home » Supervisor 2.1 Released
 
 

Supervisor 2.1 Released

Thanks to the time Chris Calloway and friends gave me at the recent Plone BBQ (aka "Camp Five") sprint, I've been able to release a new version of the process controller "supervisor2".

Between the band listening and pig pickin I was able to release a new version of the supervisor2 program. This 2.1 release is a bugfix release, and fixes several important problems. Here's the changelist:

  • When supervisord was invoked more than once, and its configuration was set up to use a UNIX domain socket as the HTTP server, the socket file would be erased in error. The symptom of this was that a subsequent invocation of supervisorctl could not find the socket file, so the process could not be controlled (it and all of its subprocesses would need to be killed by hand).
  • Close subprocess file descriptors properly when a subprocess exits or otherwise dies. This should result in fewer "too many open files to spawn foo" messages when supervisor is left up for long periods of time.
  • When a process was not killable with a "normal" signal at shutdown time, too many "INFO: waiting for x to die" messages would be sent to the log until we ended up killing the process with a SIGKILL. Now a maximum of one every three seconds is sent up until SIGKILL time. Thanks to Ian Bicking.
  • Add an assertion: we never want to try to marshal None to XML-RPC callers. Issue 223 in the collector from vgatto indicates that somehow a supervisor XML-RPC method is returning None (which should never happen), but I cannot identify how. Maybe the assertion will give us more clues if it happens again.
  • Supervisor would crash when run under Python 2.5 because the xmlrpclib.Transport class in Python 2.5 changed in a backward-incompatible way. Thanks to Eric Westra for the bug report and a fix.
  • Tests now pass under Python 2.5.
  • Better supervisorctl reporting on stop requests that have a FAILED status.
  • Removed duplicated code (readLog/readMainLog), thanks to Mike Naberezny.

I can't thank Chris Calloway, the organizer of the sprint, enough for his generosity while we've been here at Chapel Hill. This was an amazing sprint.

Created by chrism
Last modified 2007-03-17 03:17 PM