[ANN] Mongrel 0.3.13 Update -- Code Review, Code Coverage


#1

Hey Folks,

I’ve been holding off the official 0.3.13 release so that Luis can get
the win32 side very nice and clean. We fixed a major problem last night
so it’s only a short time before we get it out. Luis is working really
hard on it, so just be patient.

In the meantime, I’ve been doing a code audit of the Mongrel code as it
is now and fixing any little things I come across. I’ve just updated
the pre-release gems for 0.3.13 with the following fixes:

  • Cleaned up the new HTTP IO loop a bit so that it’s even more accurate.
    Still haven’t been able to replicate my earlier SEGFAULT errors, which
    is why I’m doing a code audit.
  • Removed various unneeded errors and files.
  • Removed resolv-replace since it seems it only works reliably on Linux.
    If you find that DNS resolving takes forever and stops your ruby program
    then consider require ‘resolv-replace’ somewhere as a fix.
  • Moved a bunch of crap around so that Wilson’s broke ass win32 setup
    would work. :slight_smile:
  • The MIME types that you set from a YAML file actually weren’t being
    set. Now they are. I’m an idiot.
  • Austin Godber wrote up some nice instructions for using pound.
    http://mongrel.rubyforge.org/docs/pound.html
  • A code review of lib/mongrel.rb and lib/mongrel/rails.rb fixing up
    some minor things.
  • Initial changes to let people specify which type of -B output they
    want, just in case they only want thread logging or something.
  • Fixed a format string error that was causing problems when people
    closed the socket on send_file.
  • Fixes for win32 so that CTRL-C works, it handles SIGINT properly, and
    the shutdown is more graceful. This should also fix similar problems
    with people who run a ruby that has pthreads.
  • Small fixes to test files so that they can be run independently as
    reported by Rui Lopes.

Additionally, I’m using rcov to get a coverage report. Everyone can
check it out at http://mongrel.rubyforge.org/coverage/ as I write more
tests. I’m hoping to get the test coverage closer to 100%, but that’s
pretty difficult since some of the code requires actually having a
running Rails application.

DOCUMENTATION VOLUNTEERS

We’re looking for folks who are interested in helping write Mongrel
documentation. Writing the documentation is pretty easy, since it’s
done with webgen and using textile. If anyone’s interested, take a look
at:

http://mongrel.rubyforge.org/docs/

And pick one of the empty pages. I’m currently working on the Apache
documentation, but anyone who wants to volunteer can just e-mail me and
I’ll hook you up with instructions.

All authors get credit for writing their documentation and can link to
their blogs.

Thanks, and please report the bugs.


Zed A. Shaw


http://mongrel.rubyforge.org/


#2

Zed S. wrote:

set. Now they are. I’m an idiot.
with people who run a ruby that has pthreads.
DOCUMENTATION VOLUNTEERS
I’ll hook you up with instructions.

All authors get credit for writing their documentation and can link to
their blogs.

Thanks, and please report the bugs.

Hi,

I’m up for contributing documentation - just let me know how :slight_smile:

Cheers,

Pete


#3

On Sun, 2006-05-21 at 06:15 +0900, Peter P. wrote:

Zed S. wrote:

DOCUMENTATION VOLUNTEERS

We’re looking for folks who are interested in helping write Mongrel
documentation. Writing the documentation is pretty easy, since it’s
done with webgen and using textile. If anyone’s interested, take a look
at:

http://mongrel.rubyforge.org/docs/

Hi,

I’m up for contributing documentation - just let me know how :slight_smile:

Cheers,

Shoot me an e-mail off-list with what you’d be interested in working on.
Hot topics right now are clustering, load balancing, and writing Mongrel
handlers as GemPlugins. It’s OK if you don’t know these subjects as
it’s better to have people learn how to do them while they write the
documentation.


#4

Zed S. wrote:

Shoot me an e-mail off-list with what you’d be interested in working on.
Hot topics right now are clustering, load balancing, and writing Mongrel
handlers as GemPlugins. It’s OK if you don’t know these subjects as
it’s better to have people learn how to do them while they write the
documentation.

Hi,

I’ve been working on getting apache 2.2 to do clustering and load
balancing - I’ve done the same with lighty - and compiled both from
source. I have no idea about gemplugins however although I am using the
mongrel_cluster plugin :slight_smile:

Cheers,

Pete


#5

Zed S. wrote:

Just a quick announce telling people to update the pre-release again.
Fixed and added the following goodies:

  • Bug where send_file wasn’t indicating that the body has been sent
    which caused problems in a few situations.
  • Bug where DirHandler wasn’t unescaping the URI paths.
  • Patch from Bradley Taylor that gives mongrel_rails start the options
    -u and -g. These will change the uid/gid on UNIX (not WIN32!) to the
    requested ones. Please test this out on various Unix flavors and report
    bugs.
  • Spelling corrections (hot damn gvim is the bomb).


Zed A. Shaw
http://www.zedshaw.com/
http://mongrel.rubyforge.org/

I noticed you have a placeholder for the documentation for deployment
using Pen. Ezra has already posted that here
http://brainspl.at/articles/2006/04/26/dead-simple-deployment . It
worked for me so maybe you guys should get together and make it
official.


#6

Just a quick announce telling people to update the pre-release again.
Fixed and added the following goodies:

  • Bug where send_file wasn’t indicating that the body has been sent
    which caused problems in a few situations.
  • Bug where DirHandler wasn’t unescaping the URI paths.
  • Patch from Bradley Taylor that gives mongrel_rails start the options
    -u and -g. These will change the uid/gid on UNIX (not WIN32!) to the
    requested ones. Please test this out on various Unix flavors and report
    bugs.
  • Spelling corrections (hot damn gvim is the bomb).


Zed A. Shaw


http://mongrel.rubyforge.org/