Perlbal 1.37
Web Server forum
Back To The Forum Home!Search!Private Messaging System

Web Server Talk Web Server Talk > Web Servers reviews > Perlbal > Perlbal 1.37




  Last Thread   Next Thread Next
  Show Printable Version Email this Page Subscribe to this Thread      Post New Thread    Post A Reply      

    Perlbal 1.37  
Brad Fitzpatrick


View Ip Address Report This Message To A Moderator Edit/Delete Message


 
08-30-05 07:46 AM

New Perlbal release, leading up to 1.40:

http://danga.com/dist/Perlbal/Perlbal-1.37.tar.gz

This version has been in production on LiveJournal for 5 or 6 days
now.  (along with XS headers, version 0.18)

Notice the huge number of changes from 1.36 to 1.37:

1.37 (beta for 1.40) 2005-08-29

-- "use <name>" command to set the direct object for future commands

-- AccessControl plugin to allow/deny by default or on IPs or
netmasks.

-- ClientManage could spin in its inherited event_write, causing
99.9% cpu usage.  Bug is arguably Danga::Socket's, but also
ours because it's documented what we should do and we didn't.
The fix is to shut down watching writability when we're done
writing.

-- make accept_client and its callers deal with the possibility
that accept_client fails not because the backend is bogus, but
because the client is.  so now accept_client can close the
client and callers have to be aware of that.

-- after running this version on production on LiveJournal.com for
a bit, we discovered some cases that we'd flag as should never happen,
but actually do, so updated the comments and behavior to
do the right thing and not just crash with an assertion.

-- fix misspellings of trusted_upstream_proxies that didn't
come along for the renaming ride earlier

-- webserver mode now ignores URL arguments when looking up
filename

-- remove warnings accessing undefs in ranges and vhosts

-- new --version and --help flags.  also a usage message on bogus
options (or when --help).  props to Jacques Marneweck
<jacques@powertrip.co.za> for the help and motivation.

Known issues:

Two warnings come up occasionally (every couple minutes) that should never h
appen.  They used to crash the server, but for now they just complain to std
err and close the respective connections.  These two warnings are:

1)

INTERNAL ERROR: event_read called on when we're expecting no more bytes.  le
n=286, content=[GET /userpic/33753813/1028465 HTTP/1.0
Accept-Encoding: gzip, deflate
User-Age]
 Perlbal::ClientProxy::event_read('Perlba
l::ClientProxy=ARRAY(0x8d38778)') ca
lled at /usr/share/perl5/Danga/Socket.pm line 476
 Danga::Socket::EpollEventLoop('Perlbal::
Socket') called at lib/Perlbal.pm li
ne 999
eval {...} called at lib/Perlbal.pm line 997
Perlbal::run() called at /usr/bin/perlbal line 102

And

2)

Undef client_ip (Perlbal::ClientProxy=ARRAY(0x8d261e0)) in assign_client.  C
losing. at lib/Perlbal/BackendHTTP.pm line 177.


I'd like to get those fixed before a 1.40 release.

I also plan to do some profiling to see if there are any obvious
opportunities for performance improvements, and to check that I didn't
introduce any new performance problems.

- Brad










[ Post a follow-up to this message ]



    Re: Perlbal 1.37  
Kevin Lewandowski


View Ip Address Report This Message To A Moderator Edit/Delete Message


 
09-01-05 10:45 PM

Which version of Danga::Socket does this require?

thanks

On Aug 29, 2005, at 8:52 PM, Brad Fitzpatrick wrote:

> New Perlbal release, leading up to 1.40:
>
>    http://danga.com/dist/Perlbal/Perlbal-1.37.tar.gz
>
> This version has been in production on LiveJournal for 5 or 6 days
> now.  (along with XS headers, version 0.18)
>
> Notice the huge number of changes from 1.36 to 1.37:
>
> 1.37 (beta for 1.40) 2005-08-29
>
>     -- "use <name>" command to set the direct object for future
> commands
>
>     -- AccessControl plugin to allow/deny by default or on IPs or
>        netmasks.
>
>     -- ClientManage could spin in its inherited event_write, causing
>        99.9% cpu usage.  Bug is arguably Danga::Socket's, but also
>        ours because it's documented what we should do and we didn't.
>        The fix is to shut down watching writability when we're done
>        writing.
>
>     -- make accept_client and its callers deal with the possibility
>        that accept_client fails not because the backend is bogus, but
>        because the client is.  so now accept_client can close the
>        client and callers have to be aware of that.
>
>     -- after running this version on production on LiveJournal.com for
>        a bit, we discovered some cases that we'd flag as should
> never happen,
>        but actually do, so updated the comments and behavior to
>        do the right thing and not just crash with an assertion.
>
>     -- fix misspellings of trusted_upstream_proxies that didn't
>        come along for the renaming ride earlier
>
>     -- webserver mode now ignores URL arguments when looking up
>        filename
>
>     -- remove warnings accessing undefs in ranges and vhosts
>
>     -- new --version and --help flags.  also a usage message on bogus
>        options (or when --help).  props to Jacques Marneweck
>        <jacques@powertrip.co.za> for the help and motivation.
>
> Known issues:
>
> Two warnings come up occasionally (every couple minutes) that
> should never happen.  They used to crash the server, but for now
> they just complain to stderr and close the respective connections.
> These two warnings are:
>
> 1)
>
> INTERNAL ERROR: event_read called on when we're expecting no more
> bytes.  len=286, content=[GET /userpic/33753813/1028465 HTTP/1.0
> Accept-Encoding: gzip, deflate
> User-Age]
>          Perlbal::ClientProxy::event_read('Perlba
l::ClientProxy=ARRAY
> (0x8d38778)') called at /usr/share/perl5/Danga/Socket.pm line 476
>          Danga::Socket::EpollEventLoop('Perlbal::
Socket') called at
> lib/Perlbal.pm line 999
>         eval {...} called at lib/Perlbal.pm line 997
>         Perlbal::run() called at /usr/bin/perlbal line 102
>
> And
>
> 2)
>
> Undef client_ip (Perlbal::ClientProxy=ARRAY(0x8d261e0)) in
> assign_client.  Closing. at lib/Perlbal/BackendHTTP.pm line 177.
>
>
> I'd like to get those fixed before a 1.40 release.
>
> I also plan to do some profiling to see if there are any obvious
> opportunities for performance improvements, and to check that I didn't
> introduce any new performance problems.
>
> - Brad
>
>
>
>
>
>







[ Post a follow-up to this message ]



    Re: Perlbal 1.37  
Brad Fitzpatrick


View Ip Address Report This Message To A Moderator Edit/Delete Message


 
09-01-05 10:45 PM

It shouldn't even start up if you have too old of a Danga::Socket.

That said, even if it requires 1.45 and you have 1.47, that should work
too.


On Thu, 1 Sep 2005, Kevin Lewandowski wrote:

> Which version of Danga::Socket does this require?
>
> thanks
>
> On Aug 29, 2005, at 8:52 PM, Brad Fitzpatrick wrote:
> 
>
>






[ Post a follow-up to this message ]



    Sponsored Links  




 





   All times are GMT. The time now is 10:58 AM.      Post New Thread    Post A Reply      
  Last Thread   Next Thread Next


Most Popular forums 

Forum Jump:
Rate This Thread:

Forum Rules:
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is OFF
vB code is ON
Smilies are ON
[IMG] code is OFF
 
Medical and Health forum | Computer Games Reviews | Graphics design forum

Back To The Top
Home | Usercp | Faq | Register