Search
j0ke.net Open Build Service
>
Projects
>
ha
>
crossroads-stable
> crossroads-stable.ChangeLog
Sign Up
|
Log In
Username
Password
Cancel
Overview
Repositories
Revisions
Requests
Users
Advanced
Attributes
Meta
File crossroads-stable.ChangeLog of Package crossroads-stable
2.65 [KK 2010-04-26] - Bugfix in backend/connect.cc - if the determination whether a back end is available goes haywire, the client socket may stay open and not be consumed. Thanks Franz J. for reporting! - Version stamped as STABLE. 2.64 [KK 2010-01-29] - Fixed signal handling for start/stop/restart. - Web interface now immediately shuts down at a stop request, so that next xr instances can grab the web interface port immediately. 2.63 [KK 2010-01-11] - Previous 2.62 stamped as stable, 2.63 will be the new development trunk. 2.62 [KK 2010-01-08] - Fixed possible coredump cause in Balancer::serve(), which might explain some troubles during high load (many really concurrent requests). 2.61 [KK 2009-11-17] - Netbuffer::netwrite() will abort after 5 attempts that yield 0 written bytes. Probable cause of CPU hogging - thx Franz J. for reporting. - Fixed potential cause of crashes in base class for Dispatcher (algorithm handler would not get initialized in the constructors). 2.60 [KK 2009-11-02] - Some errors demoted to informational messages to choke the amount of log information that's generated. 2.59 [KK 2009-10-14] - Bugfix in logger handling of xrctl, read http://xrforum.org/viewtopic.php?t=495 if you fancy. Thanks Hobbit for reporting this! 2.58 [KK 2009-10-14] - Added test/ftp.xml as a sample ftp service configuration. - Implemented URL-based dispatching: flag --url-match/-j, present in xrctl, tested in test/urlmatch.xml, added to web interface - Usage information now shows long versions of flags first. 2.57 [KK 2009-09-14] - Output of "xrctl status" colorized when a service is not running, thanks Frederik D. for the suggestion and the code! - Small cleanup of xrctl's usage information. 2.56 [KK 2009-05-26] - Bugfix in cleaning of IPStore map - Implemented flag --remove-reservations (xrctl: tag: removereservations) - Timeouts adjusted: all read time outs set to 30, client-write set to 5, backend-write set to 3 - Implemented tag prefixtimestamp in system block to force timestamping. 2.55 [KK 2009-05-13] - Implemented connection error counting of back ends. - Select-handling revised: atomic readability and writeability checks, see xr/fdset/wait.cc and wait_r(), wait_w(), wait_rw(). - Checks for connect() success can be configured to verify only writeable status of a socket (see xr/backend/connect.cc, macro CONNECTCHECK_ONLY_WRITABLE in xr/etc/Makefile.class). - Added test/xr-mysql-connect. - Added commands kill and killstart to xrctl. Action restart renamed to stopstart. - Added simple benchmarking under test/: xr-http-test (based on an older script) and xr-smtp-test. Plus a simple analyzer of the reported timings, xr-analyze-test. - Revamped stored-ip dispatcher, added IPStore class to keep track of clients. 2.54 [KK 2009-04-29] - Stamped new STABLE version. 2.53 [KK 2009-04-24] - test/xr-client-ping now can live without LWP::UserAgent. When this Perl module is not present, the script will fall back to wget/curl. - Upon thread kill, sockets are closed using socketclose() (sys/socketclose.cc), which also shutdown()s the socket. - Bugfix in xrctl regarding new format of client/backend timeout. 2.52 [KK 2009-04-21] - Bugfix in the roundrobin dispatcher. When only one back end would be up, then the roundrobin dispatcher would incorrectly compute the right back end. This bug only became visible with host-matching in HTTP mode. 2.51 [KK 2009-04-15] - Separate "write" timeouts introduced in flags -t and -T - Web interface activity overview includes client ip addresses - Added test/xr-client-ping (see docs) 2.50 [KK 2009-03-30] - Bugfix in activation of the onfail script in the checkup thread. - Compilation flag -Werror only passed to the compiler when on the development system Thera.local (see xr/etc/Makefile.class). - Onstart, onend and onfail scripts (when present) are invoked with a third argument, the number of connections at the time - Set-Cookie header directive (see the HTTP dispatcher) attaches an explicit path "/". - Rewired the tcp dispatcher and http dispatcher to use a common buffer inside the tcp dispatcher (instead of 2 separate ones). 2.49 [KK 2009-03-27] - Implemented onfail hook (to complement onstart/onend, flag -y). 2.48 [KK 2009-03-26] - Implemented onstart/onend hooks (flags -z, -Z). - Sticky HTTP mode inspects the URI (parameter XRTarget) when no sticky cookie is present. 2.47 [KK 2009-03-04] - Stored-ip dispatching was enhanced to "anticipate" reconnects from previously seen clients. The number of anticipated connections is taken into account when dispatching a new client. - Bugfix in command line parsing of dispatch mode lax-stored-ip (would be recognized as strict). 2.46 [KK 2009-02-18] - Dispatcher-related classes moved under directory xr/Dispatchers/. - UDP balancer implementation started (code stubs in place). - xrctl bugfixed: a backend-scope maxconnections statement would confuse the global server block. Thanks Rajeev for reporting. 2.45 [KK 2009-02-18] - Usage information formatted. - Rubberstamped "stable"! 2.44 [KK 2009-02-11] - Reviewed code for "throw"s (edited for consistency). - Bug in Webinterface::execute() (during accept()). Thanks Vladimir T. for reporting and testing. 2.43 [KK 2009-02-09] - Added Httpbuffer::replaceheader() methods - Added flag -I (to replace Host: headers), integrated in xrctl / webinterface - Webinterface reports approx. # of open fd's and the limit (in activity) 2.42 [KK 2009-01-28] - Bugfix in "xrctl generateconfig". The activity info introduced before (which the web interface now emites), confused xrctl. - Bugfix in sys/ipmatch.cc: mask matching corrected for systems where longs are not 4 bytes (64bit systems). - Bugfix in hashed-ip dispatch mode: When no back ends were available, the dispatcher would crash (fixed). - XSLT stylesheet that transforms web interface slightly changed to improve the looks. - Bugfix in xrctl's "rotate" action. Thanks "ncisrael" for reporting it in the forum. 2.41 [KK 2009-01-05] - Bugfix in xrctl, thanks Eddie for reporting it. 2.40 [KK 2009-01-03] - Netbuffer::read() failures are no longer logged as errors, but as verbose messages. - XML configuration now supports "logger" to redefine logger program. - Small changes to xrctl: ps command is auto-guessed when not specified in the XML configuration. 2.39 [KK 2008-12-04] - Added Httpbuffer::reset() - The HTTP dispatcher will show back end error returns (when the HTTP code is in the 400 or 500 range) - main() will show runtime limits when invoked with -v - The HTTP dispatcher no longer downgrades to HTTP/1.0 and closed connections. Webserver back ends can do this. - Exceptions during the sending of an error page in HTTP mode are discarded, no longer logged. - Mutex lock added around thread startups (see Thread::start()), when requested soq in sys/sys. - Mutex locks around malloc()/realloc(), when requested so in sys/sys. - Fixed possible socket leak in TcpDispatcher::execute(). The back end socket might not have been closed when the dispatch phase crashed. - Dispatchers are now derived from a new base class Dispatcher, in preparation for UDP handling. - Timestamp handling centralized in a class Timestamp. - Messaging (msg(), debugmsg(), reportmsg(), warnmsg()) centralized. - Started threads are administered in Threadlist. Separate threads are killable from the web interface, or all threads to a given back end. 2.38 [KK 2008-11-19] - Bugfix in xrctl: Weights and max connections in back ends are now passed correctly. - Added version ID to xrctl. 2.37 [KK 2008-11-17] - Main accept-loop in Balancer::serve() doesn't throw an exception when a network connection can't be accepted. The reason is shown in a warnmsg(). 2.36 [KK 2008-11-11] - Typo bugfix in xrctl, fixed. - xrctl will take the environment's PATH if no path is given in the configuration. 2.35 [KK 2008-11-11] - The wakeup and checkup thread are always started, even when no wakeups or checkups are defined. Reason is that later these timers can be set in the web interface, so we want the threads running. When no checks/wakeups are applicable, the threads will recheck each 30 secs. - Server type (tcp/http) made configurable through the web interface. 2.34 [KK 2008-11-09] - Fixed sys/str2parts.cc for 64bit systems. 2.33 [KK 2008-11-07] - Solaris portability for gcc 3.4 issues in Tcpdispatcher::execute() - Removed warnings about non-found libraries (on systems that don't need them) - Support for DESTDIR setting in top Makefile (for debian packaging) - Man pages added as doc/xr.1, doc/xrctl.1 and doc/xrctl.xml.5. 2.32 [KK 2008-11-05] - Bugfix in "stored-ip" dispatching algorithm. 2.31 [KK 2008-10-30] - Changes related to XML-style configuration file support. A new-style xrctl is in provided and during "make install" put in BINDIR (normally: /usr/sbin). See test/sampleconf.xml for an example of a configuration file. - Added webinterface URI's to control DOS-protection related settings. - Added DOS-protection variables to XML-output of the web interface. - Server-wide maxconnection tag output moved into dosprotection block. - Added display of such variables to the style sheet that renders the XML in a browser. - Added option close-sockets-fast to XML output and to website URI controls. - Added allow-from and deny-from lists to XML output and to website URI controls. - Added the primary distribution site to the top-level Makefile as macro. This now shows up in "xr -V". The version ID and site also show up at the bottom of the web interface screen. - Target "uninstall" added to the top-level Makefile. - Bugfix in Netbuffer::netwrite(). When the remote connection would be hung up, XR would be blissfully unaware. SIGPIPE signals are now ignored. - Implemented flag -g / --backend-check. Alternatives: connect:ip:port, get:ip:port[/uri], external:program. - Added back end check type to the web interface reports, created control at web interface for /backend/NR/backendcheck/VALUE to change it. Added to XML configuration parsing. - Docs updated, ofc. - Status of balancer shown in web interface. Minor bugfix in xrctl. - Added flags -E/-e (hard/soft-maxconn-excess, to call an external program). Also added to web interface with controls and updated docs. - Added mutex locks around cerr output catch-blocks of exceptions. - Added more checks for memory allocation faults. - Implemented DNS caching of back end host names (flag -F, --dns-cache-timeout). Also implemented in web interface output and controls. - Implemented adding and/or deleting back ends from the user interface, including scripting URI's. - Implemented generation of a new configuration using "xrctl generateconfig". 2.30 [KK 2008-10-25] - Reversioned to 2.30 in prepration for STABLE release. - Bugfix in Netbuffer::netwrite() (debug output of written data) - SIGPIPE gets ignored, see sys/main.cc - Fixed re-entrancy issues for gethostbyname() that applies to some unices. See Backend::connect() (xr/backend/connect.cc). 2.22 [KK 2008-10-16] - Implemented up/down state in back ends. Fixed up the docs. - Rewrote msg() and debugmsg() handling: these are now macros that call _msg() and _debugmsg() depending on verbose/debug flags. The argument is a Mstr object, used to concatenate strings with ints, doubles and so on. 2.21 [KK 2008-10-14] - Fixed round-robin dispatching with only 1 configured back end. The bug was that on the next-time around, no "other" back end would be found. - Centralized reading/writing from fd's and buffer handling into class Netbuffer. This removes superfluous buffer copying in the HTTP dispatcher. - Rewrote HTTP dispatcher & (hopefully) optimized it. - Added Profiler class and xr/etc/xrprof tool. - Many other small changes. - Added docs on maxconn flags and weighted-load dispatching. - THIS VERSION IS A REWRITE OF THE HTTP DISPATCHER. IT IS ALPHA-QUALITY. 2.20 [KK 2008-10-13] - Fixed -C flag recognition, --close-sockets-fast worked, but I'd omitted -C from the flag set. - Ongoing optimization work. 2.19 [KK 2008-10-13] - Changed the TCP Dispatcher to allow for setting a maximum # connection attempts per client, with options to either defer the connection or drop it. - Added a dispatch mdoe "weighted-load" for randomly picking a back end based on the inverse of their respective load averages. (gem) - Verbose/debug options in the web interface are now rendered as select boxes. - Web interface errors are rendered on the client as an HTML error page. - Docs updated regarding web interface URI's. - Turned on compliler optimizing (had forgotten that before!) - Docs updated regarding web interface URI's. 2.18 [KK 2008-10-08] - Improved command line parsing, so that when --checkup-interval is used, suppression of "--wakeup-interval 0" is no longer needed. 2.17 [KK 2008-10-07] - Type sizes reported in "xr -V" - Fixed nasty bug in sys/fdwrite.cc 2.16 [KK 2008-10-05] - Enhanced web interface to show debug, verbose and traffic log states - Altering parameters for the web interface get sent in encoded form - Option --log-traffic was renamed to --log-traffic-dir for consistency - Enhanced web interface to modify client and back end timeouts - Enhanced web interface to modify wakeup / checkup intervals. 2.15 - Sanity checks in Config::parsecmdline(): -w/-c together throws error. - Network sends are now using write(), unless under Solaris, which uses send(). - --log-traffic logs to file with as the base name: the request number. - System (uname) is recorded during compilation and displayed in "xr -V" 2.14 [KK 2008-09-30] - Removed spurious debug message. - Fixed usage info for buffer size flag (should be -B, not -b). - Implemented flag -l (--log-traffic). 2.13 [KK 2008-09-17] - Porting issues resolved for older MacOSX (10.3, 10.4) - Bugfix in XML emitting of web interface. Most browsers didn't even notice.. 2.12 [KK 2008-09-10] - Small code changes for g++ v3.x backward-compatibility support. (Thanks Simon M.) - Web interface: layout enhanced, more modification options - Code cleanup, duplications removed - Network sending ignores some errno's and retries (see sys/fdwrite.cc) - Web interface retries binding to its socket (incase a previous instance hasn't terminated yet) - Web interface returns an HTTP error page (status 500 only, no content) during errors 2.11 [KK 2008-09-04] - Bugfix in "first-active" dispatch mode. Previously XR would gobble up fd's when no back end was available. - Web interface (first version) implemented. 2.10 [KK 2008-09-02] - Bugfix in host match mode. When a back end doesn't match anything, then the client isn't served. (Previously the dispatcher would fall back to least-connections over all known back ends.) - In HTTP mode, a 502 error gets returned to the client when dispatching fails or when back end processing goes haywire. There is just one error page, 502 error header, 0 bytes content length. - Implemented back end weights for least-connections dispatching. - Bugfix in Backend::connect(): Socket gets closed when connecting fails. 2.09 [KK 2008-09-01] --host-match code implemented 2.08 [KK 2008-08-31] I'd forgotten to include the 'P' into the set of allowed flags (--prefix-timestamp would work, -P not). Fixed. 2.07 [KK 2008-08-28] Stupid bug in 2.06, sorry that 2.06 got out.. Fixed. 2.06 [KK 2008-08-27] Upped c-conf to 1.14. xrctl updated: 'ps' command format also suitable for SunOS. New class Mutex implemented. Mutex-locks are now more fine-grained (per one global or static). Solaris9 port w/gcc 3.4.6 done. 2.05 [KK 2008-08-15] Thrown errors now based on std::exeception. "xr -V" shows compilation settings. Code reorganized into directory hierarchy. 2.04 [KK 2008-08-11] Mutex in Thread class is now a static. Implemented dispatching algorithm "stored clent ip", in the variants strict and lax. Flag -n / --tryout implemented. Implemented in xrctl. 2.03 [KK 2008-08-10] Updated docs regarding the mailing list. Fixed verbose display upon accepting a client ("current back end states"). Implemented dispatching algorithm "hashed client ip", in the variants strict and lax. 2.02 [KK 2008-08-09] Changes to the Makefile & some sources to avoid warnings under RHL (thanks, Simon M.). Bytes processed by a back end is now administered in TcpDispatcher::writechunk() and not readchunk(). Reason: In HTTP mode, the target back end is not yet known upon the first read -- the first read from the client comes before dispatching. Thanks Simon M. for the bug report. All select()'s now check for errno==EINTR, incase XR gets a signal -1 (for status report). 2.01 [KK 2008-08-08] Implemented flag -C (--close-sockets-fast): this option *can* be used under heavy stress when too many network sockets remain in TIME_WAIT state (try with 'netstat -n | grep TIME_WAIT'). Syntax of xrctl is checked upon "make commit". Added documentation about Solaris tcp_time_wait_interval and Linux ip_conntrack_max. Added documentation about binding XR to the same port, using different bind-to IP's. 2.00 [KK 2008-08-07] Release of 2.00.