The Jakarta Project The Apache Jakarta Tomcat Connector

-------------------------------------------------------------------------------

The Apache Jakarta Tomcat Connector                          *

Changelog

Preface
    This is the Changelog for Jakarta Tomcat Connectors. This
    changelog does not contain all updates and fixes to the
    Tomcat connectors (yet). It should contain fixes made only
    after November 10th 2004, when the new documentation
    project for JK was started.

Changes from the released JK 1.2.13

    Native
        fix    34397: Emergency was handled as Error. (jfclere)

        fix    34474: // in URL were not handled correctly with
               Apache-1.3. (jfclere)

        fix    Use 64 bits int for transferred/read bytes.

        update Added JkOptions +FlushPackets used to optimize
               memory usage when sending large data. (mturk)

        update Added lock directive for load balancer that allows
               more acurate load balancing in case of burst load.
               (mturk)

        update Added worker.maintain directive to allow
               customizing default 10 second timeout. On busy
               servers this value needs to be set on higher value.
               (mturk)

        fix    Fix for NetWare compiler to deal with different
               types between AP13 and AP2 SDKs. (fuankg)

        update Emit much more legible user.dmp crash analysis
               output for WIN32. (wrowe)

        fix    34558: Fix first failover request. (mturk)

Changes from the released JK 1.2.12

    Native
        update Added ForwardLocallAddres JkOptions flag for
               passing local instead remote address. Useful for
               remote addr valve. (mturk)

        fix    Fix that worker not used, when stopped flag is
               true. (pero)

        update Add loadbalance default worker secret attribute to
               the documentation (pero)

Changes from the released JK 1.2.11

    Native
        fix    Backport SC_M_JK_STORED from JK2 for passing
               arbitrary methods instead failing the request.
               (mturk)

        fix    Added missing SEARCH and ACL http methods. (mturk)

        update Add worker secret attribute to the documentation
               (pero)

        update Add a stopped flag to worker configuration. Set
               flag True and complete traffic to worker is
               stopped. Also update the Ant JkStatusUpdateTask at
               Tomcat 5.5.10 release. Only usefull in a replicated
               session cluster.(pero)

        update Added worker maintain function that will maintain
               all the workers instead just the current one. This
               enables to recycle the connections on all workers.
               (mturk)

        update Use shutdown when recycling connections instead
               hard breaking the socket. (mturk)

        update Add unique directives checking. The directives if
               unique are now overwritten instead concatenated.
               (mturk)

        update Allow multiple worker.list directives. (mturk)

        fix    34577: For IIS log original request instead loging
               the request for ISAPI extension. (mturk)

        fix    34558: Make sure the returned status codes are the
               same for ajp and lb workers. (mturk)

        fix    34423: Use APR_USE_FLOCK_SERIALIZE for setting log
               lock on platforms like FreeBSD. Patch provided by
               Allan Saddi. (mturk)

        fix    33843: Fix obtaining LDFLAGS that were used for
               building Apache HTTPD. Patch provided by Beat
               Kneubuehl. (mturk)

        fix    34358: Enable load balancer method configuration.
               (glenn)

        fix    34357: In some situations Apache 2 mod_jk could
               segfault when the JkAutoAlias directive is used.
               (glenn)

        update Add --enable-prefork to the documentation (pero)

Changes from the released JK 1.2.10

    Native
        update Set default shared memory to 64K instead 1M.
               (mturk)

        fix    Do not mark the worker in error state if headers
               are larger then AJP13 limit. (mturk)

        update On Series you should use the latest PTF for Apache
               2.0 (which is now 2.0.52) and ad minima SI17402/
               SI17061 or cumulative including them. (hgomez)

        update Change the xml status format to xml attribute
               syntax (pero)

        fix    33248: Fix builds where apxs defines multiple
               directories for APR includes. (mturk)

        fix    32696: Return 404 instead 403 when WEB-INF is
               requested to comply with Servlet spec. (mturk)

        update Added ANT task for managing jkstatus. (pero)

        update If socket_timeout is set, check if socket is alive
               before sending any request to Tomcat. (mturk)

        update Added JkMountFile for Apache web servers. This file
               can contain uri mappings in the form (/url=worker),
               and is checked for updates at regular 60 second
               interval. (mturk)

        update Added status worker for managing worker runtime
               data using web page. (mturk)

        update Added load balancer method directive that is used
               for setting the algorithm used for balancing
               workers. Method can be either Request (default) or
               Traffic. (mturk)

        update Added shared memory to allow dynamic configuration.
               Shared memory is needed only for unix platform and
               web servers having multiple child processes. For
               Apache web server two new directives has been added
               (JkShmFile and JkShmSize). (mturk)

        update Added textupdate mode to status worker to handle
               remote updates from ant tasks.(pero)

        fix    33562: Fix Reply_timeout when recovery_options is
               larger than 1. Patch provided by Takashi Satou.
               (mturk)

        fix    33308: Fix segfaults when ForwardDirectories is
               enabled with Apache 1.3

Changes from the released JK 1.2.8

    Native
        update Allow anyone to debug and diagnose stack dumps
               using windbg or any other debugging tool, and (if
               they add the .pdb files to their installation) to
               make sense of dr watson logs. Patch provided by
               William A. Rowe (wrowe)

        fix    Fix in_addr_t usage by using the real struct
               ignoring typedef. Patch provided by William A. Rowe
               (wrowe)

        fix    Fix url rewriting by restoring the in place uri
               from which the jsessionid was removed. (mturk)

        update Make load balancer algorithm thread safe by
               introducing mutex to the load balancer worker.
               (mturk)

        fix    Fix sending error pages for IIS to client by adding
               Content-Type header using correct api function
               call. (mturk)

        fix    32696: Prevent IIS from crushing when web-inf url
               was requested. (mturk)

        update Use default cachesize for servers that support
               discovering the number of threads per child
               process. (mturk).

        fix    Fix Apache content-length header parsing using case
               insensitive compare. (billbarker)

        fix    Fix parsing AJP headers using case insensitive
               compare. (mturk)

        fix    Use infinite socket timeout if socket_timeout is
               set to zero or less then zero. (mturk)

        update Change balanced_workers to balance_workers but keep
               backward compatibility preserving the old
               directive. (mturk).

        fix    Fix ajp initialization for workers with cache_size
               set to zero. (mturk)

        update 32317: Making mod_jk replication aware (Clustering
               Support). Patch provided by Rainer Jung. (mturk).

        fix    31132: Core dump when JkLogFile is missing from
               conf. (mturk)

Changes from the released JK 1.2.6

    Native
        update Added new property named recover_time that can be
               used to change the default 60 second recover time.
               (mturk)

        update Added custom retries for worker, so we don't depend
               on default setting. If set to a number grater then
               3, it will sleep for 100ms on retry greater then 3
               and then try again. (mturk)

        update Added JkWorkerProperty directive that enables
               omiting workers.properties file. For example:
               JkWorkerProperty worker.ajp13a.port=8009. (mturk)

        fix    Check all JSESSIONID cookies for a valid jvmRoute.
               If you have multiple Tomcats with overlapping
               domains, then you can get multiple cookies without
               a defined order. This will route correctly as long
               as the different domains don't have any Tomcats in
               common. (billbarker)

        update Added JkUnMount directive for negative mappings
               that works as opposite to JkMount directives. It is
               used for blocking of particular URL or content
               type. (mturk)

        update Added wildchar match uri mappings. One can now use
               JkMount to map /app/*/servlet/* or /app?/*/*.jsp.
               (mturk)

        update Rewrite the logging by adding Trace options.
               (mturk)

        update Added socket_timeout property that sets the timeout
               for the socket itself. (mturk)

        fix    Changed socket_timeout property to recycle_timeout.
               This better explains what the directive actually
               does. (mturk)

        fix    Changed the load balancer algorithm. The idea
               behind this new scheduler is the following:
               lbfactor is how much we expect this worker to work,
               or the worker's work quota. lbstatus is how urgent
               this worker has to work to fulfill its quota of
               work. We distribute each worker's work quota to the
               worker, and then look which of them needs to work
               most urgently (biggest lbstatus). This worker is
               then selected for work, and its lbstatus reduced by
               the total work quota we distributed to all workers.
               Thus the sum of all lbstatus does not change.(*) If
               some workers are disabled, the others will still be
               scheduled correctly. (mturk)

JK 2
    JK2 has been put in maintainer mode and no further
    development will take place. The reason for shutting down
    JK2 development was the lack of developers interest. Other
    reason was lack of users interest in adopting JK2, caused
    by configuration complexity when compared to JK.

-------------------------------------------------------------------------------

              Copyright (C) 1999-2005, Apache Software Foundation

