question about localhost/ error count in tomcat manager web app

2005-06-15 Thread Annie Wang
hi,

when i access the manager web app, i noticed that error count for localhost/ 
default[/] increments.  http connector error count also increments.  any ideas 
why this is happening?  am i missing some configuration or could this be a bug?

i asked a similar question on the tomcat-user alias a while back, but didn't
get any reply back, so thought i'd check here.  

thanks.
-annie

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Session replication question

2005-06-13 Thread Pankaj Mishra
Hi,

 

  I have a question about Tomcat's session replication design. 

 

  I would like to know the reasons behind the design choice to move from
JGroups based replication to TCP based replication. Because it seems to me
that TCP based replication will have higher overhead than JGroups [multicast
based] replication. 

 

  I would greatly appreciate it if someone could shed some light on this
topic.

 

 

Thanks,

Pankaj



Building question

2005-06-11 Thread Bill Barker
I just tried to build a fresh copy of j-t-c/jni/native on my Solaris7 box, 
and it fails miserably ;-).  It looks like it needs to include -fpic, but I 
can't see how to do it (CFLAGS doesn't work).


The OpenSSL libraries are libssl.a and libcrypto.a.  With the pathetic 
security performance of OpenSSL, I wouldn't trust it any other way ;-). 




This message is intended only for the use of the person(s) listed above as the 
intended recipient(s), and may contain information that is PRIVILEGED and 
CONFIDENTIAL.  If you are not an intended recipient, you may not read, copy, or 
distribute this message or any attachment. If you received this communication 
in error, please notify us immediately by e-mail and then delete all copies of 
this message and any attachments.

In addition you should be aware that ordinary (unencrypted) e-mail sent through 
the Internet is not secure. Do not send confidential or sensitive information, 
such as social security numbers, account numbers, personal identification 
numbers and passwords, to us via ordinary (unencrypted) e-mail.


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Tomcat 5 Redhat Fedora rpm question

2005-06-01 Thread Bernard
Hi,

I am interested in packaging Tomcat.

So I found (using rpmseek.com) the following files:

tomcat5-5.0.30-5jpp_6fc.i386.rpm
tomcat5-5.0.30-5jpp_4fc.src.rpm

At a first glance, these files looked like what I wanted to create,
but they contain much more than what I expected and I need to learn
more about the work that is being put into this by others.


Questions:

  1) What is tomcat5-5.0.30-5jpp_6fc.i386.rpm ? I thought it was a
binary distribution but it has an incredible number of development
file dependencies. Why does it require libgcj?

  2) What is tomcat5-5.0.30-5jpp_4fc.src.rpm ? Why is it compiling
Tomcat ? I thought being a cross platform Java application,
compilation of the source is not required.
Does it perform a native compile (libgcj)? If so, is this the future
norm?

Who are the people to contact re the most common Redhat distribution?

Many thanks,

Bernard


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE: Tomcat 5 Redhat Fedora rpm question

2005-06-01 Thread Yoav Shapira
Hi,
JPackage: http://www.jpackage.org/rpm.php?id=1901.

Yoav

 -Original Message-
 From: Bernard [mailto:[EMAIL PROTECTED]
 Sent: Wednesday, June 01, 2005 2:46 AM
 To: tomcat-dev@jakarta.apache.org
 Subject: Tomcat 5 Redhat Fedora rpm question
 
 Hi,
 
 I am interested in packaging Tomcat.
 
 So I found (using rpmseek.com) the following files:
 
 tomcat5-5.0.30-5jpp_6fc.i386.rpm
 tomcat5-5.0.30-5jpp_4fc.src.rpm
 
 At a first glance, these files looked like what I wanted to create,
 but they contain much more than what I expected and I need to learn
 more about the work that is being put into this by others.
 
 
 Questions:
 
   1) What is tomcat5-5.0.30-5jpp_6fc.i386.rpm ? I thought it was a
 binary distribution but it has an incredible number of development
 file dependencies. Why does it require libgcj?
 
   2) What is tomcat5-5.0.30-5jpp_4fc.src.rpm ? Why is it compiling
 Tomcat ? I thought being a cross platform Java application,
 compilation of the source is not required.
 Does it perform a native compile (libgcj)? If so, is this the future
 norm?
 
 Who are the people to contact re the most common Redhat distribution?
 
 Many thanks,
 
 Bernard
 
 
 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Tomcat 5 Redhat Fedora rpm question

2005-06-01 Thread Henri Gomez
Yep, for all Java RPM based stuff, jpackage.org is your friend :)


2005/6/1, Yoav Shapira [EMAIL PROTECTED]:
 Hi,
 JPackage: http://www.jpackage.org/rpm.php?id=1901.
 
 Yoav
 
  -Original Message-
  From: Bernard [mailto:[EMAIL PROTECTED]
  Sent: Wednesday, June 01, 2005 2:46 AM
  To: tomcat-dev@jakarta.apache.org
  Subject: Tomcat 5 Redhat Fedora rpm question
 
  Hi,
 
  I am interested in packaging Tomcat.
 
  So I found (using rpmseek.com) the following files:
 
  tomcat5-5.0.30-5jpp_6fc.i386.rpm
  tomcat5-5.0.30-5jpp_4fc.src.rpm
 
  At a first glance, these files looked like what I wanted to create,
  but they contain much more than what I expected and I need to learn
  more about the work that is being put into this by others.
 
 
  Questions:
 
1) What is tomcat5-5.0.30-5jpp_6fc.i386.rpm ? I thought it was a
  binary distribution but it has an incredible number of development
  file dependencies. Why does it require libgcj?
 
2) What is tomcat5-5.0.30-5jpp_4fc.src.rpm ? Why is it compiling
  Tomcat ? I thought being a cross platform Java application,
  compilation of the source is not required.
  Does it perform a native compile (libgcj)? If so, is this the future
  norm?
 
  Who are the people to contact re the most common Redhat distribution?
 
  Many thanks,
 
  Bernard
 
 
  -
  To unsubscribe, e-mail: [EMAIL PROTECTED]
  For additional commands, e-mail: [EMAIL PROTECTED]
 
 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]
 


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Tomcat build question

2005-05-26 Thread jamesintomcat
I am new to this list. I download the main build.xml script from 
http://jakarta.apache.org/tomcat/tomcat-5.5-doc/building.html and try to use 
ant to buld it. I got an error:

build.xml:717: Cannot replace directory 
\usr\share\java\tomcat-deps\src\java\org\apache\tomcat\dbcp with directory 
\usr\share\java\tomcat-deps\src\java\org\apache\commons

Do I need modify this main build script?

When I click UML sequence diagram of request process, I get errors in PDF file 
too.

Can anyone tell me what's wrong?

Thank you

James

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Tomcat build question

2005-05-26 Thread Ian F. Darwin

[EMAIL PROTECTED] wrote:


I am new to this list. I download the main build.xml script from 
http://jakarta.apache.org/tomcat/tomcat-5.5-doc/building.html and try to use 
ant to buld it. I got an error:

build.xml:717: Cannot replace directory 
\usr\share\java\tomcat-deps\src\java\org\apache\tomcat\dbcp with directory 
\usr\share\java\tomcat-deps\src\java\org\apache\commons

Do I need modify this main build script?
 


If you are using ant version 1.64, choose an earlier or later version.

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Tomcat build question

2005-05-26 Thread Bill Barker
This is a known bug with Ant 1.6.4.  See:
http://issues.apache.org/bugzilla/show_bug.cgi?id=31031
  and
http://issues.apache.org/bugzilla/show_bug.cgi?id=35061

The solution is to use a different version of Ant.

- Original Message -
From: [EMAIL PROTECTED]
To: tomcat-dev@jakarta.apache.org
Sent: Thursday, May 26, 2005 1:06 PM
Subject: Tomcat build question


 I am new to this list. I download the main build.xml script from
http://jakarta.apache.org/tomcat/tomcat-5.5-doc/building.html and try to use
ant to buld it. I got an error:

 build.xml:717: Cannot replace directory
\usr\share\java\tomcat-deps\src\java\org\apache\tomcat\dbcp with directory
\usr\share\java\tomcat-deps\src\java\org\apache\commons

 Do I need modify this main build script?

 When I click UML sequence diagram of request process, I get errors in PDF
file too.

 Can anyone tell me what's wrong?

 Thank you

 James

 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]





This message is intended only for the use of the person(s) listed above as the 
intended recipient(s), and may contain information that is PRIVILEGED and 
CONFIDENTIAL.  If you are not an intended recipient, you may not read, copy, or 
distribute this message or any attachment. If you received this communication 
in error, please notify us immediately by e-mail and then delete all copies of 
this message and any attachments.

In addition you should be aware that ordinary (unencrypted) e-mail sent through 
the Internet is not secure. Do not send confidential or sensitive information, 
such as social security numbers, account numbers, personal identification 
numbers and passwords, to us via ordinary (unencrypted) e-mail.


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Filter question

2005-05-18 Thread Jochen Wiedmann

Hi,

suggest, that I am creating a filter, which replaces the input stream.
This works fine, if the input stream is used by the application itself.
However, there are cases, when the Request class itself is accessing the
input stream: If the method is POST and the content type is
application/x-www-form-urlencoded and a method like getParameterNames()
is invoked.

In that case, the Request class is simply accessing the original input
stream, circumventing the request wapper, that my filter has created.

1.) Is that intentional or is that a bug?
2.) If the former: Is there a way, I can ensure that my input stream
is used?
3.) If the latter: Is there any chance to fix the bug? In other words:
Does the Request class have access to the wrapper created by my
filter? I'd be able to create and submit a patch in that case.

Regards,

Jochen



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Question about ByteChunk.substract implementation

2005-05-12 Thread Arvind Srinivasan
Why does the implementation of the substract() methods of
org.apache.tomcat.util.buf.ByteChunk.java
(http://cvs.apache.org/viewcvs.cgi/jakarta-tomcat-connectors/util/java/org/apache/tomcat/util/buf/ByteChunk.java?rev=1.24view=markup)
assume that in.realReadBytes will manipulate the start and end pointers
of ByteChunk?
org.apache.coyote.http11.InternalInputBuffer.doRead [which gets invoked
along the realReadBytes codepath] calls ByteChunk.setBytes (which
initializes start, end etc) so the scenario below doesn't occur with the
coyote connector. Just wondering if this is a contract that other
buffering connector implementations must adhere to.
In the code below, when buff needs to be refilled (e.g. start = end =
buff.length = 8192), and if realReadBytes doesn't reset start to 0, then
buff[start++] results in an IndexOutOfBoundsException. The other
substract() variants have a similar issue.
   public int substract()
throws IOException {
if ((end - start) == 0) {
if (in == null)
return -1;
int n = in.realReadBytes( buff, 0, buff.length );
if (n  0)
return -1;
}
return (buff[start++]  0xFF);
}
I expected to see start, off and end rest in the substract() method itself.
   public int substract()
throws IOException {
if ((end - start) == 0) {
if (in == null)
return -1;
int n = in.realReadBytes( buff, 0, buff.length );
start = off = 0;
   end = n;
}
return (buff[start++]  0xFF);
}

Thanks,
 Arvind
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: Building Question

2005-04-12 Thread Bruce Keats
Hi Bill,

I think we emailed back and forth awhile ago about CRLs in tomcat 5.5
using JDK 1.5.

I am also interested in getting CRLs working for tomcat 5.5.  I have
been looking into the code, but I just have not had time to finish it
off and integrate it into tomcat.

If you need someone to code inspect or to test it out then let me know.

Bruce

On Apr 9, 2005 8:54 PM, Bill Barker [EMAIL PROTECTED] wrote:
 I'm thinking of starting on implementing CLRs for Tomcat 5.5.  However, it's
 a PITA for  1.5.  I wanted to check that the binary builds for TC 5.5 are
 being built with JDK 1.5, or, I'm probably wasting my time (not many people
 use the source distro :).
 
 This message is intended only for the use of the person(s) listed above as 
 the intended recipient(s), and may contain information that is PRIVILEGED and 
 CONFIDENTIAL.  If you are not an intended recipient, you may not read, copy, 
 or distribute this message or any attachment. If you received this 
 communication in error, please notify us immediately by e-mail and then 
 delete all copies of this message and any attachments.
 
 In addition you should be aware that ordinary (unencrypted) e-mail sent 
 through the Internet is not secure. Do not send confidential or sensitive 
 information, such as social security numbers, account numbers, personal 
 identification numbers and passwords, to us via ordinary (unencrypted) e-mail.
 
 
 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]
 


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Building Question

2005-04-12 Thread Bill Barker

- Original Message -
From: Bruce Keats [EMAIL PROTECTED]
To: Tomcat Developers List tomcat-dev@jakarta.apache.org
Sent: Tuesday, April 12, 2005 5:20 AM
Subject: Re: Building Question


 Hi Bill,

 I think we emailed back and forth awhile ago about CRLs in tomcat 5.5
 using JDK 1.5.

 I am also interested in getting CRLs working for tomcat 5.5.  I have
 been looking into the code, but I just have not had time to finish it
 off and integrate it into tomcat.

 If you need someone to code inspect or to test it out then let me know.


I've checked in a basic file-based CRL support as JSSE15SocketFactory.java.
The Connector attribute is 'crlFile' to specify the location of your CRLs.
More eyes and/or testers are always appreciated :).

Needless to say, it requires JDK 1.5 to compile (so it even has the first,
gratuitous, use of Generics in Tomcat code :).  The consensus is to continue
to build the binary distro with JDK 1.4, so this will still be true even
after 5.5.10 is released.

 Bruce

 On Apr 9, 2005 8:54 PM, Bill Barker [EMAIL PROTECTED] wrote:
  I'm thinking of starting on implementing CLRs for Tomcat 5.5.  However,
it's
  a PITA for  1.5.  I wanted to check that the binary builds for TC 5.5
are
  being built with JDK 1.5, or, I'm probably wasting my time (not many
people
  use the source distro :).
 
  This message is intended only for the use of the person(s) listed above
as the intended recipient(s), and may contain information that is PRIVILEGED
and CONFIDENTIAL.  If you are not an intended recipient, you may not read,
copy, or distribute this message or any attachment. If you received this
communication in error, please notify us immediately by e-mail and then
delete all copies of this message and any attachments.
 
  In addition you should be aware that ordinary (unencrypted) e-mail sent
through the Internet is not secure. Do not send confidential or sensitive
information, such as social security numbers, account numbers, personal
identification numbers and passwords, to us via ordinary (unencrypted)
e-mail.
 
 
  -
  To unsubscribe, e-mail: [EMAIL PROTECTED]
  For additional commands, e-mail: [EMAIL PROTECTED]
 
 

 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]





This message is intended only for the use of the person(s) listed above as the 
intended recipient(s), and may contain information that is PRIVILEGED and 
CONFIDENTIAL.  If you are not an intended recipient, you may not read, copy, or 
distribute this message or any attachment. If you received this communication 
in error, please notify us immediately by e-mail and then delete all copies of 
this message and any attachments.

In addition you should be aware that ordinary (unencrypted) e-mail sent through 
the Internet is not secure. Do not send confidential or sensitive information, 
such as social security numbers, account numbers, personal identification 
numbers and passwords, to us via ordinary (unencrypted) e-mail.


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Re: Building Question

2005-04-11 Thread Henri Gomez
OK

On Apr 10, 2005 6:05 PM, Bill Barker [EMAIL PROTECTED] wrote:
 
 - Original Message -
 From: Henri Gomez [EMAIL PROTECTED]
 To: Tomcat Developers List tomcat-dev@jakarta.apache.org
 Sent: Saturday, April 09, 2005 11:45 PM
 Subject: Re: Building Question
 
  CLR ?
 
 
 Typo.  It should be CRLs.  As in java.security.cert.CRL.
 
 
  On Apr 10, 2005 3:33 AM, Yoav Shapira [EMAIL PROTECTED] wrote:
  Hi,
 
   I'm thinking of starting on implementing CLRs for Tomcat 5.5.  However,
   it's
   a PITA for  1.5.  I wanted to check that the binary builds for TC 5.5
   are
   being built with JDK 1.5, or, I'm probably wasting my time (not many
   people
   use the source distro :).
 
  I've been building with 1.4, using the build as a final check that we
  have
  no 1.5-only code.
 
  Yoav Shapira
  System Design and Management Fellow
  MIT Sloan School of Management / School of Engineering
  Cambridge, MA USA
  [EMAIL PROTECTED] / [EMAIL PROTECTED]
 
  -
  To unsubscribe, e-mail: [EMAIL PROTECTED]
  For additional commands, e-mail: [EMAIL PROTECTED]
 
 
 
  -
  To unsubscribe, e-mail: [EMAIL PROTECTED]
  For additional commands, e-mail: [EMAIL PROTECTED]
 
 
 
 
 This message is intended only for the use of the person(s) listed above as 
 the intended recipient(s), and may contain information that is PRIVILEGED and 
 CONFIDENTIAL.  If you are not an intended recipient, you may not read, copy, 
 or distribute this message or any attachment. If you received this 
 communication in error, please notify us immediately by e-mail and then 
 delete all copies of this message and any attachments.
 
 In addition you should be aware that ordinary (unencrypted) e-mail sent 
 through the Internet is not secure. Do not send confidential or sensitive 
 information, such as social security numbers, account numbers, personal 
 identification numbers and passwords, to us via ordinary (unencrypted) e-mail.
 
 
 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]
 


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Building Question

2005-04-10 Thread Henri Gomez
CLR ?


On Apr 10, 2005 3:33 AM, Yoav Shapira [EMAIL PROTECTED] wrote:
 Hi,
 
  I'm thinking of starting on implementing CLRs for Tomcat 5.5.  However,
  it's
  a PITA for  1.5.  I wanted to check that the binary builds for TC 5.5 are
  being built with JDK 1.5, or, I'm probably wasting my time (not many
  people
  use the source distro :).
 
 I've been building with 1.4, using the build as a final check that we have
 no 1.5-only code.
 
 Yoav Shapira
 System Design and Management Fellow
 MIT Sloan School of Management / School of Engineering
 Cambridge, MA USA
 [EMAIL PROTECTED] / [EMAIL PROTECTED]
 
 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]
 


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Building Question

2005-04-10 Thread Remy Maucherat
Henri Gomez wrote:
CLR ?
Bill's doing .not stuff now. He must be using some hidden JDK features, 
as I didn't read about any .not compatibility features in JDK 1.5. Neat 
stuff.

:D
More seriously, Tomcat is built with JDK 1.4, for best compatibility. I 
don't know what the consequences of moving to JDK 1.5 would be.

Rémy
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: Building Question

2005-04-10 Thread Bill Barker
- Original Message - 
From: Henri Gomez [EMAIL PROTECTED]
To: Tomcat Developers List tomcat-dev@jakarta.apache.org
Sent: Saturday, April 09, 2005 11:45 PM
Subject: Re: Building Question


CLR ?
Typo.  It should be CRLs.  As in java.security.cert.CRL.
On Apr 10, 2005 3:33 AM, Yoav Shapira [EMAIL PROTECTED] wrote:
Hi,
 I'm thinking of starting on implementing CLRs for Tomcat 5.5.  However,
 it's
 a PITA for  1.5.  I wanted to check that the binary builds for TC 5.5 
 are
 being built with JDK 1.5, or, I'm probably wasting my time (not many
 people
 use the source distro :).

I've been building with 1.4, using the build as a final check that we 
have
no 1.5-only code.

Yoav Shapira
System Design and Management Fellow
MIT Sloan School of Management / School of Engineering
Cambridge, MA USA
[EMAIL PROTECTED] / [EMAIL PROTECTED]
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


This message is intended only for the use of the person(s) listed above as 
the intended recipient(s), and may contain information that is PRIVILEGED and 
CONFIDENTIAL.  If you are not an intended recipient, you may not read, copy, or 
distribute this message or any attachment. If you received this communication 
in error, please notify us immediately by e-mail and then delete all copies of 
this message and any attachments.
In addition you should be aware that ordinary (unencrypted) e-mail sent through 
the Internet is not secure. Do not send confidential or sensitive information, 
such as social security numbers, account numbers, personal identification 
numbers and passwords, to us via ordinary (unencrypted) e-mail.

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Building Question

2005-04-09 Thread Bill Barker
I'm thinking of starting on implementing CLRs for Tomcat 5.5.  However, it's 
a PITA for  1.5.  I wanted to check that the binary builds for TC 5.5 are 
being built with JDK 1.5, or, I'm probably wasting my time (not many people 
use the source distro :). 


This message is intended only for the use of the person(s) listed above as the 
intended recipient(s), and may contain information that is PRIVILEGED and 
CONFIDENTIAL.  If you are not an intended recipient, you may not read, copy, or 
distribute this message or any attachment. If you received this communication 
in error, please notify us immediately by e-mail and then delete all copies of 
this message and any attachments.
In addition you should be aware that ordinary (unencrypted) e-mail sent through 
the Internet is not secure. Do not send confidential or sensitive information, 
such as social security numbers, account numbers, personal identification 
numbers and passwords, to us via ordinary (unencrypted) e-mail.

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

RE: Building Question

2005-04-09 Thread Yoav Shapira
Hi,

 I'm thinking of starting on implementing CLRs for Tomcat 5.5.  However,
 it's
 a PITA for  1.5.  I wanted to check that the binary builds for TC 5.5 are
 being built with JDK 1.5, or, I'm probably wasting my time (not many
 people
 use the source distro :).

I've been building with 1.4, using the build as a final check that we have
no 1.5-only code.

Yoav Shapira
System Design and Management Fellow
MIT Sloan School of Management / School of Engineering
Cambridge, MA USA
[EMAIL PROTECTED] / [EMAIL PROTECTED]


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Question: Strange Session Remove Attribute

2005-04-05 Thread Peter Rossbach
Hmm,
but I can't find a statement that the valueUnbound get an invalid 
session, when it called after sessionDestoryed.

HttpSessionBindingListener ===
  /**
*
* Notifies the object that it is being unbound
* from a session and identifies the session.
*
* @param eventthe event that identifies
*the session
*   
* @see #valueBound
*
*/

   public void valueUnbound(HttpSessionBindingEvent event);
  


I thing the part identifies the session is in conflict with the 
current tomcat implementation.

Today the user get a IllegalStateException at event.getSession().getId() 
instead the session identifier.
The current servlet spec is not clear at this session event definition. :(

What is correct?
-   current handling
-   emit remove session event and after this the session is invalid
-   remove emit event after invalidation
What we can do?
-   document the situation
   Add lifecycle diagrams ( state flow)
-propose a change to the spec team
Don't emit remove session attribute events, when session 
destoryed, like ServletContext and ServletRequest handling ( my favorit)
Only direct removeAttribute calls, emit remove event.

Peter
Remy Maucherat schrieb:
Peter Rossbach wrote:
Hups,
the remove session attribute events after session destory is 
documented at the servlet spec?
Any hint welcome

Yes, read the javadoc for HttpSessionBindingListener.
Rémy
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: Question: Strange Session Remove Attribute

2005-04-05 Thread Remy Maucherat
Peter Rossbach wrote:
Hmm,
but I can't find a statement that the valueUnbound get an invalid 
session, when it called after sessionDestoryed.

HttpSessionBindingListener ===
  /**
*
* Notifies the object that it is being unbound
* from a session and identifies the session.
*
* @param eventthe event that identifies
*the session
*   * @see #valueBound
*
*/
   public void valueUnbound(HttpSessionBindingEvent event);
  
I thing the part identifies the session is in conflict with the 
current tomcat implementation.
Interface HttpSessionBindingListener:
Causes an object to be notified when it is bound to or unbound from a 
session. The object is notified by an HttpSessionBindingEvent object. 
This may be as a result of a servlet programmer explicitly unbinding an 
attribute from a session, due to a session being invalidated, or due to 
a session timing out.

Today the user get a IllegalStateException at event.getSession().getId() 
instead the session identifier.
The current servlet spec is not clear at this session event definition. :(

What is correct?
-   current handling
-   emit remove session event and after this the session is invalid
-   remove emit event after invalidation
What we can do?
-   document the situation
   Add lifecycle diagrams ( state flow)
-propose a change to the spec team
Don't emit remove session attribute events, when session 
destoryed, like ServletContext and ServletRequest handling ( my favorit)
Only direct removeAttribute calls, emit remove event.
I give up ;)
Yes, the current behavior is certain to be the correct one.
Rémy
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: Question: Strange Session Remove Attribute

2005-04-04 Thread Peter Rossbach
Hmm,
I see the following problem with the current session expire strategie.
Today
   a) Notify session destroy event
 = All session attributes are active
   b) Set session as invalid
   c) Notify session remove attribute event - Hups
= Now the listener detect IllegalStateExceptions
The session attribute listener in normal mode can access the session and 
this is very usefull
to monitoring the app behaviour. At expire session the listener have no 
chance to detect the
invalidation mode.

Now I see to chance to make better support for this case:
1)  add HttpSession.isValid() method
   = Very fine then also other code filter, and jsp can detect the 
Session invalidation.
2)  Add event methods to HttpSessionListener
   public void sessionDestroyed ( HttpSessionEvent se );
   public void sessionAfterDestroyed ( HttpSessionEvent se );
= Second method emit after all attribute remove from session and now 
session is invalid ;-(

I vote for the first case, but this means wait for Servlet API 2.5.

Another problem I detect is at StandardContext listener event notification
   At listenerStop (L 3721)
  we remove the ApplicationEvent Listeners

  setApplicationEventListeners(null);
  setApplicationLifecycleListeners(null);

but we need the Listener at
  StandardContext#clearAttributes = 
ApplicationContext#removeAttribute L695

= Currently we don't emit removeAttribute Events when Context. stop.
Simple fix integrate clearAttributes at listenerStop before remove 
listeners.
OK?

=
Other thing is: that we don't emit remove request attribute events after 
ServletRequestListener was notify with requestDestory.
I can find this handling at org.apache.catalina.connector.Request.recycle
At L 391 we clear the attributes, but don't notify the request 
attribute listener.
Is this behaviour spec conform?
What is with request attributes that exist before or after request 
wrapper is active ( s. StandardContextValve#invoke)?
Must we have extra map for real application request attributes and 
another one for container side request attributes ?
  Sounds really strange :-)

Regards
Peter
Remy Maucherat schrieb:
Bill Barker wrote:
Hey
I have review the getIdInteral changes. At expire (StandardSession, 
DeltaSession) we send first the SessionDestory events and after 
this the Remove Session Attribute events. Before we send the 
remove attribute events the session set to invalid. Hmm: Why we do 
that? I have read the spec 2.4 but I can find a hint. With this 
handling nobody can access the getId without IllegalStateException 
in a HttpSessionBindingListener or HttpSessionAttributeListener! 
That I can't find this very nice?

What can I say, we needed to generate more BZ reports to mark as 
INVALID ;-).

The tester actually has example code of using getId in a 
HttpSessionAttributeListener to get an ISE.

Can anyone explain this session event handling?

There was just a long discussion of this.  For the details, check the 
list archives.  The short version is that it's mandated by section 
15.1.7 + Errata 
(http://jcp.org/aboutJava/communityprocess/maintenance/jsr154/154errata.txt). 

(maybe I shouldn't have mentioned it, as Jan didn't appear to have 
noticed it before: I may have started the trouble ...)

Rémy
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: Question: Strange Session Remove Attribute

2005-04-04 Thread Remy Maucherat
Peter Rossbach wrote:
Hmm,
I see the following problem with the current session expire strategie.
Today
   a) Notify session destroy event
 = All session attributes are active
   b) Set session as invalid
   c) Notify session remove attribute event - Hups
= Now the listener detect IllegalStateExceptions
The session attribute listener in normal mode can access the session and 
this is very usefull
to monitoring the app behaviour. At expire session the listener have no 
chance to detect the
invalidation mode.

Now I see to chance to make better support for this case:
1)  add HttpSession.isValid() method
   = Very fine then also other code filter, and jsp can detect the 
Session invalidation.
2)  Add event methods to HttpSessionListener
   public void sessionDestroyed ( HttpSessionEvent se );
   public void sessionAfterDestroyed ( HttpSessionEvent se );
= Second method emit after all attribute remove from session and now 
session is invalid ;-(

I vote for the first case, but this means wait for Servlet API 2.5.

Another problem I detect is at StandardContext listener event notification
   At listenerStop (L 3721)
  we remove the ApplicationEvent Listeners

  setApplicationEventListeners(null);
  setApplicationLifecycleListeners(null);
 
but we need the Listener at
  StandardContext#clearAttributes = 
ApplicationContext#removeAttribute L695

= Currently we don't emit removeAttribute Events when Context. stop.
Simple fix integrate clearAttributes at listenerStop before remove 
listeners.
OK?
No, it's not ok, it's wrong ;)
This came up recently, and caused problems.
=
Other thing is: that we don't emit remove request attribute events after 
ServletRequestListener was notify with requestDestory.
I can find this handling at org.apache.catalina.connector.Request.recycle
At L 391 we clear the attributes, but don't notify the request 
attribute listener.
Is this behaviour spec conform?
What is with request attributes that exist before or after request 
wrapper is active ( s. StandardContextValve#invoke)?
Must we have extra map for real application request attributes and 
another one for container side request attributes ?
  Sounds really strange :-)
This is also outside the application scope.
Rémy
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: Question: Strange Session Remove Attribute

2005-04-04 Thread Peter Rossbach
Hey Remy,
can you please explain why the remove attribute event notification is 
wrong when
context is destroy?

Thanks
Peter
Remy Maucherat schrieb:
Peter Rossbach wrote:
Hmm,
I see the following problem with the current session expire strategie.
Today
   a) Notify session destroy event
 = All session attributes are active
   b) Set session as invalid
   c) Notify session remove attribute event - Hups
= Now the listener detect IllegalStateExceptions
The session attribute listener in normal mode can access the session 
and this is very usefull
to monitoring the app behaviour. At expire session the listener have 
no chance to detect the
invalidation mode.

Now I see to chance to make better support for this case:
1)  add HttpSession.isValid() method
   = Very fine then also other code filter, and jsp can detect the 
Session invalidation.
2)  Add event methods to HttpSessionListener
   public void sessionDestroyed ( HttpSessionEvent se );
   public void sessionAfterDestroyed ( HttpSessionEvent se );
= Second method emit after all attribute remove from session and now 
session is invalid ;-(

I vote for the first case, but this means wait for Servlet API 2.5.

Another problem I detect is at StandardContext listener event 
notification
   At listenerStop (L 3721)
  we remove the ApplicationEvent Listeners

  setApplicationEventListeners(null);
  setApplicationLifecycleListeners(null);
 

but we need the Listener at
  StandardContext#clearAttributes = 
ApplicationContext#removeAttribute L695

= Currently we don't emit removeAttribute Events when Context. stop.
Simple fix integrate clearAttributes at listenerStop before remove 
listeners.
OK?

No, it's not ok, it's wrong ;)
This came up recently, and caused problems.
=
Other thing is: that we don't emit remove request attribute events 
after ServletRequestListener was notify with requestDestory.
I can find this handling at 
org.apache.catalina.connector.Request.recycle
At L 391 we clear the attributes, but don't notify the request 
attribute listener.
Is this behaviour spec conform?
What is with request attributes that exist before or after request 
wrapper is active ( s. StandardContextValve#invoke)?
Must we have extra map for real application request attributes and 
another one for container side request attributes ?
  Sounds really strange :-)

This is also outside the application scope.
Rémy
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: Question: Strange Session Remove Attribute

2005-04-04 Thread Remy Maucherat
Peter Rossbach wrote:
Hey Remy,
can you please explain why the remove attribute event notification is 
wrong when
context is destroy?
Because you're not actually removing them, you're just cleaning up objects.
Did you notice you don't get notifications on start, etc ?
Rémy
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: Question: Strange Session Remove Attribute

2005-04-04 Thread Peter Rossbach
Good answer!
But why we emit remove session attribute events when sesssion is destroy?
I think the session expire is also a clean up thing and nobody need the 
remove attribute events.

Peter
Remy Maucherat schrieb:
Peter Rossbach wrote:
Hey Remy,
can you please explain why the remove attribute event notification is 
wrong when
context is destroy?

Because you're not actually removing them, you're just cleaning up 
objects.
Did you notice you don't get notifications on start, etc ?

Rémy
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: Question: Strange Session Remove Attribute

2005-04-04 Thread Remy Maucherat
Peter Rossbach wrote:
Good answer!
But why we emit remove session attribute events when sesssion is destroy?
I think the session expire is also a clean up thing and nobody need the 
remove attribute events.
Because the stupid wording which explicitely mandates the nonsense for 
sessions isn't present for context attributes ;)
Rémy

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: Question: Strange Session Remove Attribute

2005-04-04 Thread Peter Rossbach
Hups,
the remove session attribute events after session destory is documented 
at the servlet spec?
Any hint welcome

Peter
Remy Maucherat schrieb:
Peter Rossbach wrote:
Good answer!
But why we emit remove session attribute events when sesssion is 
destroy?
I think the session expire is also a clean up thing and nobody need 
the remove attribute events.

Because the stupid wording which explicitely mandates the nonsense for 
sessions isn't present for context attributes ;)
Rémy

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: Question: Strange Session Remove Attribute

2005-04-04 Thread Remy Maucherat
Peter Rossbach wrote:
Hups,
the remove session attribute events after session destory is documented 
at the servlet spec?
Any hint welcome
Yes, read the javadoc for HttpSessionBindingListener.
Rémy
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: Question: Strange Session Remove Attribute

2005-04-03 Thread Bill Barker
- Original Message - 
From: Peter Rossbach [EMAIL PROTECTED]
To: Tomcat Developers List tomcat-dev@jakarta.apache.org
Sent: Sunday, April 03, 2005 5:04 AM
Subject: Question: Strange Session Remove Attribute


Hey
I have review the getIdInteral changes. At expire (StandardSession, 
DeltaSession) we send first the SessionDestory events and after this the 
Remove Session Attribute events. Before we send the remove attribute 
events the session set to invalid. Hmm: Why we do that? I have read the 
spec 2.4 but I can find a hint. With this handling nobody can access the 
getId without IllegalStateException in a HttpSessionBindingListener or 
HttpSessionAttributeListener! That I can't find this very nice?

What can I say, we needed to generate more BZ reports to mark as INVALID 
;-).

Can anyone explain this session event handling?
There was just a long discussion of this.  For the details, check the list 
archives.  The short version is that it's mandated by section 15.1.7 + 
Errata 
(http://jcp.org/aboutJava/communityprocess/maintenance/jsr154/154errata.txt).

regards
Peter

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


This message is intended only for the use of the person(s) listed above as 
the intended recipient(s), and may contain information that is PRIVILEGED and 
CONFIDENTIAL.  If you are not an intended recipient, you may not read, copy, or 
distribute this message or any attachment. If you received this communication 
in error, please notify us immediately by e-mail and then delete all copies of 
this message and any attachments.
In addition you should be aware that ordinary (unencrypted) e-mail sent through 
the Internet is not secure. Do not send confidential or sensitive information, 
such as social security numbers, account numbers, personal identification 
numbers and passwords, to us via ordinary (unencrypted) e-mail.

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Re: Question: Strange Session Remove Attribute

2005-04-03 Thread Remy Maucherat
Bill Barker wrote:
Hey
I have review the getIdInteral changes. At expire (StandardSession, 
DeltaSession) we send first the SessionDestory events and after this 
the Remove Session Attribute events. Before we send the remove 
attribute events the session set to invalid. Hmm: Why we do that? I 
have read the spec 2.4 but I can find a hint. With this handling 
nobody can access the getId without IllegalStateException in a 
HttpSessionBindingListener or HttpSessionAttributeListener! That I 
can't find this very nice?
What can I say, we needed to generate more BZ reports to mark as INVALID 
;-).
The tester actually has example code of using getId in a 
HttpSessionAttributeListener to get an ISE.

Can anyone explain this session event handling?
There was just a long discussion of this.  For the details, check the 
list archives.  The short version is that it's mandated by section 
15.1.7 + Errata 
(http://jcp.org/aboutJava/communityprocess/maintenance/jsr154/154errata.txt). 
(maybe I shouldn't have mentioned it, as Jan didn't appear to have 
noticed it before: I may have started the trouble ...)

Rémy
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


mod_jk error handling question

2004-12-17 Thread Paulsen, Jay M
I apologize for the cross post, but I didn't receive any responses from
the user list so I thought I'd try here.


Environment:
Apache 2.0.52
mod_jk 1.2.7-beta-2
Tomcat 5.5.4

I've set up Tomcat with and AJP1.3 Connector to handle requests for web
apps from Apache.  I'd like to be able to set up an ErrorDocument
directive for apache to forward the user to a custom error page when
tomcat is unavailable.  This page would inform the user that maintenance
is being performed on the web app and so on.

When I test this, the http status code that gets returned by mod_jk is
500 (internal server error).  This seems too generic to me as it
encompasses all kinds of other errors that mod_jk could experience.  I
was thinking that mod_jk should return 503 (service unavailable) instead
when tomcat cannot be contacted.

I modified apache-2.0/mod_jk.c (line 1858) to return
HTTP_SERVICE_UNAVAILABLE instead of HTTP_INTERNAL_SERVICE_ERROR.  With
this change mod_jk now returns 503 when tomcat cannot be contacted, but
I have no idea if this is the right place to make this change.  

Is there a better way to handle this or is this an acceptable change?
I'd like to fix it with an Apache source code change as a last resort if
possible.

Any insight is appreciated.


Regards,
Jay 

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: mod_jk error handling question

2004-12-17 Thread Mladen Turk
Paulsen, Jay M wrote:
I apologize for the cross post, but I didn't receive any responses from
the user list so I thought I'd try here.
Don't apologize :).
I saw you post, but just didn't catch the time to answer.
Is there a better way to handle this or is this an acceptable change?
I'd like to fix it with an Apache source code change as a last resort if
possible.
Not right now.
I agree that server_busy would better explain the status of the JK
in that case. The problem is that it can be either server_error or
server_busy.
Discovering something like that is planned for the next release
of mod_jk (1.2.10).
Regards,
Mladen.
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: Question about new mod_jk jk_lb_worker.c

2004-11-16 Thread Rainer Jung
I would be pleased to use rotatelogs, but it doesn't work with 
mod_jk.log (at least not last time I checked).

David Rees wrote:
Rainer Jung wrote, On 11/14/2004 7:31 AM:
0) Any ideas on rotating the mod_jk log file?

Use cronolog http://cronolog.org/ or the rotatelogs program included 
with Apache.

-Dave
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: Question about new mod_jk jk_lb_worker.c

2004-11-16 Thread Rainer Jung
Unfortunately I don't understand. Trying to combine rotatelogs with 
mod_jk.log in the following way (apache 1.3):

JkLogFile |/home/jung/mkb/apache/bin/rotatelogs 
/home/jung/mkb/apache/logs/mod_jk.log 600

doesn't work. It does neither log, nor spawn a rotatelogs process.
Inside apaches CustomLog rotatelogs works, but there is no obvious way 
to combine CustomLog with JkLogFile.

Mladen Turk wrote:
David Rees wrote:
Rainer Jung wrote, On 11/14/2004 7:31 AM:
0) Any ideas on rotating the mod_jk log file?

Use cronolog http://cronolog.org/ or the rotatelogs program included 
with Apache.

For that (or any kind of rotatelogs) we would need to spawn the
separate process that'll do the logging.
The only reasonable solution is to use the 'native' logging and
then use rotatelogs program.
MT.
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: Question about new mod_jk jk_lb_worker.c

2004-11-16 Thread Mladen Turk
Rainer Jung wrote:
Unfortunately I don't understand. Trying to combine rotatelogs with 
mod_jk.log in the following way (apache 1.3):

JkLogFile |/home/jung/mkb/apache/bin/rotatelogs 
/home/jung/mkb/apache/logs/mod_jk.log 600

doesn't work. It does neither log, nor spawn a rotatelogs process.
Of course it doesn't.
As said: The only reasonable solution is to use the 'native'
logging and then use rotatelogs program..
It means that it'll need to be done to support the native logger like
JK2 does. Seems like 1.2.8 feature to me, cause it's a lot backporting.
That way the request logging will go to access.log and error logging
to error.log, and youl'll be able to use rotatelogs on them.
MT.
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: Question about new mod_jk jk_lb_worker.c

2004-11-16 Thread David Rees
Rainer Jung wrote, On 11/16/2004 1:11 AM:
Unfortunately I don't understand. Trying to combine rotatelogs with 
mod_jk.log in the following way (apache 1.3):
Doh.  I've been using Apache 2 for so long I forgot that it doesn't work 
with Apache 1.3.  It does work using Apache 2 / mod_jk.

-Dave
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: Question about new mod_jk jk_lb_worker.c

2004-11-15 Thread Mladen Turk
David Rees wrote:
Rainer Jung wrote, On 11/14/2004 7:31 AM:
0) Any ideas on rotating the mod_jk log file?

Use cronolog http://cronolog.org/ or the rotatelogs program included 
with Apache.

For that (or any kind of rotatelogs) we would need to spawn the
separate process that'll do the logging.
The only reasonable solution is to use the 'native' logging and
then use rotatelogs program.
MT.
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: Question about new mod_jk jk_lb_worker.c

2004-11-14 Thread Rainer Jung
Hi Mladen,

0) Any ideas on rotating the mod_jk log file?

 4) Open Problem

 This should work now with the latest patches.

Excellent! Actually I tried to understand the new principles. Using an old
style paper computer I can see that the values for lb_value are periodic.
But I must confirm, that I did not mathematically understand the
algorithm, maybe due to being a little ill. Are the mathematically
foundations behind that simple algorithm described anywhere?

 1) Limiting new application sessions if load is to high.


 There is a problem with that. I made a implementation counting the
 number of busy childs/threads from scoreboard (took me entire day),
 but again we should count the number of connections to tomcat, cause
 the apache might be serving static content.
 Anyhow the idea is great and I'll implement it in the new mod_proxy
 for Apache 2.2 where we have extra slots in the scoreboard.
 Sad but we can not do that inside mod_jk unless we implement our
 own shared memory, that was prover to be bogus in jk2.

Apache serving static content is not a problem according to our
experience. Static content usually serves in very well under a second
(depending mostly on internet speed). The idea here is to detect a problem
with the application getting slow, e.g. because of backend systems not
responding fast enough. In this situation we want to limit creation of new
sessions. Counting the static requests doesn't really matter for us.

Example: During normal operation there are 5 static requests in work and
10 dynamic ones (that take much longer to complete). When there is a
problem with backend systems we will have 15 static ones, but more than
100 dynamic ones. So either counting or ommiting the static ones seems to
make no big difference.

You might want to take a look at the attached patch patch_overload.txt
for jk/native/apache1.3/mod_jk.c version 1.52. I don't have a patch for
Apache 2. The Patch places every change inside #ifdef OVERLOAD. Also
there are some DEBUG-Log-Statements put inside #ifdef DEBUG which I
assume can now be done more consistently with your TRACE features.

Of course the best observable value would be the number of requests
belonging to the same webapp. So some possible enhancement would be to
count only requests with a fix URL prefix (that's not contained in the
patch).

 2) Multi-Cluster-Routing


 Can you write some use case for that and perhaps some simple algo
 too. What about sticky-sessions and forcing failower if we do not have
 session replication?

Use case:

Enterprise application with redundant internet connections A and B.
A consists of two Apache instances A.a1 und A.a2, B of B.a1 and B.a2.
Behind are 4 Tomcat A.t1, A.t2, B.t1, B.t2.

A.t1 and A.t2 are clustered, B.t1 and B.t2 are clustered. mod_jk uses load
balancing with sticky sessions.

All Apaches can connect to any Tomcat, but A.t1 is local for A.a1, A.t2
for A.a2, B.t1 for B.a1 and B.t2 for B.a2:

A.a1   A.a2   B.a1   B.a2
 ||  X  ||  X  ||  X  ||
A.t1---A.t2   B.t1---B.t2

A.t1 and A.t2 are put into the same domain A in workers.properties,
B.t1 and B.t2 are put into the same domain B in workers.properties.

Now if you shutdown e.g. tomcat B.t1 for service/update (or if it breaks)
All apaches will know from the domain configuration, that sticky requests
for B.t1 have to go to B.t2. This is important, since only on that tomcat
the replicated sessions from B.t1 will exist.

Without domains you have to put all the Tomcats in one cluster. But then
all sessions are replicated to all tomcats. We have a production side
using 3x3=9 tomcats and a cluster with 9 nodes would mean too much
overhead.

The implementation uses and additional worker attribute domain, and if a
session has a jvmRoute, is sticky and the correct worker is in error state
another worker with the same domain attribute is chosen.

I have an implementation, but I have to adapt to your code changes. The
patch will only concern common/jk_util.c for configuration and
common/jk_lb_worker.c. I could provide the code, if you are interested.

For applications using sessions but without session replication I don't
see a way how to successfully fail over. Maybe I don't understand that
part of your question?

 3) Idle connection disconnect
 Use worker mpm. We just can not make maintainer thread for
 non-treaded mpm's like apache1.2 or prefork.

I don't use a seperate thread. I implemented this feature for Apache 1.3.
The principles are the following (and I can sent complete code if you are
interested):

a) In common/service.h in jk_worker define an additional JK_METHOD check
to be implemented by the workers:

/*
 * Check all workers on a regular basis,
 * even if they do not process requests.
 */
int (JK_METHOD *check)(jk_worker_t *w,
   int force,
   jk_logger_t *l);

b) In common/jk_worker.c provide an entry point wc_check, that will call
the check method for all workers in the worker_map

Re: Question about new mod_jk jk_lb_worker.c

2004-11-14 Thread Rainer Jung
Forgot to attach the patch for the overload feature. It is attached now.*** mod_jk.c.1.52   Sun Nov 14 15:00:20 2004
--- mod_jk.c.1.52.overload  Sun Nov 14 15:18:59 2004
***
*** 38,43 
--- 38,46 
  #include util_script.h
  #include util_date.h
  #include http_conf_globals.h
+ #ifdef OVERLOAD
+ #include scoreboard.h
+ #endif /* OVERLOAD */
  
  /*
   * Jakarta (jk_) include files
***
*** 63,68 
--- 66,75 
  #define JK_DURATION (jakarta.worker.duration)
  #define JK_MAGIC_TYPE   (application/x-jakarta-servlet)
  #define NULL_FOR_EMPTY(x)   ((x  !strlen(x)) ? NULL : x)
+ #ifdef OVERLOAD
+ #define EMPTY_FOR_NULL(x)   ((x) ? x : ) 
+ #define NEITHER_NULL_NOR_EMPTY(x)   (x  x[0] != '\0')
+ #endif /* OVERLOAD */
  
  /*
   * If you are not using SSL, comment out the following line. It will make
***
*** 134,139 
--- 141,170 
  int envvars_in_use;
  table *envvars;
  
+ #ifdef OVERLOAD
+ /*
+  * Configuration object for the mod_overload module. Parameters are
+  *
+  *   overload_uri URI that triggers load check, e.g. starting
+  * URI for a new application session
+  *   overload_uri_regexp  URI RegExp that triggers load check, e.g. 
starting
+  * URI pattern for a new application 
session
+  *   overload_uri_match   String representation of overload_uri_match
+  *   overload_max_busy_slots  maximum number of busy children allowed
+  * when doing load check
+  *   overload_error_page  URI of the error page shown (or redirected 
to),
+  * if there are too many children busy 
during load check
+  *   overload_is_external Flag to indicate, that overload redirect 
should
+  * be done externally insted of an 
internal redirect
+  */
+ char *overload_uri;
+ char *overload_uri_match;
+ regex_t *overload_uri_regexp;
+ int  overload_max_busy_slots;
+ char *overload_error_page;
+ int  overload_is_external;
+ #endif /* OVERLOAD */
+ 
  server_rec *s;
  } jk_server_conf_t;
  
***
*** 1404,1409 
--- 1435,1556 
  return NULL;
  }
  
+ #ifdef OVERLOAD
+ /* 
+  * JkOverloadURI directive Handling
+  *
+  * Take this config parameter only, if the string is not null and not empty 
+  */
+ static const char *set_overload_uri(cmd_parms *cmd, 
+  void *dummy, 
+  char *uri)
+ {
+ jk_server_conf_t *conf =
+ (jk_server_conf_t *)ap_get_module_config(cmd-server-module_config, 
+  jk_module);
+ 
+ if ( NEITHER_NULL_NOR_EMPTY(uri) ) {
+ conf-overload_uri = uri;
+ }
+ 
+ return NULL;
+ }
+ 
+ /* 
+  * JkOverloadURIMatch directive Handling
+  *
+  * Take this config parameter only, if the string is not null and not empty 
+  */
+ static const char *set_overload_uri_match(cmd_parms *cmd, 
+   void *dummy, 
+   char *uri_match)
+ {
+ jk_server_conf_t *conf =
+ (jk_server_conf_t *)ap_get_module_config(cmd-server-module_config, 
+  jk_module);
+ 
+ if ( NEITHER_NULL_NOR_EMPTY(uri_match) ) {
+ conf-overload_uri_regexp = ap_pregcomp(cmd-pool, uri_match, 
REG_EXTENDED);
+ if (conf-overload_uri_regexp == NULL) {
+ ap_log_error(APLOG_MARK, APLOG_NOERRNO|APLOG_DEBUG, cmd-server,
+  Overload configure: 
+  could not compile regexp %s,
+  uri_match);
+ conf-overload_uri_match = NULL;
+ conf-overload_uri_regexp = NULL;
+ } else {
+ conf-overload_uri_match = uri_match;
+ }
+ }
+ 
+ return NULL;
+ }
+ 
+ /*
+  * JkOverloadMaxBusySlots Directive Handling
+  *
+  * Take this config parameter only, if the string is not null and not empty. 
+  * We just take atoi of the string, so the integer value is the initial 
integer 
+  * in the string 
+  */
+ static const char *set_overload_max_busy_slots(cmd_parms *cmd,  
+   void *dummy, 
+   char *max_busy_slots)
+ {
+ jk_server_conf_t *conf =
+ (jk_server_conf_t *)ap_get_module_config(cmd-server-module_config, 
+  jk_module);
+ 
+ if ( NEITHER_NULL_NOR_EMPTY(max_busy_slots) ) {
+ conf-overload_max_busy_slots = atoi(max_busy_slots);
+ }
+ 
+ return NULL;
+ }
+ 
+ /* 
+  * JkOverloadErrorPage Directive Handling
+  *
+  * Take this config parameter only, if the string is not null and not empty.
+  */
+ static 

Re: Question about new mod_jk jk_lb_worker.c

2004-11-14 Thread Mladen Turk
Rainer Jung wrote:
Hi Mladen,
0) Any ideas on rotating the mod_jk log file?
Implementing inside apache's error.log is
the only solution. But that'll have to wait
for 1.2.8.

Are the mathematically
foundations behind that simple algorithm described anywhere?

The idea behind this 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.
If a balancer is configured as follows:
worker abcd
lbfactor  25   25   25   25
lbstatus   0000
And b gets disabled, the following schedule is produced:
lbstatus -500   25   25
lbstatus -250  -25   50
lbstatus   0000
(repeat)
That is it schedules: a c d a c d a c d ...
The following asymmetric configuration works as one would expect:
worker ab
lbfactor  70   30
lbstatus -30   30
lbstatus  40  -40
lbstatus  10  -10
lbstatus -20   20
lbstatus -50   50
lbstatus  20  -20
lbstatus -10   10
lbstatus -40   40
lbstatus  30  -30
lbasatus   00
(repeat)
That is after 10 schedules, the schedule repeats and 7 a are selected
with 3 b interspersed.


1) Limiting new application sessions if load is to high.
Of course the best observable value would be the number of requests
belonging to the same webapp. So some possible enhancement would be to
count only requests with a fix URL prefix (that's not contained in the
patch).
Can you open a bugzilla report and enter those patches so they
don't get lost.
I very much like the idea and I have apache2 code for counting
busy workers:
int server_limit, thread_limit;
/* Get the number of busy workers from scoreboard */
static int jk_server_busy_workers()
{
int i, j, res;
int busy = 0;
worker_score *ws_record;
process_score *ps_record;
if (!ap_exists_scoreboard_image()) {
return 0;
}
for (i = 0; i  server_limit; ++i) {
ps_record = ap_get_scoreboard_process(i);
for (j = 0; j  thread_limit; ++j) {
int indx = (i * thread_limit) + j;
ws_record = ap_get_scoreboard_worker(i, j);
res = ws_record-status;
if (!ps_record-quiescing
 ps_record-pid) {
if (res == SERVER_READY 
res != SERVER_DEAD 
res != SERVER_STARTING 
res != SERVER_IDLE_KILL)
busy++;
}
}
}
return busy;
}
inside jk_post_config
+ap_mpm_query(AP_MPMQ_HARD_LIMIT_THREADS, thread_limit);
+ap_mpm_query(AP_MPMQ_HARD_LIMIT_DAEMONS, server_limit);

3) Idle connection disconnect
Use worker mpm. We just can not make maintainer thread for
non-treaded mpm's like apache1.2 or prefork.

I don't use a seperate thread. I implemented this feature for Apache 1.3.
The principles are the following (and I can sent complete code if you are
interested):
You are running that on unix or windows?

a) In common/service.h in jk_worker define an additional JK_METHOD check
to be implemented by the workers:
Please, do another bugzilla entry for that.
http://issues.apache.org/bugzilla/enter_bug.cgi?product=Tomcat%205
Component: Native:JK
Severity: Enhancement
Thank's for the discussion!!
Thank you!
Regards,
Mladen
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: Question about new mod_jk jk_lb_worker.c

2004-11-14 Thread David Rees
Rainer Jung wrote, On 11/14/2004 7:31 AM:
0) Any ideas on rotating the mod_jk log file?
Use cronolog http://cronolog.org/ or the rotatelogs program included 
with Apache.

-Dave
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: Question about new mod_jk jk_lb_worker.c

2004-11-12 Thread Rainer Jung
Hi Mladen,
I include my original posting.
Hi Mladen,
great! I don't know how hard the following is to achieve, but it is the 
most prominent problem around mod_jk-Logging I know of:

mod_jk does neither support Apaches rotatelogs nor does it have a log 
rotation capability on its own. If you or any other committer has an 
idea how to introduce rotating logfiles, that would be a major achievement.

I have 3 more features I would be willing to provide. Maybe you or the 
other committers can comment, if they think that would be useful. All of 
them are already implemented for mod_jk/apache 1.3 and in production 
under high load.

1) Limiting new application sessions if load is to high.
You can configure a start URL for your application (regexp based). If a 
request X matches this URL, then mod_jk checks the scoreboard how many 
apache requests are being processed simultaneously at that moment. There 
is a configurable limti, and if that limit is reached, the request X 
will not be sent to tomcat, but instead be answered by some configurable 
 local static response (containing the info, that the load is to high 
and the user should try again later). Alternatively one can configure X 
to be answered by some external redirect.

2) Multi-Cluster-Routing
Tomcat-Cluster does only allow session replication to all nodes in the 
cluster. Once you work with more than 3-4 nodes there is too much 
overhead and risk in replicating sessions to all nodes. We split all 
nodes into clustered groups. I introduced a new worker attribute 
domain to let get_most_suitable_worker know, to which other nodes the 
session gets replicated (the workers in the same domain).

This enhancement has another benefit: Once mod_jk connects an apache 
process to a tomcat instance, the tomcat jk connector will need one 
thread for this connection as long as the apache process is alive.

Now assume you have multiple Apaches and Tomcats. The Tomcats are 
clustered and mod_jk uses sticky sessions. Now you are going to shut 
down (maintenance) one tomcat. All Apache will start connections to all 
tomcats. You end up with all tomcats getting connections from all apache 
processes, so the number of threads needed inside the tomcats will explode.

If you group the tomcats the connections normally will stay inside the 
groups (combine 2) with a routing load balancer to the apaches).

3) Idle connection disconnect
This one also comes from the fact, that a mod_jk connection consumes one 
tomcat connector thread, even if its idle for a long time. The idle 
connection check in mod_jk only works, if the connection is going to be 
used. Then it is checked if it was idle for too long and probably is 
beeing closed and reconnected.

I implemented a feature, where in configurable intervals all workers of 
an lb worker are checked for idle connections, even the ones which are 
not returned by get_most_suitable_worker. The rationale behind it is the 
same as in the second part of 2).

4) Open Problem
I didn't check your new code, but at least before there was the problem, 
that a recovered worker that was offline a long time (in means of load) 
got all the work after recovery. Of course there was a fixed conatsnt of 
load added to it after recovery to compensate, but working with a 
constant was not really solving the problem.

It looks like one should virtually add load to a worker, even during 
it's error time, so that it will get normal load after recovering.

Thanks for any comments!
Rainer
Mladen Turk wrote:
 Rainer Jung wrote:

 Hi Mladen, hi everyone,

 i have a proposal for a slight enhancement concerning the log format of
 mod_jk. Maybe you could consider including it in your recently 
revised code. It contains only changes to jk_util.c and I attach a patch 
relativ to version 1.32 of the file.


 Hi Rainer.

 You are definitely on my track :) .

 I'm planning to add one additional log level, and clear all the log
 messages.

 1. ERROR - fatal operations
 2. WARN  - problems but not fatal
 3. INFO  - production logging
 4. DEBUG - protocol tracing
 5. TRACE - function call logging

 1) Include the log level of a message in the log line.
 2) Include the PID of the logging process in the log file.



 I'd like to make a customizable log line, in the JkRequestLogFormat
 fashion to be able to add PID/ThreadId, level, etc...

 MT.

 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]


Mladen Turk wrote:
Peter Rossbach wrote:
Hello Mladen,
I have see your checkin's and Rainer Jung very fine mod_jk extension 
concept mail.

I have two questions about lb changes:
a)   Why you not change the lb_value value after successful recovery 
at service() function ?
  After a longer fail the recovered worker get for a long time all 
new sessions...

OK. Will check. Seems very reasonable.
  See also Rainers Jung mail

Can you forward that. Seems I can not 

Re: Question about new mod_jk jk_lb_worker.c

2004-11-12 Thread Mladen Turk
Rainer Jung wrote:
I include my original posting.
Hi Rainer,
First of all thank you for ideas.
They are great!
1) Limiting new application sessions if load is to high.
There is a problem with that. I made a implementation counting the
number of busy childs/threads from scoreboard (took me entire day),
but again we should count the number of connections to tomcat, cause
the apache might be serving static content.
Anyhow the idea is great and I'll implement it in the new mod_proxy
for Apache 2.2 where we have extra slots in the scoreboard.
Sad but we can not do that inside mod_jk unless we implement our
own shared memory, that was prover to be bogus in jk2.

2) Multi-Cluster-Routing
Can you write some use case for that and perhaps some simple algo
too. What about sticky-sessions and forcing failower if we do not have
session replication?
3) Idle connection disconnect
Use worker mpm. We just can not make maintainer thread for
non-treaded mpm's like apache1.2 or prefork.

4) Open Problem
I didn't check your new code, but at least before there was the problem, 
that a recovered worker that was offline a long time (in means of load) 
This should work now with the latest patches.
Best regards,
Mladen.
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: Question about new mod_jk jk_lb_worker.c

2004-11-12 Thread Peter Rossbach
Hello Mladen,
I have two use case for the Multi Cluster Routing:
Use Case 1: More Scaling cluster
=
A tomcat standard we replicated the session to all tomcat node at a cluster.
This replication strategie not scale very well, but when we split
the tomcat nodes to some domain  and the lb knows that, the system scale 
better.

   Apache 1
   domain and cluster 1
worker   w1.1 for T1.1
worker   w1.2 for T1.2
worker   w1.3 for T1.3
  domain and cluster 2
worker   w2.1 for T2.1
worker   w2.2 for T2.2
worker   w2.3 for T2.3
  When a worker w1 at domain 1 failed the  made the next try to w1.2 
and w1.3,
  only this worker fail also, the balancer give the w2.x worker a 
chance. Ok, the client
  lose the session but than you have really hardware problems...

Use Case 2: Switch smoothly to next software generation ( preferred domain)

Release a new software at runtime without drop the current user sessions.
Start complete new tomcat instances with new application release.
Say the Loadbalancer that all new sessions start to domain 2 workers,
but as you lost a worker at domain 1 (old release) switch to worker at 
same domain.

Apache 1
   domain and cluster 1  ( Software Release 1)
worker   w1.1 for T1.1
worker   w1.2 for T1.2
worker   w1.3 for T1.3
  domain and cluster 2 ( Software Release 2) - preferred
worker   w2.1 for T2.1
worker   w2.2 for T2.2
worker   w2.3 for T2.3
  Both use case work perfect with the mod_jk2 level concept, with a 
little patch.
  Only the level limit is a real problem for scaling well..

---
I check also the newest jk_lb_worker and it works fine for me...
The increment technic is simple and powerful :-)
Some examples
w1+ w2   lb_factor 1 lb_value 0
   values after calc
   request  |   w1   w2|  comment
   1   |0*   2   |w1 get the Session
   2   |0 0* |w2 get the Session
   3   |0 0* |w2 get the Session, w1 is in 
error state

w1 lb_factor 3 lb_value 0
w2 lb_factor 1 lb_value 0
  values after calc
   request   |  w1   w2   |comment
   1|   -1*   1| w1 get the Session
   2|   -2*   2| w1 get the Session
   3|   -3 3| w1 get the Session, w1 is 
first lb worker
   4|   0 0*| w2 get the Session
   5|   -1*   1| w1 get the Session
   6|   -1 0*  | w2 get the Session, w1 is in error
   7|   -1 0*  | w2 get the Session, w1 is in error
   7|   -1*   1| w1 get the Session, w1 recover

great.
regards
peter
Mladen Turk schrieb:
Rainer Jung wrote:
I include my original posting.
Hi Rainer,
First of all thank you for ideas.
They are great!
1) Limiting new application sessions if load is to high.
There is a problem with that. I made a implementation counting the
number of busy childs/threads from scoreboard (took me entire day),
but again we should count the number of connections to tomcat, cause
the apache might be serving static content.
Anyhow the idea is great and I'll implement it in the new mod_proxy
for Apache 2.2 where we have extra slots in the scoreboard.
Sad but we can not do that inside mod_jk unless we implement our
own shared memory, that was prover to be bogus in jk2.

2) Multi-Cluster-Routing
Can you write some use case for that and perhaps some simple algo
too. What about sticky-sessions and forcing failower if we do not have
session replication?
3) Idle connection disconnect
Use worker mpm. We just can not make maintainer thread for
non-treaded mpm's like apache1.2 or prefork.

4) Open Problem
I didn't check your new code, but at least before there was the 
problem, that a recovered worker that was offline a long time (in 
means of load) 

This should work now with the latest patches.
Best regards,
Mladen.
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Question about new mod_jk jk_lb_worker.c

2004-11-11 Thread Peter Rossbach
Hello Mladen,
I have see your checkin's and Rainer Jung very fine mod_jk extension 
concept mail.

I have two questions about lb changes:
a)   Why you not change the lb_value value after successful recovery at 
service() function ?
  After a longer fail the recovered worker get for a long time all 
new sessions...
  See also Rainers Jung mail
b)   I have play around with the mod_jk2  lb algo and find the level 
feature (hot-standby) very usefull.
 With this feature I have setup to apache with two separate clusters.
  Apache 1
  Worker   T1.1   level 0
  Worker   T1.2   level 0
  Worker  T1.3level 0

  Worker   T2.1   level 1
  Worker   T2.2   level 1
  Worker  T2.3level 1
  Apache 2
  Worker   T1.1   level 1
  Worker   T1.2   level 1
  Worker  T1.3level 1
  Worker   T2.1   level 0
  Worker   T2.2   level 0
  Worker  T2.3level 0
  T1.1-T1.3   Cluster 1
  T2.1-T2.3  Cluster 2
   With this configuration every Apache has a preferred cluster.
   Ok small patch are needed:
   After a crashed node the algo find prefered worker at same 
level.

   I thing the domain concept from Rainer Jung in combination with 
preferred worker from mod_jk2 can be very usefull for clustered env.

Regards
Peter

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: Question about new mod_jk jk_lb_worker.c

2004-11-11 Thread Mladen Turk
Peter Rossbach wrote:
Hello Mladen,
I have see your checkin's and Rainer Jung very fine mod_jk extension 
concept mail.

I have two questions about lb changes:
a)   Why you not change the lb_value value after successful recovery at 
service() function ?
  After a longer fail the recovered worker get for a long time all 
new sessions...
OK. Will check. Seems very reasonable.
  See also Rainers Jung mail
Can you forward that. Seems I can not find it.
b)   I have play around with the mod_jk2  lb algo and find the level 
feature (hot-standby) very usefull.
I'll have to check whether it will break something.
Some patch would be more then welcome :).
MT.
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Multiple Tomcat Instance Question

2004-11-09 Thread Jess Holle
I have been experimenting with embedding Tomcat except embedding the 
full normal distribution via Bootstrap rather than fiddling with the 
embedded distribution.  A few questions arise from this:

  1. When using multiple Tomcats, e.g. with CATALINA_BASE, etc, does
 one always need separate 'work' directories?
 * With a huge web app with 1000's of JSPs, it is a bit
   obnoxious to have 'n' copies of all of this.  Yes, I could
   pre-populate this via precompilation and copying, but this
   still consumes a lot of disk.
 * If I could share one 'work' directory across all instances,
   would I then have to disable all further JSP compilation to
   avoid multi-process race conditions, or is this all handled?
  2. Are there any guides out there on how to do this sort of embedding?
 * I'm pretty familiar with server.xml, web.xml, etc, etc, and
   the CATALINA_BASE approach with a full deployment seems
   simple enough -- but I'm unsure what I well known/documented
   alternatives I might be missing.
One note on CATALINA_BASE:
   Without a $CATALINA_BASEE/webapps directory any Context XML files
   defining web apps in conf/** seem to be silently ignored.  I don't
   have anything I want to place in the webapps directory, though. 
   This may be a side-effect of me continuing to use the out-of-the-box
   server.xml to this point, which references 'webapps', but it took me
   some time to discover.

Related note on 5.5.x and Context bearing .xml files:
   These now have to have the same name as the web app (at least in
   5.5.3), whereas one used to be able to name them anything at all and
   just change the web app name in the Context element.  Not a big
   deal, but a surprising change.  [I actually ended up using jconsole
   to visually diff between a working Tomcat instance of an older
   version and 5.5.3.]
--
Jess Holle


i18n Question Tomcat 5.5 cvs head

2004-10-04 Thread Peter Rossbach
Hey,
I have problems to load application with de_DE locale.
===  Stacktrace ===
04.10.2004 22:52:04 org.apache.coyote.http11.Http11Protocol init
INFO: Initializing Coyote HTTP/1.1 on http-7380
04.10.2004 22:52:04 org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 2584 ms
04.10.2004 22:52:05 org.apache.catalina.core.StandardService start
INFO: Starting service Catalina
04.10.2004 22:52:05 org.apache.catalina.core.StandardEngine start
INFO: Starting Servlet Engine: Apache Tomcat/5.5.0-dev
04.10.2004 22:52:05 org.apache.catalina.core.StandardHost start
INFO: XML validation disabled
04.10.2004 22:52:05 org.apache.catalina.startup.HostConfig deployDescriptor
SCHWERWIEGEND: Error deploying configuration descriptor admin.xml
java.util.MissingResourceException: Can't find bundle for base name 
org.apache.n
aming.resources.LocalStrings, locale de_DE
   at 
java.util.ResourceBundle.throwMissingResourceException(ResourceBundle
.java:804)
   at java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:773)
   at java.util.ResourceBundle.getBundle(ResourceBundle.java:511)
   at org.apache.naming.StringManager.init(StringManager.java:67)
   at 
org.apache.naming.StringManager.getManager(StringManager.java:212)
   at 
org.apache.naming.resources.BaseDirContext.init(BaseDirContext.java
:85)
   at 
org.apache.naming.resources.FileDirContext.init(FileDirContext.java
:71)
   at 
org.apache.catalina.core.StandardContext.start(StandardContext.java:3
889)
   at 
org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase
.java:755)
   at 
org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:73
9)
   at 
org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)

   at 
org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.ja
va:590)
   at 
org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.j
ava:535)
   at 
org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:470
)
   at 
org.apache.catalina.startup.HostConfig.start(HostConfig.java:1079)
   at 
org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java
:310)
   at 
org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(Lifecycl
eSupport.java:119)
   at 
org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1011)

   at 
org.apache.catalina.core.StandardHost.start(StandardHost.java:718)
   at 
org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1003)

   at 
org.apache.catalina.core.StandardEngine.start(StandardEngine.java:437
)
   at 
org.apache.catalina.core.StandardService.start(StandardService.java:4
50)
   at 
org.apache.catalina.core.StandardServer.start(StandardServer.java:200
9)
   at org.apache.catalina.startup.Catalina.start(Catalina.java:538)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
   at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
   at java.lang.reflect.Method.invoke(Method.java:324)
   at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:271)
   at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:409)
04.10.2004 22:52:05 org.apache.catalina.startup.HostConfig deployDescriptor
SCHWERWIEGEND: Error deploying configuration descriptor manager.xml
java.util.MissingResourceException: Can't find bundle for base name 
org.apache.n
aming.resources.LocalStrings, locale de_DE
   at 
java.util.ResourceBundle.throwMissingResourceException(ResourceBundle
.java:804)
   at java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:694)

===
After add -Duser.language=en to my CATALINA_OPTS all is working.
Problem are the default LocaleStrings.properties from nameng resources ( 
naming-resources.jar) is at server loader and the web app load with 
webapp/common classloader.

regards
Peter

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: i18n Question Tomcat 5.5 cvs head

2004-10-04 Thread Remy Maucherat
Peter Rossbach wrote:
Hey,
I have problems to load application with de_DE locale.
===  Stacktrace ===
04.10.2004 22:52:04 org.apache.coyote.http11.Http11Protocol init
INFO: Initializing Coyote HTTP/1.1 on http-7380
04.10.2004 22:52:04 org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 2584 ms
04.10.2004 22:52:05 org.apache.catalina.core.StandardService start
INFO: Starting service Catalina
04.10.2004 22:52:05 org.apache.catalina.core.StandardEngine start
INFO: Starting Servlet Engine: Apache Tomcat/5.5.0-dev
04.10.2004 22:52:05 org.apache.catalina.core.StandardHost start
INFO: XML validation disabled
04.10.2004 22:52:05 org.apache.catalina.startup.HostConfig 
deployDescriptor
SCHWERWIEGEND: Error deploying configuration descriptor admin.xml
java.util.MissingResourceException: Can't find bundle for base name 
org.apache.n
aming.resources.LocalStrings, locale de_DE
   at 
java.util.ResourceBundle.throwMissingResourceException(ResourceBundle
.java:804)
   at java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:773)
   at java.util.ResourceBundle.getBundle(ResourceBundle.java:511)
   at org.apache.naming.StringManager.init(StringManager.java:67)
   at 
org.apache.naming.StringManager.getManager(StringManager.java:212)
   at 
org.apache.naming.resources.BaseDirContext.init(BaseDirContext.java
:85)
   at 
org.apache.naming.resources.FileDirContext.init(FileDirContext.java
:71)
   at 
org.apache.catalina.core.StandardContext.start(StandardContext.java:3
889)
   at 
org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase
.java:755)
   at 
org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:73
9)
   at 
org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)

   at 
org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.ja
va:590)
   at 
org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.j
ava:535)
   at 
org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:470
)
   at 
org.apache.catalina.startup.HostConfig.start(HostConfig.java:1079)
   at 
org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java
:310)
   at 
org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(Lifecycl
eSupport.java:119)
   at 
org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1011)

   at 
org.apache.catalina.core.StandardHost.start(StandardHost.java:718)
   at 
org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1003)

   at 
org.apache.catalina.core.StandardEngine.start(StandardEngine.java:437
)
   at 
org.apache.catalina.core.StandardService.start(StandardService.java:4
50)
   at 
org.apache.catalina.core.StandardServer.start(StandardServer.java:200
9)
   at org.apache.catalina.startup.Catalina.start(Catalina.java:538)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
   at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
   at java.lang.reflect.Method.invoke(Method.java:324)
   at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:271)
   at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:409)
04.10.2004 22:52:05 org.apache.catalina.startup.HostConfig 
deployDescriptor
SCHWERWIEGEND: Error deploying configuration descriptor manager.xml
java.util.MissingResourceException: Can't find bundle for base name 
org.apache.n
aming.resources.LocalStrings, locale de_DE
   at 
java.util.ResourceBundle.throwMissingResourceException(ResourceBundle
.java:804)
   at java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:694)

===
After add -Duser.language=en to my CATALINA_OPTS all is working.
Problem are the default LocaleStrings.properties from nameng resources 
( naming-resources.jar) is at server loader and the web app load with 
webapp/common classloader.
Delegation is causing problems on the StringManager class. So 
naming-resources is back in common/lib for now.

Rémy
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Question about the connection between Apache and Tomcat with JK

2004-09-23 Thread Kan Deng
Hi, there, 

Apache is a C application while Tomcat is in pure Java. Would you
please complain the mechanism for the communication between these two?
Especially, does it use shared memory or a temporary file or sockets?

In details,  

1. It is feasible and straightforward to implement if using a
temporary file as the media for IPC. However, its performance is a
concern, due to the disk I/O.

2. If using shared memory, questions are, (1) Since Tomcat is in pure
Java, what jdk APIs can be used to the access shared memory with
specified address?

  (2) How to control the memory size? Say when a large amount data
being communicated, how to handle the overfilling? Or, if the memory
size allocated for the shared memory is too large, then obviously
there is a waste in most cases.

3. If using sockets, jdk 1.4 has only socket for TCP and UDP. But when
the apache and tomcat are deployed in the same machine, isn't it an
overhead to go down to the lower layers when sending data stream, and
go upwards when receiving data?


Would you please give me a conceptual explanation or a pointer to some
documents, and in addition what classes in Tomcat source code handling
this IPC as well as the C modules of Apache?


Many thanks,
Kan

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Question about the connection between Apache and Tomcat with JK

2004-09-23 Thread Mladen Turk
Kan Deng wrote:
Hi, there, 

Apache is a C application while Tomcat is in pure Java. Would you
please complain the mechanism for the communication between these two?
Especially, does it use shared memory or a temporary file or sockets?
It uses sockets and AJP13 protocol for communication.
Would you please give me a conceptual explanation or a pointer to some
documents, and in addition what classes in Tomcat source code handling
this IPC as well as the C modules of Apache?
The best way to start is:
http://jakarta.apache.org/tomcat/connectors-doc/jk2/index.html
Regards,
MT.


smime.p7s
Description: S/MIME Cryptographic Signature


Re: Question about the connection between Apache and Tomcat with JK

2004-09-23 Thread Kan Deng
MT,

Many thanks for the prompt reply. I read into the document, however,
didn't find the answer to my question as following,

3. If using sockets, jdk 1.4 has only socket for TCP and UDP. But when
the apache and tomcat are deployed in the same machine, isn't it an
overhead to go down to the lower layers when sending data stream, and
go upwards when receiving data?


Any hint?

Kan




On Thu, 23 Sep 2004 09:14:34 +0200, Mladen Turk [EMAIL PROTECTED] wrote:
 Kan Deng wrote:
  Hi, there,
 
  Apache is a C application while Tomcat is in pure Java. Would you
  please complain the mechanism for the communication between these two?
  Especially, does it use shared memory or a temporary file or sockets?
 
 
 It uses sockets and AJP13 protocol for communication.
 
 
  Would you please give me a conceptual explanation or a pointer to some
  documents, and in addition what classes in Tomcat source code handling
  this IPC as well as the C modules of Apache?
 
 
 The best way to start is:
 http://jakarta.apache.org/tomcat/connectors-doc/jk2/index.html
 
 Regards,
 MT.
 
 
 


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Question about the connection between Apache and Tomcat with JK

2004-09-23 Thread Mladen Turk
Kan Deng wrote:
MT,
Many thanks for the prompt reply. I read into the document, however,
didn't find the answer to my question as following,
3. If using sockets, jdk 1.4 has only socket for TCP and UDP. But when
the apache and tomcat are deployed in the same machine, isn't it an
overhead to go down to the lower layers when sending data stream, and
go upwards when receiving data?
Depends on the operating system itself.
The smart one will never go down to the physical network layer for local 
communications.

MT.


smime.p7s
Description: S/MIME Cryptographic Signature


Session Management Question

2004-08-05 Thread Michael Watson
Hi All,

This may have been answered elsewhere in the past but I'm struggling to find
it if it has - though please point me in the direction of past answers if
that's the case.

I'm trying to understand how a single instance of Tomcat manages sessions.
Is there any pooling/recycling of sesssion objects or are they
created/destroyed as required?
If they are pooled, is the size of this pool configurable?

Also where can I find some good documentation on managing sessions across a
cluster or load balanced instances?

Does anyone know of a practical limit for the number of concurrent
connections Tomcat can cope with on a reasonably out of the box Redhat
installation (obviously file descriptor limits aside)?

I realise this is more of a user question, but I figure members of this list
are more likely to be able to provide me with the level of detail I'm
looking for.

Any info you can supply would be much appreciated (I also need to find this
out with some urgency)

Thanks in advance

Mike


---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.709 / Virus Database: 465 - Release Date: 22/06/2004


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Request dispatching question

2004-08-04 Thread Rick Knowles
Tomcat devs,
I've noticed an interesting behaviour when moving some webapp code from 
Winstone to Tomcat, and I'd like to get an opinion on whether what it's 
by design, accidental or I've misinterpreted the spec (equal likelihood 
of any of the above).

The webapp implements access control using a filter and a request 
wrapper. The filter is mapped to the protected directory, and any 
request that passes through gets checked for a token. If the token is 
not found, it dumps the contents of the request into a session object, 
and forwards to the login servlet. After the login is approved, the 
token is set, and a client side redirect to the original location is 
sent with a key added. On this second pass through the filter, the key 
is used to look up the session object storing the details of the 
original request. The filter constructs a request wrapper from that 
session object that makes the new request mimic the original one (eg 
when getRequestURI is called, it returns what the pre-authentication 
request's uri was, same for getServletPath, etc)

This approach seems to work well with the first servlet, but if that 
servlet forwards to another servlet, it breaks down. It seems like on a 
forward, Tomcat sees that the request object it is handling is not the 
CoyoteRequestFacade and doesn't bother trying to reset the pathInfo, 
servletPath etc, so forwarding to a JSP seems to fail.

It works ok on Winstone, because on a forward it unwraps the request 
until it hits something that's not a wrapper, resets the 
pathInfo/servletPath/etc, and passes it into the filter chain. It seems 
(from the outside) like Tomcat doesn't try more than one unwrap attempt. 
All of this is without yet looking at Tomcat source, so if I'm making a 
fool of myself just point me at a file and I'll disappear.

My question is this (sorry I took so long to get to it) - what is the 
correct behaviour here ? Should it unwrap all the way, or only one step 
? Is the behaviour I'm seeing expected or is something wrong ?

Thanks in advance,
Rick Knowles
--
Servlet v2.4 container in a single 140KB jar file ? Try Winstone 
(http://winstone.sf.net/)
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Newbee question

2004-07-28 Thread
Hi all,
I try to build tomcat from cvs distribution and failed. 
Command line
%ant_home%\bin\ant all

produces the following output

BUILD FAILED
D:\local\jakarta\jakarta-tomcat-4.0\build.xml:97: Following error occured while 
executing this line
D:\local\jakarta\jakarta-tomcat-4.0\catalina\build.xml:953: Basedir 
D:\local\jakarta\jakarta-tomcat-connectors\util does not exist

What can I do?

Dmitry

RE: Newbee question

2004-07-28 Thread Shapira, Yoav
Hi,
Use the default target, by just typing ant, rather than ant all.  It
will download and build dependencies.  And please continue this
discussion on tomcat-user, not tomcat-dev.  Thanks,

Yoav Shapira
Millennium Research Informatics


-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
Sent: Wednesday, July 28, 2004 10:28 AM
To: [EMAIL PROTECTED]
Subject: Newbee question

Hi all,
I try to build tomcat from cvs distribution and failed.
Command line
%ant_home%\bin\ant all

produces the following output

BUILD FAILED
D:\local\jakarta\jakarta-tomcat-4.0\build.xml:97: Following error
occured
while executing this line
D:\local\jakarta\jakarta-tomcat-4.0\catalina\build.xml:953: Basedir
D:\local\jakarta\jakarta-tomcat-connectors\util does not exist

What can I do?

Dmitry

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



question about building tomcat from source

2004-06-27 Thread Dennis Wong
Hi all,
 This is my first time sending email to tomcat's
developers mail list.
 I am a programer with a little experience in
working with java and I am now try to build the tomcat
5 from the source in order to learn from the code and
if possible I would like to contribute to the tomcat
project.
 But after I download the ant script from the
project's website at
http://jakarta.apache.org/tomcat/tomcat-5.0-doc/build.xml.
and then after the ant script download all the code
and start to build from the source, the program get
stopped at the compiler error as this:

jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/Generator.java:827:
error: Can't find constructor
`org.apache.jasper.compiler.Generator$GenerateVisitor$5$ParamVisitor(Ljava/lang/String;)'
in type
`org.apache.jasper.compiler.Generator$GenerateVisitor$5$ParamVisitor'.
[javac]n.getBody().visit(new
ParamVisitor(sep));

and i have read the Generator.java and I find the
ParamVisitor is a inner class in the same file so I
think its the problem of my setting.

So is there anyone could help for this question?

Thank you very much!

Best regard,
Dennis

__
 Yahoo! Mail - 100 MB 
http://mail.yahoo.com.hk/

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Bugzilla # 15337 question

2004-05-21 Thread Ben Boule
Hi,

I downloaded 5.0.19 a few weeks ago, and am trying to get our application
running on Tomcat 5 to see if the performance will be a worthwhile upgrade
over Tomcat 4.

I am seeing ArrayOutOfBoundsExceptions in the JspReader class for several of
our files.  All of these files are single line files which do not appear to
have a newline at the end of the file.  These work correctly in Tomcat 4.
Apparently it is desirable to leave them with no newline at the end of the
file because they are used to generate titles for the HTML pages, and we
didn't want newlines in the titles in the HTML.

I have not been able to determine if it is actually legal to have a JSP file
with no newline at the end of the file.

Looking at JspReader the problem appears to occur in JspReader::skipUntil
which starts at line 308 of the file
/jakarta-tomcat-5.0.19-src/jakarta-tomcat-jasper/jasper2/src/share/org/apach
e/jasper/compiler/JspReader.java.

Unfortunately I don't have the stack trace.  The exception was occurring at
the line that calls peekChar() though.

I added some code to catch the exception and try to deal with it, and it
appears to work although I don't completely understand the underlying code.

Here is my modified method:

Mark skipUntil(String limit) throws JasperException {
  Mark ret = null;
int limlen = limit.length();
int ch;
skip:

  for (ret = mark(), ch = nextChar() ; ch != -1 ;\
   ret = mark(), ch = nextChar()) {
if (ch == limit.charAt(0)) {
Mark restart = mark();
for (int i = 1 ; i  limlen ; i++) {
try {
if (peekChar() == limit.charAt(i))  --- Exception 
occurs
here
nextChar();
else {
reset(restart);
continue skip;
}
} catch (ArrayIndexOutOfBoundsException e) {
System.err.println(JspReader::skipUntil -
ArrayIndexOutOfBoundsException);
System.err.println(Limit param: \+limit+\);
System.err.println(loop index: +i);
System.err.println(Resetting stream, continuing to skip 
label.);
System.err.println(Exception:);
System.err.println(e);
e.printStackTrace(System.err);
reset(restart);
continue skip;
 }
}
return ret;
   }
  }
 return null;
}

Bugzilla # 15377 is the only similar lead I could find by searching the web,
however it doesn't seem to fix this particular problem and/or the fix was
made a long time ago and was lost in a fork.  (The bug is marked December
2002)

I'm not sure if my addition is correct, or if the correct answer is that the
JSP files must be changed.   However it would seem obvious that if the JSP
files need to be changed, the compiler needs to report the file as an error,
rather than crashing the compiler.

I would like to figure out who is the appropriate person to discuss this
with, and what I should do.  In the meantime I'll go forward with our
evaluation with this little patch in place.

I guess the best answer would be if I was told this is fixed in 5.0.24 or
something like that, but I don't see anything in the changelogs.

Thank you,
Ben Boule



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Question on 5.0.23

2004-05-10 Thread Remy Maucherat
Costin Manolache wrote:
Remy Maucherat wrote:

Au menu:
- Using Embedded
- Using JMX (which I think is cool)
- Using the in-memory connector
Speaking of which, the in-memory connector might be good for a bare 
bones JNI connector, if someone wants to try. The current JK JNI has 
about the same overhead os a socket, so it could improve performance.
What do you mean by same overhead as a socket ?
If you remember, when I benched it (some time ago), it had about the 
same performance as a regular socket based AJP connection. It was 
slightly faster than socket on some configurations (with IIS, for 
example), but still significantly slower than the standalone connector. 
I still don't see where I made a mistake, but it would be good if 
someone tested this again.

It does go through the same marshaling process - because JNI has a huge 
cost on Strings and almost anything that requires allocation. But at 
least the current version should be a bit faster than TCP or unix domain.
That's quite possible, I don't know.

Rémy

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: Question on 5.0.23

2004-05-09 Thread Costin Manolache
Remy Maucherat wrote:

Au menu:
- Using Embedded
- Using JMX (which I think is cool)
- Using the in-memory connector
Speaking of which, the in-memory connector might be good for a bare 
bones JNI connector, if someone wants to try. The current JK JNI has 
about the same overhead os a socket, so it could improve performance.
What do you mean by same overhead as a socket ?

It does go through the same marshaling process - because JNI has a huge 
cost on Strings and almost anything that requires allocation. But at 
least the current version should be a bit faster than TCP or unix domain.

Costin

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: Question on 5.0.23

2004-05-06 Thread Petr Jiricka
Remy Maucherat wrote:

Shapira, Yoav wrote:

Hi,
I have a strange issue with 5.0.23 that's making me question my stable
vote from earlier today.  It has to do with a 3rd party servlet which
checks for the presence of a cookie, if not found prompts for some user
information, and then redirects (response.sendRedirect) to another page.
The exact same code base and test case works in 5.0.19 but not in
5.0.23.  Was something relevant changed?
Looking at the changelog, I'd like clarification on:
Optimization: delay parsing of the cookies (remm)
I'm running Sun JDK 1.4.2 on Solaris 8 (all patches installed).  As I
mentioned it works with tomcat 5.0.19.  I'll proceed to try the
intermediate builds 5.0.20, 5.0.21, and 5.0.22 to further narrow the
possibilities.  Thanks,


I did find what the problem was: I did some testing, so I checked out 
an earlier revision of the file (CoyoteRequest, of course). 
Unfortunately, I'm using a new CVS tool with which I have less 
experience (tortoise) - not that I wanted to, but WinCVS decided to 
simply stop working one day - which doesn't display tags in a visible 
way, and the result is that an older revision of the file is in the 
build :(

Well, this sounds quite alarming to me. Looks like there is no guarantee 
that the contents of the build really contains the intended codeline. 
Could some practices be established that would prevent such situation 
from happening?

For example:
- use command line CVS to check out sources for production builds
- for production builds, always do a clean check out (use an empty 
directory)
- write an Ant script that checks out sources for production build

Would this help?

Thanks
Petr
I'll have to do a new 5.0.24 build today, then.

Rémy

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: Question on 5.0.23

2004-05-05 Thread Kin-Man Chung
Which watchdog is it?  Can you send me the other part (tld and tag handler)
of it?

If the tag is of a TAGDEPENDENT body type, then its body is should not
be evaluated.  It used to be evaluated in XML syntax, which is wrong and
which is what the patch intend to fix.  If this is the case, then the
golden file for the watchdog test should be replaced.

-Kin-man

 Date: Wed, 05 May 2004 02:26:32 +0200
 From: Remy Maucherat [EMAIL PROTECTED]
 Subject: Re: Question on 5.0.23
 To: Tomcat Developers List [EMAIL PROTECTED]
 
 I have some possible problems with Jasper and XML syntax. One example 
 from old watchdog:
 
 jsp:root
 xmlns:jsp=http://java.sun.com/JSP/Page; version=1.2
 xmlns:direct=urn:jsptld:/WEB-INF/tlds/example-taglib.tld
  
 
 jsp:text![CDATA[html
 titlepositiveDirectTldReference/title
 body
 ]]/jsp:text
 
 jsp:text![CDATA[
 
 ]]/jsp:text
 direct:test toBrowser=true att1=att1
 jsp:text![CDATA[
 Validated
 ]]/jsp:text
 /direct:test
 jsp:text![CDATA[
 /body
 /html
 ]]/jsp:text
 
 /jsp:root
 
 Generates for the tag:
 
  do {
out.write(jsp:text);
out.write(\n);
out.write(Validated\n);
out.write(/jsp:text);
out.write('\n');
int evalDoAfterBody = _jspx_th_direct_test_0.doAfterBody();
member = (String) _jspx_page_context.findAttribute(member);
if (evalDoAfterBody != 
 javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
  break;
  } while (true);
 
 So the tag body is not getting evaluated. I suspect this patch, which 
 was not yet present in 5.0.22:
 
 kinman  2004/04/16 16:22:30
 
Modified:jasper2/src/share/org/apache/jasper/compiler
  JspDocumentParser.java
Log:
- Fix a bug where a custom tag with tagdependent body type is not
  handled correctly in XML syntax.  The fix would have been trivial 
 if not
  for the cases where jsp:attribute and/or jsp:body is present.
 
 I'm not too big on tags though, so I don't know for sure if it's even a bug.
 
 (et hop, 5.0.25 ... :/ )
 
 Rémy
 
 
 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]
 


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Question on 5.0.23

2004-05-05 Thread Remy Maucherat
Kin-Man Chung wrote:
Which watchdog is it?  Can you send me the other part (tld and tag handler)
of it?
It's Watchdog 4. It's the XML tests (obviously), and it is run in the 
release target.

If the tag is of a TAGDEPENDENT body type, then its body is should not
be evaluated.  It used to be evaluated in XML syntax, which is wrong and
which is what the patch intend to fix.  If this is the case, then the
golden file for the watchdog test should be replaced.
This is the declaration for the tag:

  tag
  nametest/name
  tag-classtags.TestTag/tag-class
  tei-classtags.TestTagExtraInfo/tei-class
  body-contenttagdependent/body-content
  description
test message.
  /description
  attribute
nametoBrowser/name
requiredfalse/required
  /attribute
  attribute
nameatt1/name
requiredtrue/required
  /attribute
  attribute
nameatt2/name
requiredfalse/required
  /attribute
  /tag  
So this looks tagdependent, and it's ok then. I think the other similar 
problems are the same. Thanks.

(surprise, no 5.0.25 then)
(I have to assume some people will complain)
Rémy

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Question on 5.0.23

2004-05-04 Thread Shapira, Yoav

Hi,
I have a strange issue with 5.0.23 that's making me question my stable
vote from earlier today.  It has to do with a 3rd party servlet which
checks for the presence of a cookie, if not found prompts for some user
information, and then redirects (response.sendRedirect) to another page.
The exact same code base and test case works in 5.0.19 but not in
5.0.23.  Was something relevant changed?

Looking at the changelog, I'd like clarification on:
Optimization: delay parsing of the cookies (remm)

I'm running Sun JDK 1.4.2 on Solaris 8 (all patches installed).  As I
mentioned it works with tomcat 5.0.19.  I'll proceed to try the
intermediate builds 5.0.20, 5.0.21, and 5.0.22 to further narrow the
possibilities.  Thanks,

Yoav Shapira
Millennium Research Informatics





This e-mail, including any attachments, is a confidential business communication, and 
may contain information that is confidential, proprietary and/or privileged.  This 
e-mail is intended only for the individual(s) to whom it is addressed, and may not be 
saved, copied, printed, disclosed or used by anyone else.  If you are not the(an) 
intended recipient, please immediately delete this e-mail from your computer system 
and notify the sender.  Thank you.


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Question on 5.0.23

2004-05-04 Thread Remy Maucherat
Shapira, Yoav wrote:
Hi,
I have a strange issue with 5.0.23 that's making me question my stable
vote from earlier today.  It has to do with a 3rd party servlet which
checks for the presence of a cookie, if not found prompts for some user
information, and then redirects (response.sendRedirect) to another page.
The exact same code base and test case works in 5.0.19 but not in
5.0.23.  Was something relevant changed?
Looking at the changelog, I'd like clarification on:
Optimization: delay parsing of the cookies (remm)
The cookies are parsed (and allocated) when getCookies() is called.

I'm running Sun JDK 1.4.2 on Solaris 8 (all patches installed).  As I
mentioned it works with tomcat 5.0.19.  I'll proceed to try the
intermediate builds 5.0.20, 5.0.21, and 5.0.22 to further narrow the
possibilities.  Thanks,
Rémy

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: Question on 5.0.23

2004-05-04 Thread Remy Maucherat
Shapira, Yoav wrote:
Hi,
I have a strange issue with 5.0.23 that's making me question my stable
vote from earlier today.  It has to do with a 3rd party servlet which
checks for the presence of a cookie, if not found prompts for some user
information, and then redirects (response.sendRedirect) to another page.
The exact same code base and test case works in 5.0.19 but not in
5.0.23.  Was something relevant changed?
Looking at the changelog, I'd like clarification on:
Optimization: delay parsing of the cookies (remm)
I'm running Sun JDK 1.4.2 on Solaris 8 (all patches installed).  As I
mentioned it works with tomcat 5.0.19.  I'll proceed to try the
intermediate builds 5.0.20, 5.0.21, and 5.0.22 to further narrow the
possibilities.  Thanks,
I did find what the problem was: I did some testing, so I checked out an 
earlier revision of the file (CoyoteRequest, of course). Unfortunately, 
I'm using a new CVS tool with which I have less experience (tortoise) - 
not that I wanted to, but WinCVS decided to simply stop working one day 
- which doesn't display tags in a visible way, and the result is that an 
older revision of the file is in the build :(

I'll have to do a new 5.0.24 build today, then.

Rémy

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


RE: Question on 5.0.23

2004-05-04 Thread Shapira, Yoav

Hi,

I did find what the problem was: I did some testing, so I checked out
an
earlier revision of the file (CoyoteRequest, of course). Unfortunately,
I'm using a new CVS tool with which I have less experience (tortoise) -
not that I wanted to, but WinCVS decided to simply stop working one day
- which doesn't display tags in a visible way, and the result is that
an
older revision of the file is in the build :(

I'll have to do a new 5.0.24 build today, then.

Thanks for the quick investigation and resolution.  ;)

I'm formally withdrawing my stable vote for 5.0.23 because of this bug.
I couldn't find 5.0.20-5.0.22 for download, but IIRC 5.0.22 worked fine.
I'll gladly test 5.0.24 as soon as it's available.  Thanks again,

Yoav Shapira



This e-mail, including any attachments, is a confidential business communication, and 
may contain information that is confidential, proprietary and/or privileged.  This 
e-mail is intended only for the individual(s) to whom it is addressed, and may not be 
saved, copied, printed, disclosed or used by anyone else.  If you are not the(an) 
intended recipient, please immediately delete this e-mail from your computer system 
and notify the sender.  Thank you.


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Question on 5.0.23

2004-05-04 Thread Remy Maucherat
Shapira, Yoav wrote:
Thanks for the quick investigation and resolution.  ;)

I'm formally withdrawing my stable vote for 5.0.23 because of this bug.
I couldn't find 5.0.20-5.0.22 for download, but IIRC 5.0.22 worked fine.
I'll gladly test 5.0.24 as soon as it's available.  Thanks again,
I did update the build.

BTW, all past builds are available here: 
http://archive.apache.org/dist/jakarta/tomcat-5/

Rémy

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


RE: Question on 5.0.23

2004-05-04 Thread Shapira, Yoav

Hi,

I did update the build.

Thanks.  Is it still 5.0.23 then, and I should re-download and retest?

Yoav Shapira



This e-mail, including any attachments, is a confidential business communication, and 
may contain information that is confidential, proprietary and/or privileged.  This 
e-mail is intended only for the individual(s) to whom it is addressed, and may not be 
saved, copied, printed, disclosed or used by anyone else.  If you are not the(an) 
intended recipient, please immediately delete this e-mail from your computer system 
and notify the sender.  Thank you.


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Question on 5.0.23

2004-05-04 Thread Remy Maucherat
Shapira, Yoav wrote:
Thanks.  Is it still 5.0.23 then, and I should re-download and retest?
I don't like moving tags, so it's 5.0.24, and I picked up the right 
version for CoyoteRequest this time :-/

Rémy

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


RE: Question on 5.0.23

2004-05-04 Thread Shapira, Yoav

Hi,

I don't like moving tags, so it's 5.0.24, and I picked up the right
version for CoyoteRequest this time :-/

Downloaded and tested 5.0.24, it works fine.  You hit the nail right on
the head.  I'm ready to vote on it.  Thanks again,

Yoav Shapira



This e-mail, including any attachments, is a confidential business communication, and 
may contain information that is confidential, proprietary and/or privileged.  This 
e-mail is intended only for the individual(s) to whom it is addressed, and may not be 
saved, copied, printed, disclosed or used by anyone else.  If you are not the(an) 
intended recipient, please immediately delete this e-mail from your computer system 
and notify the sender.  Thank you.


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Question on 5.0.23

2004-05-04 Thread Remy Maucherat
I have some possible problems with Jasper and XML syntax. One example 
from old watchdog:

jsp:root
xmlns:jsp=http://java.sun.com/JSP/Page; version=1.2
xmlns:direct=urn:jsptld:/WEB-INF/tlds/example-taglib.tld

jsp:text![CDATA[html
titlepositiveDirectTldReference/title
body
]]/jsp:text
jsp:text![CDATA[

]]/jsp:text
direct:test toBrowser=true att1=att1
jsp:text![CDATA[
Validated
]]/jsp:text
/direct:test
jsp:text![CDATA[
/body
/html
]]/jsp:text
/jsp:root

Generates for the tag:

do {
  out.write(jsp:text);
  out.write(\n);
  out.write(Validated\n);
  out.write(/jsp:text);
  out.write('\n');
  int evalDoAfterBody = _jspx_th_direct_test_0.doAfterBody();
  member = (String) _jspx_page_context.findAttribute(member);
  if (evalDoAfterBody != 
javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
break;
} while (true);

So the tag body is not getting evaluated. I suspect this patch, which 
was not yet present in 5.0.22:

kinman  2004/04/16 16:22:30

  Modified:jasper2/src/share/org/apache/jasper/compiler
JspDocumentParser.java
  Log:
  - Fix a bug where a custom tag with tagdependent body type is not
handled correctly in XML syntax.  The fix would have been trivial 
if not
for the cases where jsp:attribute and/or jsp:body is present.

I'm not too big on tags though, so I don't know for sure if it's even a bug.

(et hop, 5.0.25 ... :/ )

Rémy

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Is it a bug? A Servlet 2.3 Spec. question about forward.

2004-04-01 Thread Hugh J. L.
Hi,


Description of test case:

In servlet1, use
  getServletContext().getRequestDispatcher().forward()
to forward to servlet2, and in servlet2, call
  request.getRequestURL()


Test result:

Tomcat 4.1.30
  return value is url for servlet1
WebLogic 8.1
  return value is url for servlet2



In SRV8.4, The path elements of the request object
exposed to the target servlet must reflect the path
used to obtain the RequestDispatcher.

path used to obtain the RequestDispatcher in this
test case is the path for servlet2. Does request url
belongs to those path elements?

Thanks.
Hugh


__
Do you Yahoo!?
Yahoo! Small Business $15K Web Design Giveaway 
http://promotions.yahoo.com/design_giveaway/

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



[www #17595] Is it a bug? A Servlet 2.3 Spec. question about forward.

2004-04-01 Thread WWW
Greetings.  (This is an automated response.  There is no need to reply.)

Your message regarding:
  Is it a bug? A Servlet 2.3 Spec. question about forward.
has been received and assigned a request number of 17595.

In order help us track the progress of this request, we ask that you
include the string [www #17595] in the subject line of any further mail
about this particular request.
For example:
Subject: [www #17595] Is it a bug? A Servlet 2.3 Spec. question about forward.


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Question about HttpServletRequest.getParameterValues()

2004-03-02 Thread Remy Maucherat
Jan Luehe wrote:
This is a bug. The String[] returned by req.getParameterValues() should
have been a clone.
I just committed a fix.
I'd like to point out that this bug is not worth any performance drop. 
You should move those clones to the case where there's a security manager.

Rémy

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: Question about HttpServletRequest.getParameterValues()

2004-03-02 Thread Jan Luehe
Remy Maucherat wrote:
Jan Luehe wrote:

This is a bug. The String[] returned by req.getParameterValues() should
have been a clone.
I just committed a fix.


I'd like to point out that this bug is not worth any performance drop. 
You should move those clones to the case where there's a security manager.
Fair enough.

Jan



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


SSL IIS encryption with tomcat question

2004-03-01 Thread John MccLain
I have setup Tomcat to work with IIS. for SSL requests, since IIS decrypts
the request and passes it unencrypted to Tomcat, How do I encrypt the
request so that all communication from IIS with Tomcat is secure - round
trip encryption???


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Question about HttpServletRequest.getParameterValues()

2004-03-01 Thread Christian Cryder
Hey folks, I've just noticed something interesting...

The 2.3 HttpServletRequest interface provides a setAttribute() method to
change the values of a given attribute. It does NOT however provide a
similar setParameter() method, allowing you to programatically modify the
values that accompany the request - I assume this means that we shouldn't be
able to change these values.

What I've discovered however, is that if I _can_ modify parameter values by
calling getParameterValues() (which returns String[]) and set the values
that way. For instance:

Enumeration enum = req.getParameterNames();
while (enum.hasMoreElements()) {
String key =(String) enum.nextElement();
String vals[] = req.getParameterValues(key);
for (int i=0, max=vals.length; imax; i++) {
if (key.equalsIgnoreCase(password)) vals[i] = ;
logger.info(...key:+key+ value:+vals[i]);
}
}

This has the surprising (to me anyway) effect of actually _modifying_ the
underlying value for the particular key. Is this simply an implementation
oversight? I had assumed that the method would be returning a copy of the
underlying data structure, rather than a reference to the structure itself.

This isn't really a problem for me, but I thought it was interesting and I'm
curious to know if this was intentional or not. Anyone care to comment?

Thanks much,
Christian
--
Christian Cryder
Internet Architect, ATMReports.com
Project Chair, BarracudaMVC - http://barracudamvc.org
--
Coffee? I could quit anytime, just not today


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Question about HttpServletRequest.getParameterValues()

2004-03-01 Thread Jan Luehe
Hi Christian,

The 2.3 HttpServletRequest interface provides a setAttribute() method to
change the values of a given attribute. It does NOT however provide a
similar setParameter() method, allowing you to programatically modify the
values that accompany the request - I assume this means that we shouldn't be
able to change these values.
What I've discovered however, is that if I _can_ modify parameter values by
calling getParameterValues() (which returns String[]) and set the values
that way. For instance:
Enumeration enum = req.getParameterNames();
while (enum.hasMoreElements()) {
String key =(String) enum.nextElement();
String vals[] = req.getParameterValues(key);
for (int i=0, max=vals.length; imax; i++) {
if (key.equalsIgnoreCase(password)) vals[i] = ;
logger.info(...key:+key+ value:+vals[i]);
}
}
This has the surprising (to me anyway) effect of actually _modifying_ the
underlying value for the particular key. Is this simply an implementation
oversight? I had assumed that the method would be returning a copy of the
underlying data structure, rather than a reference to the structure itself.
This isn't really a problem for me, but I thought it was interesting and I'm
curious to know if this was intentional or not. Anyone care to comment?
This is a bug. The String[] returned by req.getParameterValues() should
have been a clone.
I just committed a fix.

Thanks,

Jan


Thanks much,
Christian
--
Christian Cryder
Internet Architect, ATMReports.com
Project Chair, BarracudaMVC - http://barracudamvc.org
--
Coffee? I could quit anytime, just not today
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


checkContextLastModified() question

2004-01-30 Thread Robert Krüger
Hi,

I'm looking into eliminating (or configuring) the delay between 
modifying my web.xml files and restarting of the context during 
development, which according to Yoav is not configurable. I looked into 
the code. However, I don't quite understand the criterion which is used 
to decide whether a reload should be performed.

starting in line 783 in HostConfig
if (newLastModified  (webInfLastModified + 
5000)) {
webXmlLastModified.remove(contextName);
restartContext(context);
} else {
webXmlLastModified.put
(contextName, new Long(newLastModified));
}

I don't understand the first comparison. The lastModified of web.xml 
must be at least 5 seconds after the lastModified of the WEB-INF 
directory? I'm sure I do not understand it correctly. Could someone 
please shed some light on this?

Thanks in advance,

Robert







--

Robert Krüger
Signal7 GmbH
Brüder Knauss Str. 79
64285 Darmstadt
Germany
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Design Question in TomCat 5

2004-01-29 Thread Samuel Cheung
Hi,

I read an onjava.com article regarding new features in Tomcat 5. In that
article, it said a whole new mapper was implemented that generates little
or no garbage (lots of object recycling is going on in there). And that
improves performance. 

But from Sun's web page, it said do not pool objects. So my question is Is
it a good idea to do object pooling for the sake of performance
improvement?

Thank you.



From onjava.com article,
http://www.onjava.com/pub/a/onjava/2004/01/28/tomcat5.html?page=1

Tomcat 5.0 has had many garbage creation (read performance enhancement)
changes since Tomcat 4.1. Tomcat 5.0's single most important
garbage-creation refactoring was the new request URI mapper. After some
optimization profiling, Tomcat 4.1's request pipeline was found to create
excess garbage while mapping a Connector's requests to the proper Container.
For Tomcat 5, a whole new mapper was implemented that generates little or no
garbage (lots of object recycling is going on in there), and thus Tomcat
5.0's request pipeline performs noticeably better than that of Tomcat 4.1.
This also lowers the overall memory usage compared to Tomcat 4.1, which
helps to prevent OutOfMemoryExceptions in the web apps it runs, and helps
Tomcat 5 to scale higher vertically (i.e. higher scalability on a single
machine).


From http://java.sun.com/docs/hotspot/gc1.4.2/faq.html
  31. Should I pool objects to help GC? Should I call System.gc()
periodically?

The answer to these is No!

Pooling objects will cause them to live longer than necessary. We strongly
advise against object pools.




RE: Design Question in TomCat 5

2004-01-29 Thread Shapira, Yoav

Howdy,

But from Sun's web page, it said do not pool objects. So my question is
Is
it a good idea to do object pooling for the sake of performance
improvement?

Do not pool objects is an overly general tip.  If objects are
expensive to create, pooling them is a classical way to enhance
performance of a system.

Yoav Shapira



This e-mail, including any attachments, is a confidential business communication, and 
may contain information that is confidential, proprietary and/or privileged.  This 
e-mail is intended only for the individual(s) to whom it is addressed, and may not be 
saved, copied, printed, disclosed or used by anyone else.  If you are not the(an) 
intended recipient, please immediately delete this e-mail from your computer system 
and notify the sender.  Thank you.


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Design Question in TomCat 5

2004-01-29 Thread Filip Hanik
As Yoav said, pooling is a question of how expensive it is to create them.

Also to add in there are many more factors to consider

1. how expensive is it to GC in a non pooled environment
2. how expensive is it to synchronize to keep your pool thread safe

so it all becomes a question of the scenario that you have, it is not
general

Filip


- Original Message -
From: Shapira, Yoav [EMAIL PROTECTED]
To: Tomcat Developers List [EMAIL PROTECTED]
Sent: Thursday, January 29, 2004 11:11 AM
Subject: RE: Design Question in TomCat 5



Howdy,

But from Sun's web page, it said do not pool objects. So my question is
Is
it a good idea to do object pooling for the sake of performance
improvement?

Do not pool objects is an overly general tip.  If objects are
expensive to create, pooling them is a classical way to enhance
performance of a system.

Yoav Shapira



This e-mail, including any attachments, is a confidential business
communication, and may contain information that is confidential, proprietary
and/or privileged.  This e-mail is intended only for the individual(s) to
whom it is addressed, and may not be saved, copied, printed, disclosed or
used by anyone else.  If you are not the(an) intended recipient, please
immediately delete this e-mail from your computer system and notify the
sender.  Thank you.


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Design Question in TomCat 5

2004-01-29 Thread nishant kumar
hi,
i too wondered about this. i agree with you that Sun's suggestion of
not using object pooling should not be applied in all cases. so let me
point out a specific case. i guess Request and response objects are
recycled and in the recycle method, all variables are cleared, if they
are collection objects, or are set to null. this means you anyway end up
creating all the objects again. you end up saving some memory allocation
overhead of creating the request object and may be some collection
objects. But this is at the cost of doing all the stuff in the recycle
method and the added complexity in the code.
i guess this is what the sun's site speaks about that memory allocation
is no more costly, especially in the newer jvms(say 1.4.2). 
so my specific question is that do we need to recycle request and
response objects when using jdk1.4.2?

thanks,
nishant.


On Fri, 2004-01-30 at 00:53, Filip Hanik wrote:
 As Yoav said, pooling is a question of how expensive it is to create them.
 
 Also to add in there are many more factors to consider
 
 1. how expensive is it to GC in a non pooled environment
 2. how expensive is it to synchronize to keep your pool thread safe
 
 so it all becomes a question of the scenario that you have, it is not
 general
 
 Filip
 
 
 - Original Message -
 From: Shapira, Yoav [EMAIL PROTECTED]
 To: Tomcat Developers List [EMAIL PROTECTED]
 Sent: Thursday, January 29, 2004 11:11 AM
 Subject: RE: Design Question in TomCat 5
 
 
 
 Howdy,
 
 But from Sun's web page, it said do not pool objects. So my question is
 Is
 it a good idea to do object pooling for the sake of performance
 improvement?
 
 Do not pool objects is an overly general tip.  If objects are
 expensive to create, pooling them is a classical way to enhance
 performance of a system.
 
 Yoav Shapira
 
 
 
 This e-mail, including any attachments, is a confidential business
 communication, and may contain information that is confidential, proprietary
 and/or privileged.  This e-mail is intended only for the individual(s) to
 whom it is addressed, and may not be saved, copied, printed, disclosed or
 used by anyone else.  If you are not the(an) intended recipient, please
 immediately delete this e-mail from your computer system and notify the
 sender.  Thank you.
 
 
 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]
 
 
 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



OT, a bit: Help a journalist with a CMS question

2004-01-27 Thread Esther Schindler
Hi. I'd appreciate some help from real people who are working with 
software configuration management tools.

I'm writing an article for the new magazine, Software Test and 
Performance (http://stpmag.com); the new publication is coming from the 
same folks who do Software Development Times (http://www.sdtimes.com), 
where I'm a contributing editor. I have the bizarre idea that it should 
reflect what people who work in the field actually _do_.

I've been asked to compile a short list of best practices for 
configuration management tools - though personally I think of it as 
the things I wish I knew before I got into this. Or, maybe, If you 
had someone to help you when you started with this kind of software, 
what do you wish they'd told you?

Note that I'm not looking for anything that's product- or 
vendor-specific. (I don't *hate* the idea, but tool-specific stuff 
isn't useful to people not using that particular tool.) For example, 
what advice would you offer to someone who hasn't yet chosen a tool? 
What REALLY DUMB MISTAKE do you wish that you had learned from someone 
_else's_ experience? What are the unforeseen problems that messed up 
your development or deployment schedule? I want to compile a list of 
five-or-so pithy points (not the read the manual stuff -- don't you 
hate stupid articles like that?) which I hope will really help other 
folks like you.

Feel free to contact me privately ([EMAIL PROTECTED]), though I'll do 
my best to check in here as well. It'd be cool if I can quote you by 
name and company affiliation, but I don't mind being vague about says 
Kim, a developer for a midwest insurance company if that's necessary.

(Also, it's cool if you forward this message to other developers. I 
need to have input by Friday, January 30, 2004 in order to get my 
article done on time -- so don't bother answering after that date.)

Esther Schindler
writing for Software Test  Performance (at the moment, anyway)
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Question about a JCP proposition

2003-12-23 Thread Eric Jung
Hello,

I'd like to propose an addition to the Servlet specification
through the JCP, but thought I'd ask first on the tomcat-dev
list if anyone has seen a similar request.

There is currently no way in the Servlet spec to know the number
of bytes that have been read as a ServletRequest is being processed.
By the time Servlet.service() or Filter.doFilter() are called,
the *entire* InputStream has been read from the socket.

But what if one is trying to implement certain behavior after every
n bytes have been consumed? There is presently no way to do this
without writing a custom Servlet Container (or extending Coyote).

Likewise, the same holds true for knowing the number of bytes that
have been written to an OutputStream in real-time.

I believe these capabilities can be supported with the addition of
one new EventListener interface, something like:

  public interface javax.servlet.ServletStreamListener {

/**
 * Called repeatedly by the Servlet container
 * after n bytes have been read/written to/from a ServletRequest
 * or ServletResponse, where n is the integer returned by
 * getCallbackThreshold().
 */
public void thresholdReached();


/**
 * The number of bytes to read/write before calling
 * thresholdReached().
 */
public int getCallbackThreshold();

  }

Has anyone seen this kind of specification request made before? I'd
rather not waste the time of JSR154/JCP if this is a common request that
has been previously shot down.

Thank you,

Eric H. Jung
[EMAIL PROTECTED]


-- 
http://www.fastmail.fm - IMAP accessible web-mail

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Question about a JCP proposition

2003-12-23 Thread mahadevan iyer
no answer??

=
A.Mahadevan

__
Do you Yahoo!?
New Yahoo! Photos - easier uploading and sharing.
http://photos.yahoo.com/

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE: Question about a JCP proposition

2003-12-23 Thread Shapira, Yoav

Howdy,

no answer??

You must be in a big rush -- I just got the message, I figure others may
have not even checked their mail yet ;)

There is currently no way in the Servlet spec to know the number
of bytes that have been read as a ServletRequest is being processed.
By the time Servlet.service() or Filter.doFilter() are called,
the *entire* InputStream has been read from the socket.

But what if one is trying to implement certain behavior after every
n bytes have been consumed? There is presently no way to do this
without writing a custom Servlet Container (or extending Coyote).

I'm not a big fan of the request, for two reasons:
- It's too low-level for the spirit of the Servlet Specification,
- It'd be hard for the container to support these listeners in a
performant manner.

The above are just IMHO, off the top of my head, without thinking about
it much.  What's a realistic use-case?

As to your other question: I've never seen this request before.

Yoav Shapira



This e-mail, including any attachments, is a confidential business communication, and 
may contain information that is confidential, proprietary and/or privileged.  This 
e-mail is intended only for the individual(s) to whom it is addressed, and may not be 
saved, copied, printed, disclosed or used by anyone else.  If you are not the(an) 
intended recipient, please immediately delete this e-mail from your computer system 
and notify the sender.  Thank you.


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE: Question about a JCP proposition

2003-12-23 Thread Eric Jung
 You must be in a big rush -- I just got the message, I figure others may
 have not even checked their mail yet ;)

I didn't post that no answer? message.

 It's too low-level for the spirit of the Servlet Specification,

That's discouraging.

 - It'd be hard for the container to support these listeners in a
 performant manner.

Agreed. It would surely affect the i/o buffer size if set to a small
value.; in the case of Tomcat I believe this is
org.apache.coyote.http11.Constants.DEFAULT_HTTP_HEADER_BUFFER_SIZE (48k).
However, wouldn't prolific JavaDoc ameliorate that issue?

 it much.  What's a realistic use-case?

One use-case is to be able to provide an accurate upload or download
meter; I'm not aware of any way to do this with Servletsare you?
(Note I said accurate, not something like an animated gif which is
just a fancy wait cursor).



On Tue, 23 Dec 2003 08:43:36 -0500, Shapira, Yoav
[EMAIL PROTECTED] said:
 
 Howdy,
 
 no answer??
 
 You must be in a big rush -- I just got the message, I figure others may
 have not even checked their mail yet ;)
 
 There is currently no way in the Servlet spec to know the number
 of bytes that have been read as a ServletRequest is being processed.
 By the time Servlet.service() or Filter.doFilter() are called,
 the *entire* InputStream has been read from the socket.
 
 But what if one is trying to implement certain behavior after every
 n bytes have been consumed? There is presently no way to do this
 without writing a custom Servlet Container (or extending Coyote).
 
 I'm not a big fan of the request, for two reasons:
 - It's too low-level for the spirit of the Servlet Specification,
 - It'd be hard for the container to support these listeners in a
 performant manner.
 
 The above are just IMHO, off the top of my head, without thinking about
 it much.  What's a realistic use-case?
 
 As to your other question: I've never seen this request before.
 
 Yoav Shapira
 
 
 
 This e-mail, including any attachments, is a confidential business
 communication, and may contain information that is confidential,
 proprietary and/or privileged.  This e-mail is intended only for the
 individual(s) to whom it is addressed, and may not be saved, copied,
 printed, disclosed or used by anyone else.  If you are not the(an)
 intended recipient, please immediately delete this e-mail from your
 computer system and notify the sender.  Thank you.
 
 
 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]
 

-- 
http://www.fastmail.fm - mmm... Fastmail...

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE: Question about a JCP proposition

2003-12-23 Thread Shapira, Yoav

Howdy,

 - It'd be hard for the container to support these listeners in a
 performant manner.

Agreed. It would surely affect the i/o buffer size if set to a small
value.; in the case of Tomcat I believe this is
org.apache.coyote.http11.Constants.DEFAULT_HTTP_HEADER_BUFFER_SIZE
(48k).
However, wouldn't prolific JavaDoc ameliorate that issue?

JavaDoc along with a default configuration that retains current
performance might be OK.

One use-case is to be able to provide an accurate upload or download
meter; I'm not aware of any way to do this with Servletsare you?
(Note I said accurate, not something like an animated gif which is
just a fancy wait cursor).

It's funny you raise this point now.  We're discussing adding a progress
bar to commons-fileupload on the commons-dev list.  You may wish to
join/follow the discussion, as two other people have what they claim are
accurate implementations.  Needless to say, neither of them is asking
for a servlet specification change.

Do you have any other use cases?

Yoav Shapira



This e-mail, including any attachments, is a confidential business communication, and 
may contain information that is confidential, proprietary and/or privileged.  This 
e-mail is intended only for the individual(s) to whom it is addressed, and may not be 
saved, copied, printed, disclosed or used by anyone else.  If you are not the(an) 
intended recipient, please immediately delete this e-mail from your computer system 
and notify the sender.  Thank you.


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE: Question about a JCP proposition

2003-12-23 Thread Eric Jung
Hi Yoav,

Thanks for the replies. Beleive it or not, this request comes directly
from my attempts to extends commons-fileupload to support a progress bar.
I have spent a lot of time on this topic and can add a lot to the
discussions on commons-dev.

I would be very interested to see how the other two have done an
implementation
with commons-fileupload since I was not able to achieve one reliably
without
modifying some Tomcat classes (e.g:
org.apache.coyote.http11.InternalInputBuffer,
InternalOutputBuffer, Http11Processor).

I have checked the mail-archives.com but the posts aren't there yet...

Anxiously waiting,
Eric


On Tue, 23 Dec 2003 13:23:28 -0500, Shapira, Yoav
[EMAIL PROTECTED] said:
 
 Howdy,
 
  - It'd be hard for the container to support these listeners in a
  performant manner.
 
 Agreed. It would surely affect the i/o buffer size if set to a small
 value.; in the case of Tomcat I believe this is
 org.apache.coyote.http11.Constants.DEFAULT_HTTP_HEADER_BUFFER_SIZE
 (48k).
 However, wouldn't prolific JavaDoc ameliorate that issue?
 
 JavaDoc along with a default configuration that retains current
 performance might be OK.
 
 One use-case is to be able to provide an accurate upload or download
 meter; I'm not aware of any way to do this with Servletsare you?
 (Note I said accurate, not something like an animated gif which is
 just a fancy wait cursor).
 
 It's funny you raise this point now.  We're discussing adding a progress
 bar to commons-fileupload on the commons-dev list.  You may wish to
 join/follow the discussion, as two other people have what they claim are
 accurate implementations.  Needless to say, neither of them is asking
 for a servlet specification change.
 
 Do you have any other use cases?
 
 Yoav Shapira
 
 
 
 This e-mail, including any attachments, is a confidential business
 communication, and may contain information that is confidential,
 proprietary and/or privileged.  This e-mail is intended only for the
 individual(s) to whom it is addressed, and may not be saved, copied,
 printed, disclosed or used by anyone else.  If you are not the(an)
 intended recipient, please immediately delete this e-mail from your
 computer system and notify the sender.  Thank you.
 
 
 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]
 

-- 
http://www.fastmail.fm - Accessible with your email software
  or over the web

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE: Intro/question possible buglet with Content-Type and Charsets - now more of an RFC

2003-12-19 Thread Greg . Cope
Hello All,

I know it may be considered rude to reply to my own post, but it seems to
have fallen on deaf ears.

In trying to solve the problems I seem to be going round in circles trying
to find a fix within the tomcat source - can someone point me in right
direction?

Any clues as to how to proceed would be most welcome.  Should I reopen the
bug, as it would appear that the supplied fix, does not.

Not wishing to put anyones backs up, Thanks,

Greg


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Intro/question possible buglet with Content-Type and Charsets .

2003-12-19 Thread Tim Funk
Instructions added to http://nagoya.apache.org/bugzilla/show_bug.cgi?id=24970

-Tim

Tim Funk wrote:

Yeah, nagoya.apache.org seems down. Hopefully it will be back soon. The 
bug has good detail of what and how to fix.

-Tim

[EMAIL PROTECTED] wrote:

Thanks Tim,

Having a little trouble getting anything from bugzilla, nagoya.apache.org
seems to be having a little trouble!
Looking in the archives for this id, I see that someone has a 4.1.29 
patch
and a complied class, but cannot see either email address or content 
via the
archive.


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


RE: Intro/question possible buglet with Content-Type and Charsets .

2003-12-19 Thread Greg . Cope
Tim,

Is this a CVS snapshot of Request.java/class? 

If so it does not appear to fix my problem (see other thread): Content-Type:
application/vnd.ms-excel;charset=ISO-8859-1

Unless of course I am a complete idiot (highly probable)

Thanks for your help thus far.

Greg



 Instructions added to 
 http://nagoya.apache.org/bugzilla/show_bug.cgi?id=24970
 
 -Tim
 
 Tim Funk wrote:
 

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Intro/question possible buglet with Content-Type and Charsets .

2003-12-19 Thread Tim Funk
In the bug report, from Sven 2003-11-26 19:36 - he uploaded a file called 
Response.java. Whether it is a patched version, version from CVS, an 
incorrectly patched version, or a trojan is a matter of trust.

But make sure the file is called Response.class, not Request.class

-Tim

[EMAIL PROTECTED] wrote:

Tim,

Is this a CVS snapshot of Request.java/class? 

If so it does not appear to fix my problem (see other thread): Content-Type:
application/vnd.ms-excel;charset=ISO-8859-1
Unless of course I am a complete idiot (highly probable)

Thanks for your help thus far.

Greg




Instructions added to 
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=24970

-Tim

Tim Funk wrote:



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


RE: Intro/question possible buglet with Content-Type and Charsets .

2003-12-19 Thread Greg . Cope
Ah this still does not fix it I am afraid.

Neither does the CVS patch.

:-(

Any objections to reopening the bug?

Greg

 -Original Message-
 From: Tim Funk [mailto:[EMAIL PROTECTED]
 Sent: 19 December 2003 13:55
 To: Tomcat Developers List
 Subject: Re: Intro/question possible buglet with Content-Type and
 Charsets .
 
 
 In the bug report, from Sven 2003-11-26 19:36 - he uploaded 
 a file called 
 Response.java. Whether it is a patched version, version from CVS, an 
 incorrectly patched version, or a trojan is a matter of trust.
 
 But make sure the file is called Response.class, not Request.class
 
 
 -Tim

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Intro/question possible buglet with Content-Type and Charsets .

2003-12-19 Thread Remy Maucherat
[EMAIL PROTECTED] wrote:
Ah this still does not fix it I am afraid.

Neither does the CVS patch.

:-(

Any objections to reopening the bug?
Well, yes. Please do not reopen the report. Revisions 1.30 or 1.31 do 
(really) resolve the issue.
You can also use Tomcat 5.0.16, or 4.1.27; neither have this issue.

New Tomcat releases will (likely) appear early in 2004 to include a few 
bugfixes, including this one for 4.1.x.

Rémy

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


RE: Intro/question possible buglet with Content-Type and Charsets .

2003-12-19 Thread Greg . Cope
 [EMAIL PROTECTED] wrote:
  Ah this still does not fix it I am afraid.
  
  Neither does the CVS patch.
  
  :-(
  
  Any objections to reopening the bug?
 
 Well, yes. Please do not reopen the report. Revisions 1.30 or 1.31 do 
 (really) resolve the issue.

Pulled 1.31 from CVS - complied it with some debug statements and it appears
that Response.java setContentType is being called with:
application/vnd.ms-excel;charset=ISO-8859-1

When my code is:

[EMAIL PROTECTED] contentType=application/vnd.ms-excel%

Can someone tell me where the glue code between my JSP page is and the
Response.class

 You can also use Tomcat 5.0.16, or 4.1.27; neither have this issue.

In our environment it takes about 2 weeks of work to upgrade tomcat
(testing, number of instances, and lot of documentation/evidence) hence I
need a hotfix.

 New Tomcat releases will (likely) appear early in 2004 to 
 include a few 
 bugfixes, including this one for 4.1.x.

Please see above.

:-(

## my debug statements:

Response.java setContentType is starting with:
application/vnd.ms-excel;charset=ISO-8859-1
Response.java setContentType has ended up with:
application/vnd.ms-excel;charset=ISO-8859-1
Response.java getContentType is hase content type of:
application/vnd.ms-excel
Response.java getContentType charsetSet and characterEncoding are true and
is add+returning: application/vnd.ms-excel;charset=ISO-8859-1


 
 Rémy
 
 
 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]
 

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



  1   2   3   4   5   >