bottleneck testcase based on rubbos
[bottlenecks.git] / rubbos / app / tomcat-connectors-1.2.32-src / xdocs / news / 20081001.xml
1 <?xml version="1.0"?>
2 <!--
3   Licensed to the Apache Software Foundation (ASF) under one or more
4   contributor license agreements.  See the NOTICE file distributed with
5   this work for additional information regarding copyright ownership.
6   The ASF licenses this file to You under the Apache License, Version 2.0
7   (the "License"); you may not use this file except in compliance with
8   the License.  You may obtain a copy of the License at
9
10       http://www.apache.org/licenses/LICENSE-2.0
11
12   Unless required by applicable law or agreed to in writing, software
13   distributed under the License is distributed on an "AS IS" BASIS,
14   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15   See the License for the specific language governing permissions and
16   limitations under the License.
17 -->
18 <!DOCTYPE document [
19   <!ENTITY project SYSTEM "project.xml">
20 ]>
21 <document url="20081001.html">
22
23   &project;
24
25   <properties>
26     <author email="dev.AT.tomcat.DOT.apache.DOT.org">Apache Tomcat Connectors Project</author>
27     <title>2008 News and Status</title>
28   </properties>
29
30 <body>
31
32 <section name="2008 News &amp; Status">
33 <br />
34 <subsection name="28 October - JK-1.2.27 released">
35 <a name="20081028.1"></a>
36 <br />
37 <p>The Apache Tomcat team is proud to announce the immediate availability
38 of Tomcat Connectors 1.2.27. This is a stable release adding lots of new features
39 and some bug fixes.
40 </p><p>
41  Please see the <a href="../miscellaneous/changelog.html">ChangeLog</a> for a full list of changes.
42 </p>
43 <p>If you find any bugs while using this release, please fill in the
44 <a href="https://issues.apache.org/bugzilla/enter_bug.cgi?product=Tomcat%20Connectors">Bugzilla</a>
45 Bug Report.
46 </p>
47 <p>
48 The most important new features in this version are:
49 </p>
50 <h3>Watchdog Thread for Periodic Tasks</h3>
51 <p>
52 The connector has to run some periodic tasks independant of
53 request processing. Examples are probing or closing down idle backend
54 connections, adjusting load numbers and recovering workers from error state.
55 </p>
56 <p>
57 Before version 1.2.27 these tasks were done inside the request processing loop.
58 When a new request came in and the task was due, the thread handling the
59 request first executed the internal task and then handled the request.
60 If there were no requests coming in, the tasks would not run. If any of
61 the tasks took unexpectedly long, the response time of the request waiting
62 for the finishing of the task went up.
63 </p>
64 <p>
65 Starting with this release you can configure a separate watchdog thread inside
66 the web server to run all those tasks independantly of request processing.
67 This new feature is avaliable for the connector when used with Apache httpd 2.x
68 or with Microsoft IIS. To keep the behaviour of the new version consistent
69 with previous releases, this feature is turned off by default.
70 You can activate the watchdog thread via
71 <a href="../reference/apache.html"><code>JkWatchdogInterval</code></a>
72 for Apache or
73 <a href="../reference/iis.html"><code>watchdog_interval</code></a>
74 for IIS.
75 </p>
76 <h3>Connection Probing</h3>
77 <p>
78 In previous releases connection probing (checking whether connections still work)
79 could only be done immediately after a new connection was established and
80 directly before sending each request. Since we now have the watchdog
81 thread available, we also added a periodic probing option, which you
82 can activate with the worker attribute
83 <a href="../reference/workers.html"><code>ping_mode</code></a>.
84 This will also be useful as a protection against the infamous firewall
85 idle connection drop.
86 </p>
87 <p>
88 The older attributes <code>connect_timeout</code> and <code>prepost_timeout</code>
89 still exist and work the same way they did in previous releases.
90 Since there are now three different probing options, we recommend to migrate
91 your configuration to the newer attributes <code>ping_mode</code>,
92 <code>ping_timeout</code> and <code>connection_ping_interval</code>.
93 </p>
94 <h3>Mount Extensions</h3>
95 <p>
96 Usually one defines workers and mounts for the connector.
97 A worker defines a backend we want to talk to and the configuration parameters of the
98 communication, connection pools etc. The mounts define which URIs we want to forward to
99 which worker (so we also call a mount an URI map rule).
100 In version 1.2.27 you can overwrite certain worker parameter per mount.
101 </p>
102 <p>
103 One easy to understand example is reply timeouts. Until this release you had to specify
104 a reply timeout for the whole worker. But reply times depend a lot on the type of
105 request. So normally you want to define a general reply timeout and
106 for some special URLs you need to relax the reply timeout, because you know those
107 URLs take much longer to process (like e.g. reporting or other compute intensive tasks).
108 </p>
109 <p>
110 Another possible case is the activation status. You might use a load balancer worker to
111 forward requests to certain webapps in a farm of Tomcat nodes. If you wanted
112 to update some webapp on one node, you previously had to stop forwarding requests for
113 all webapps on this Tomcat node. What was not possible until now, was stopping forwarding
114 requests restricted to the webapp and the node you wanted to update.
115 </p>
116 <p>
117 Starting with this release, you can add so-called
118 <a href="../reference/uriworkermap.html#Rule extensions">rule extensions</a>
119 to your uriworkermap file to influence worker parameters per mount. This will
120 work for all Apache versions and for IIS. Remember, that
121 the uriworkermap file automatically gets reloaded after changes without web server
122 restart.
123 </p>
124 <h3>Improved IIS support</h3>
125 <p>
126 We improved IIS support im various ways. It is now possible to use
127 multiple IIS 6 application pools with the ISAPI redirector.
128 </p>
129 <p>
130 Furthermore some improvements were added as compile time features.
131 The most notable one is chunked encoding support, which was a major
132 refactoring and is therefore still considered experimental. You can
133 download binaries with and without chunked encoding support. In future
134 versions, chunked encoding will likely be availabe in all builds.
135 </p>
136 <p>
137 Another new feature is an elegant way of configuring error page redirects.
138 All new features are documented on the documentation page about
139 <a href="../reference/iis.html">configuring IIS</a>.
140 </p>
141 <h3>Enhanced Status Worker</h3>
142 <p>
143 The
144 <a href="../reference/status.html">status worker</a>
145 now can also manage and show statistics for AJP workers that
146 are not part of a load balancer. Other improvements are the new <code>dump</code>
147 action, the integration of the new configuration attributes, showing average
148 request and transfer rates since the last statistics reset and the ability to
149 display only a single member of a load balancer.
150 </p>
151 <p>
152 Unfortunately we had to change
153 <a href="../reference/status.html#Data Parameters for the standard Update Action">some request parameters</a>
154 used for the <code>update</code> action of the status worker.
155 </p>
156 <h3>Miscellaneous Improvements</h3>
157 <p>
158 Further enhancements are:
159 <ul>
160 <li>
161 Configurable session stickyness indicator: cookie name and URL path
162 parameter name can be freely chosen instead of the servlet spec compliant
163 <code>JSESSIONID</code> and <code>;jsessionid</code>.
164 </li>
165 <li>
166 Automatically determining the size of the shared memory segment needed
167 to accommodate all workers.
168 </li>
169 <li>
170 New connection establishment timeout <code>socket_connect_timeout</code>.
171 </li>
172 <li>
173 New timeout <code>connection_acquire_timeout</code> for acquiring a free connection from
174 the pool.
175 </li>
176 <li>
177 Improved retry handling by adjusting the meaning of the attribute <code>retries</code> for
178 AJP workers and for load balancers and by adding the new <code>retry_interval</code>.
179 </li>
180 <li>
181 Allowing the web server to provide error pages instead of Tomcat.
182 </li>
183 </ul>
184 </p>
185 </subsection>
186 </section>
187 </body>
188 </document>