You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by Rainer Jung <ra...@kippdata.de> on 2009/03/10 19:27:18 UTC

Apache Tomcat Connectors snapshot 1.2.28-dev-752124 available for testing.

Hi all,

version 1.2.28 of mod_jk is approaching its release. A code snapshot
(revision 752124) is available at:

http://tomcat.apache.org/dev/dist/tomcat-connectors/jk/source/jk-1.2.28-dev/

Please join us in ensuring the quality of the forthcoming release by 
testing this snapshot. The source archives are in the same format as a 
release download, so easy to build. We also provide some binaries at

http://tomcat.apache.org/dev/dist/tomcat-connectors/jk/binaries/

Depending on your feedback we plan to tag the release at the end of this 
week or next week. If you find any bugs while using this snapshot, 
please fill in the Bugzilla Bug Report or send an e-mail to Tomcat 
Developers List. When entering bug use the following link:

http://issues.apache.org/bugzilla/enter_bug.cgi?product=Tomcat%20Connectors

Notice:
Please do not use this snapshot for production.
It is meant to be used for testing purposes only!


The release will contain some bug fixes and improvements:

Features/Improvements
---------------------

General:

- Add new property error_escalation_time for LB workers
   to fine tune escalation of local errors to global errors.
- If the sticky session affinity mark contains a dot, an LB
   treats the part after the dot as the domain name.
   This allows to have full node session affinity with domain failover. 
- Allow AJP13 worker ports lower or equal to 1024.
- Move shm locking into the data pull and push methods.
- Deprecate JNI workers.

Apache:

- Add more environment variables to overwrite request information.
   Useful in case a proxy is in front of Apache and sends us original
   request information e.g. via custom headers.

IIS:

- Improve support for multiple Application Pools
- Update uriworkermap.properties file on a regular interval.
   This requires both worker_mount_reload and watchdog_interval
   to be defined.
- Remove obsolete entries from registry file.

Status-Worker:

- Allow changing worker address and port of AJP workers.
   The address is resolved on next request for that worker.
- Include error time in display.
- Do not redirect to the show or list page, if an error occured
   during an action.
- Allow update actions to show error messages in the result page.
- Remove redundant port information from worker display.
   Rename address column and remove its explanation from the legend.
- Optimize forced uriworkermap.properties reload.

Docs:

- Add a new HowTo page about reverse proxies.
- Clarify IIS URL rewrite feature.
- Clarify relation between socket_timeout and socket_connect_timeout.


Fixes
-----

- JkWatchogInterval used a wrong interval calculation causing a
   10 times higher watchdog interval then configured for Apache 2.x.
- Fix forced recovery in combination with local error states.
- Fix crash in text display format of status worker.
- Set global worker state to error in L, when we reach
   max_reply_timeouts, or fail_on_status triggered hard error.
- Show - Edit - Show in status worker always ends in single
   lb member show, even when started from all members lb show.
- Fix use of wildcards in sub worker names were broken for
   update actions of status worker.
- BZ 46763: Survive the log mutex in Apache 2.x during graceful restart.
- BZ 46416: Fix building Apache 2.x on Windows: Include mstcipip.h
   even if apr doesn't include it.
- BZ 46734: Fix broken links in documentation.
- BZ 46579: Use local environment table instead environment
   variables for setting the JKISAPI_PATH and JKISAPI_NAME.
- Missing define for MAX_PATH on Netware
- BZ 46352: Fix crash in Apache, when using SetHandler jakarta-servlet
   in VHost without any JkMount.
- BZ 46169: Backport use_server_errors mount extension to Apache 1.3.
- Add 2008 news to main documentation page and documentation menues.

Furthermore there have been some minor code refactorings in the load 
balancer error handling.


At the URL

http://tomcat.apache.org/dev/dist/tomcat-connectors/jk/docs/jk-1.2.28-dev/

you can find the updated documentation.

The full change log is available under:

http://tomcat.apache.org/dev/dist/tomcat-connectors/jk/docs/jk-1.2.28-dev/miscellaneous/changelog.html

Thank you,
-- 
The Apache Tomcat Team


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


Re: Apache Tomcat Connectors snapshot 1.2.28-dev-752124 available for testing.

Posted by Henri Gomez <he...@gmail.com>.
I tried to build the 1.2.28 on my i5/OS system but the compile phase failed ;(

I'm investigating why

2009/3/12 sebb <se...@gmail.com>:
> On 11/03/2009, Rainer Jung <ra...@kippdata.de> wrote:
>> Hi Sebb,
>>
>>  On 10.03.2009 21:33, sebb wrote:
>>
>> > On 10/03/2009, Rainer Jung<ra...@kippdata.de>  wrote:
>> >
>> > > Hi all,
>> > >
>> > >  version 1.2.28 of mod_jk is approaching its release. A code snapshot
>> > >  (revision 752124) is available at:
>> > >
>> > >
>> http://tomcat.apache.org/dev/dist/tomcat-connectors/jk/source/jk-1.2.28-dev/
>> > >
>> > >
>> >
>> > The NOTICE file is non-standard, as it does not contain the product
>> > name or the Copyright year(s).
>> >
>> > See:
>> >
>> > http://www.apache.org/legal/src-headers.html#notice
>> >
>> > for details
>> >
>>
>>  Fixed in r752627.
>
> OK.
>
>>
>> > ===
>> >
>> > Incorrect Javadoc:
>> >
>> org.apache.jk.status.JkStatusTask.setPropertyBalancer
>> >
>>
>>  Fixed in r752629 +r752644. The whole JavaDocs are a mess though, they are
>> more or less only stubs. The Java parts of the connectors release would need
>> a bit of love.
>
> OK, point taken.
>
>>
>> > ===
>> >
>> > Findbugs reports:
>> > org.apache.jk.status.JkStatusParser.digester isn't final
>> but should be
>> >
>>
>>  I asked Peter to have a look.
>>
>
> Good.
>
> Shared mutable static fields are generally a bad idea.
>
> Even private fields are better made final if possible.
>
>>
>> > ===
>> >
>> > Some odd numbers in the code in mod_jk.c:
>> >
>> > static array_header *parse_request_log_string(pool * p, const char *s,
>> >                                               const char **err)
>> > {
>> >     array_header *a = ap_make_array(p, 15,
>> sizeof(request_log_format_item));
>> > // Why 15?
>> > ...
>> >
>>
>>  Initial size, the array will automatically grow, if needed. I first
>
> Oh, I see.
>
>> introduced a defined constant for that, and then changed my mind and
>> switched to using "0" as the initial size. Arrays and tables resize
>> automatically and this is not a critical code path w.r.t. performance.
>
> OK.
>
> <soapbox>
> I'm always wary about numbers in code - anything other than +/-1 or 0
> has the potential to be wrong or misunderstood, especially if it is
> not documented.
>
> There was recent Tomcat bug to do with timeouts where there was a bare
> number 100000 or was it 1000000? The meaning of number was/is not
> documented, so it's not trivial to check if it's correct.
>
> Much easier to understand would be something like
>
> #define 100MILLISECS_AS_MICROSECS 100000
>
> I'd like to see all numbers (apart from 0/1) expressed as defines, but
> that is perhaps asking too much.
>
> Helps document the code, and makes it much easier to change later, as
> one can distinguish numbers with the same value but different
> functions.
>
> </soapbox>
>>  r752636 + r752641.
>>
>
>> > static const char *jk_add_env_var(cmd_parms * cmd,
>> >                                   void *dummy,
>> >                                   char *env_name, char *default_value)
>> > {
>> > ...
>> >         conf->envvar_items = ap_make_array(cmd->pool, 0,
>> >                                            sizeof(envvar_item));
>> > // Why 0? This is the number of entries to create?
>> >
>>
>>  Default + automatic resize. See above.
>>
>>  Thanks for having a look.
>>
>>  Regards,
>>
>>  Rainer
>>
>>
>> ---------------------------------------------------------------------
>>  To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
>>  For additional commands, e-mail: dev-help@tomcat.apache.org
>>
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: dev-help@tomcat.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org


Re: Apache Tomcat Connectors snapshot 1.2.28-dev-752124 available for testing.

Posted by sebb <se...@gmail.com>.
On 11/03/2009, Rainer Jung <ra...@kippdata.de> wrote:
> Hi Sebb,
>
>  On 10.03.2009 21:33, sebb wrote:
>
> > On 10/03/2009, Rainer Jung<ra...@kippdata.de>  wrote:
> >
> > > Hi all,
> > >
> > >  version 1.2.28 of mod_jk is approaching its release. A code snapshot
> > >  (revision 752124) is available at:
> > >
> > >
> http://tomcat.apache.org/dev/dist/tomcat-connectors/jk/source/jk-1.2.28-dev/
> > >
> > >
> >
> > The NOTICE file is non-standard, as it does not contain the product
> > name or the Copyright year(s).
> >
> > See:
> >
> > http://www.apache.org/legal/src-headers.html#notice
> >
> > for details
> >
>
>  Fixed in r752627.

OK.

>
> > ===
> >
> > Incorrect Javadoc:
> >
> org.apache.jk.status.JkStatusTask.setPropertyBalancer
> >
>
>  Fixed in r752629 +r752644. The whole JavaDocs are a mess though, they are
> more or less only stubs. The Java parts of the connectors release would need
> a bit of love.

OK, point taken.

>
> > ===
> >
> > Findbugs reports:
> > org.apache.jk.status.JkStatusParser.digester isn't final
> but should be
> >
>
>  I asked Peter to have a look.
>

Good.

Shared mutable static fields are generally a bad idea.

Even private fields are better made final if possible.

>
> > ===
> >
> > Some odd numbers in the code in mod_jk.c:
> >
> > static array_header *parse_request_log_string(pool * p, const char *s,
> >                                               const char **err)
> > {
> >     array_header *a = ap_make_array(p, 15,
> sizeof(request_log_format_item));
> > // Why 15?
> > ...
> >
>
>  Initial size, the array will automatically grow, if needed. I first

Oh, I see.

> introduced a defined constant for that, and then changed my mind and
> switched to using "0" as the initial size. Arrays and tables resize
> automatically and this is not a critical code path w.r.t. performance.

OK.

<soapbox>
I'm always wary about numbers in code - anything other than +/-1 or 0
has the potential to be wrong or misunderstood, especially if it is
not documented.

There was recent Tomcat bug to do with timeouts where there was a bare
number 100000 or was it 1000000? The meaning of number was/is not
documented, so it's not trivial to check if it's correct.

Much easier to understand would be something like

#define 100MILLISECS_AS_MICROSECS 100000

I'd like to see all numbers (apart from 0/1) expressed as defines, but
that is perhaps asking too much.

Helps document the code, and makes it much easier to change later, as
one can distinguish numbers with the same value but different
functions.

</soapbox>
>  r752636 + r752641.
>

> > static const char *jk_add_env_var(cmd_parms * cmd,
> >                                   void *dummy,
> >                                   char *env_name, char *default_value)
> > {
> > ...
> >         conf->envvar_items = ap_make_array(cmd->pool, 0,
> >                                            sizeof(envvar_item));
> > // Why 0? This is the number of entries to create?
> >
>
>  Default + automatic resize. See above.
>
>  Thanks for having a look.
>
>  Regards,
>
>  Rainer
>
>
> ---------------------------------------------------------------------
>  To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
>  For additional commands, e-mail: dev-help@tomcat.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org


Re: Apache Tomcat Connectors snapshot 1.2.28-dev-752124 available for testing.

Posted by Rainer Jung <ra...@kippdata.de>.
Hi Sebb,

On 10.03.2009 21:33, sebb wrote:
> On 10/03/2009, Rainer Jung<ra...@kippdata.de>  wrote:
>> Hi all,
>>
>>   version 1.2.28 of mod_jk is approaching its release. A code snapshot
>>   (revision 752124) is available at:
>>
>> http://tomcat.apache.org/dev/dist/tomcat-connectors/jk/source/jk-1.2.28-dev/
>>
>
> The NOTICE file is non-standard, as it does not contain the product
> name or the Copyright year(s).
>
> See:
>
> http://www.apache.org/legal/src-headers.html#notice
>
> for details

Fixed in r752627.

> ===
>
> Incorrect Javadoc:
> org.apache.jk.status.JkStatusTask.setPropertyBalancer

Fixed in r752629 +r752644. The whole JavaDocs are a mess though, they 
are more or less only stubs. The Java parts of the connectors release 
would need a bit of love.

> ===
>
> Findbugs reports:
> org.apache.jk.status.JkStatusParser.digester isn't final but should be

I asked Peter to have a look.

> ===
>
> Some odd numbers in the code in mod_jk.c:
>
> static array_header *parse_request_log_string(pool * p, const char *s,
>                                                const char **err)
> {
>      array_header *a = ap_make_array(p, 15, sizeof(request_log_format_item));
> // Why 15?
> ...

Initial size, the array will automatically grow, if needed. I first 
introduced a defined constant for that, and then changed my mind and 
switched to using "0" as the initial size. Arrays and tables resize 
automatically and this is not a critical code path w.r.t. performance.

r752636 + r752641.

> static const char *jk_add_env_var(cmd_parms * cmd,
>                                    void *dummy,
>                                    char *env_name, char *default_value)
> {
> ...
>          conf->envvar_items = ap_make_array(cmd->pool, 0,
>                                             sizeof(envvar_item));
> // Why 0? This is the number of entries to create?

Default + automatic resize. See above.

Thanks for having a look.

Regards,

Rainer

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org


Re: Apache Tomcat Connectors snapshot 1.2.28-dev-752124 available for testing.

Posted by sebb <se...@gmail.com>.
On 10/03/2009, Rainer Jung <ra...@kippdata.de> wrote:
> Hi all,
>
>  version 1.2.28 of mod_jk is approaching its release. A code snapshot
>  (revision 752124) is available at:
>
> http://tomcat.apache.org/dev/dist/tomcat-connectors/jk/source/jk-1.2.28-dev/
>

The NOTICE file is non-standard, as it does not contain the product
name or the Copyright year(s).

See:

http://www.apache.org/legal/src-headers.html#notice

for details

===

Incorrect Javadoc:
org.apache.jk.status.JkStatusTask.setPropertyBalancer

===

Findbugs reports:
org.apache.jk.status.JkStatusParser.digester isn't final but should be

===

Some odd numbers in the code in mod_jk.c:

static array_header *parse_request_log_string(pool * p, const char *s,
                                              const char **err)
{
    array_header *a = ap_make_array(p, 15, sizeof(request_log_format_item));
// Why 15?
...

static const char *jk_add_env_var(cmd_parms * cmd,
                                  void *dummy,
                                  char *env_name, char *default_value)
{
...
        conf->envvar_items = ap_make_array(cmd->pool, 0,
                                           sizeof(envvar_item));
// Why 0? This is the number of entries to create?

>  Please join us in ensuring the quality of the forthcoming release by
> testing this snapshot. The source archives are in the same format as a
> release download, so easy to build. We also provide some binaries at
>
> http://tomcat.apache.org/dev/dist/tomcat-connectors/jk/binaries/
>
>  Depending on your feedback we plan to tag the release at the end of this
> week or next week. If you find any bugs while using this snapshot, please
> fill in the Bugzilla Bug Report or send an e-mail to Tomcat Developers List.
> When entering bug use the following link:
>
> http://issues.apache.org/bugzilla/enter_bug.cgi?product=Tomcat%20Connectors
>
>  Notice:
>  Please do not use this snapshot for production.
>  It is meant to be used for testing purposes only!
>
>
>  The release will contain some bug fixes and improvements:
>
>  Features/Improvements
>  ---------------------
>
>  General:
>
>  - Add new property error_escalation_time for LB workers
>   to fine tune escalation of local errors to global errors.
>  - If the sticky session affinity mark contains a dot, an LB
>   treats the part after the dot as the domain name.
>   This allows to have full node session affinity with domain failover. -
> Allow AJP13 worker ports lower or equal to 1024.
>  - Move shm locking into the data pull and push methods.
>  - Deprecate JNI workers.
>
>  Apache:
>
>  - Add more environment variables to overwrite request information.
>   Useful in case a proxy is in front of Apache and sends us original
>   request information e.g. via custom headers.
>
>  IIS:
>
>  - Improve support for multiple Application Pools
>  - Update uriworkermap.properties file on a regular interval.
>   This requires both worker_mount_reload and watchdog_interval
>   to be defined.
>  - Remove obsolete entries from registry file.
>
>  Status-Worker:
>
>  - Allow changing worker address and port of AJP workers.
>   The address is resolved on next request for that worker.
>  - Include error time in display.
>  - Do not redirect to the show or list page, if an error occured
>   during an action.
>  - Allow update actions to show error messages in the result page.
>  - Remove redundant port information from worker display.
>   Rename address column and remove its explanation from the legend.
>  - Optimize forced uriworkermap.properties reload.
>
>  Docs:
>
>  - Add a new HowTo page about reverse proxies.
>  - Clarify IIS URL rewrite feature.
>  - Clarify relation between socket_timeout and socket_connect_timeout.
>
>
>  Fixes
>  -----
>
>  - JkWatchogInterval used a wrong interval calculation causing a
>   10 times higher watchdog interval then configured for Apache 2.x.
>  - Fix forced recovery in combination with local error states.
>  - Fix crash in text display format of status worker.
>  - Set global worker state to error in L, when we reach
>   max_reply_timeouts, or fail_on_status triggered hard error.
>  - Show - Edit - Show in status worker always ends in single
>   lb member show, even when started from all members lb show.
>  - Fix use of wildcards in sub worker names were broken for
>   update actions of status worker.
>  - BZ 46763: Survive the log mutex in Apache 2.x during graceful restart.
>  - BZ 46416: Fix building Apache 2.x on Windows: Include mstcipip.h
>   even if apr doesn't include it.
>  - BZ 46734: Fix broken links in documentation.
>  - BZ 46579: Use local environment table instead environment
>   variables for setting the JKISAPI_PATH and JKISAPI_NAME.
>  - Missing define for MAX_PATH on Netware
>  - BZ 46352: Fix crash in Apache, when using SetHandler jakarta-servlet
>   in VHost without any JkMount.
>  - BZ 46169: Backport use_server_errors mount extension to Apache 1.3.
>  - Add 2008 news to main documentation page and documentation menues.
>
>  Furthermore there have been some minor code refactorings in the load
> balancer error handling.
>
>
>  At the URL
>
> http://tomcat.apache.org/dev/dist/tomcat-connectors/jk/docs/jk-1.2.28-dev/
>
>  you can find the updated documentation.
>
>  The full change log is available under:
>
> http://tomcat.apache.org/dev/dist/tomcat-connectors/jk/docs/jk-1.2.28-dev/miscellaneous/changelog.html
>
>  Thank you,
>  --
>  The Apache Tomcat Team
>
>
> ---------------------------------------------------------------------
>  To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
>  For additional commands, e-mail: dev-help@tomcat.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org