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

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://www.zedshaw.com/
http://mongrel.rubyforge.org/

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/

Zed Shaw wrote:

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.

Hi,

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

Cheers,

Pete

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.

···

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

Zed Shaw 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,

--
Zed A. Shaw

http://mongrel.rubyforge.org/

Zed Shaw wrote:

  

Zed Shaw 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.

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

···

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