Perlbal

 view release on metacpan or  search on metacpan

CHANGES  view on Meta::CPAN

       Giao Phan <giao@guba.com>.  so clients can resume large transfers.

    -- test suite

    -- IO::AIO support (brad)

    -- change response code to client to 200 on reproxy-file from backend

    -- 'nodes' command now takes as an optional argument a specific ip:port to
       dump the node stats for

    -- AIO abstraction layer (Perlbal::AIO) which can currently do either
       Linux::AIO or "none" (doing everything sync).  also in future File::FDpasser
       and other OS-specific modes [brad]

    -- add buffer_backend_connect to do in memory buffering of data before we
       request a backend; assists slow clients without tying up a mod_perl

    -- fix spinning issue when webnodes unavailable; should now not consume 100%
       CPU in those cases

    -- revamp verbose functionality; by default it's still of, but if you specify
       VERBOSE ON in the config file, it turns it on for management connections
       by default.  management connections, when specifying VERBOSE ON/OFF, will
       now set the flag only for that connection.

    -- new command for config file; VERBOSE ON/OFF; can be used to enable or
       disable confirmation of all commands such as SET, SERVER, CREATE, etc.
       by default, it's off for config files, but on for management connections.

    -- add generation count to services that increments every time a pool is
       switched.  this data is now stored on backends when they're spawned as
       well, and when we allocate a backend we verify the generation so old ones
       are thrown away.

    -- allow setting of nodefile on pools to 'none' or 'null' or 'undef' or just
       an empty set of quotes ("", '') in order to stop using node files

    -- automatically set use count to 0 on new nodes coming in from nodefile

    -- made auto-vivification of pulls throw warnings, and made Perlbal die if it
       tries to vivify a pool and the user has previously manually declared a pool

    -- updated pool commands to be more flexible (POOL pool ADD node, etc)

    -- add pools; a way of having different sets of nodes and instantly switching
       between them, so traffic stops going to old nodes; see the example config
       file for usage

    -- work partially without Linux::AIO (does sync stat of node file in reverse
       proxy mode, and webserver mode doesn't work) --brad

1.2 (2005-03-07)
    -- add new stats command 'nodes' that shows information on each node that we've
       been connecting to -- last connect time, last attempt time, a breakdown of
       the last 500 status codes returned, etc

    -- add ability to use new Danga::Socket profiling; 'profile on', 'profile data'
       to see the info so far, and 'profile off' to disable it

    -- graceful shutdown now flags sockets that are busy to die so they die when
       they're done with their current connection

    -- sockets in persist_wait now get closed immediately during a graceful shutdown

    -- fix handling of OPTIONS responses; used to do its own state clearing but
       it now uses the next_request method as it should

    -- fix bug with determination of keep-alive in http 1.1 case specifying
       a connection: close header

    -- added 'uptime' management command to track how long Perlbal has been up

    -- new config commands: HEADER INSERT <svc> <header>: <value> and HEADER
       REMOVE <svc> <header> which will insert and remove headers from user
       requests before they're sent to backend proxy nodes.

    -- add dependency to Net::Netmask; now you can specify trusted_upstream_proxies
       on a service (SET service.trusted_upstream_proxies = 10.0.0.0/8, etc)
       which will allow requests from that range to set X-Forwarded-For, X-Host,
       and X-Forwarded-Host headers.

    -- fixed a bug that caused connections to hang when the backend responded
       before the user was done sending data

    -- reset some variables that weren't being reset: read_buf, read_ahead, read_size

    -- "proc" management command shows user and system CPU usage for Perlbal
       this run, as well as a delta since the last time you ran "proc"

    -- added Perlbal::XS interface for modules to use; also 'xs' management
       command to see the status of XS modules

    -- bug in PalImg caused crash on files with no length (or when another
       error occurs that causes no data to be sent to new_gif_palette function)

    -- ReproxyManager would sometimes let closed backends back into the pool
       and hand them off to clients, fixed to check for that

    -- new policy: you don't muck around with the internals of other classes.
       notably, clients don't change the internals of a backend and backends
       don't change the internals of a client.  this was causing all sorts of
       problems because nobody was cleaning up properly.  (especially with regard
       to "who is my backend's client" type questions.)

    -- fixed up code that did its own keep-alive checks to use the HTTPHeaders
       functions so that in the future every part of the code stays up to date

    -- Perlbal::Socket now has the option to keep track of all objects that
       are created.  new command to management interface 'leaks' will show
       all objects currently in memory.  turn this functionality on by enabling
       the TRACK_OBJECTS constant in Perlbal::Socket.

    -- split keep-alive logic into request and response methods and cleared
       up how that works

    -- rewrote reproxy URI support.  new class Perlbal::ReproxyManager does all
       of the work relating to reproxies.  it's basically a service class but
       stripped down and dealing with single endpoints instead of pools.  much
       much much more robust under heavy load.  (Junior, Brad)



( run in 1.553 second using v1.01-cache-2.11-cpan-524268b4103 )