cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/servlets DefaultServlet.java

2005-05-05 Thread jfclere
jfclere 2005/05/05 00:00:10

  Modified:catalina/src/share/org/apache/catalina/servlets
DefaultServlet.java
  Log:
  Undo my previous commit - Still looking for a better solution -
  
  Revision  ChangesPath
  1.38  +1 -11 
jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/servlets/DefaultServlet.java
  
  Index: DefaultServlet.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/servlets/DefaultServlet.java,v
  retrieving revision 1.37
  retrieving revision 1.38
  diff -u -r1.37 -r1.38
  --- DefaultServlet.java   4 May 2005 07:04:30 -   1.37
  +++ DefaultServlet.java   5 May 2005 07:00:09 -   1.38
  @@ -1725,16 +1725,6 @@
   if (cacheEntry.resource != null) {
   byte buffer[] = cacheEntry.resource.getContent();
   if (buffer != null) {
  -if (fileEncoding != null 
  -cacheEntry.attributes.getMimeType()!=null 
  -cacheEntry.attributes.getMimeType().equals(text/html)) 
{
  -/* the binary have to be converted from fileEncoding 
to UTF-8 */
  -try {
  -String str = new String(buffer, fileEncoding);
  -buffer = str.getBytes(UTF-8);
  -} catch (Exception e) {
  -}
  -}
   ostream.write(buffer, 0, buffer.length);
   return;
   }
  
  
  

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



Re: cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/servlets DefaultServlet.java

2005-05-05 Thread jean-frederic clere
Remy Maucherat wrote:
[EMAIL PROTECTED] wrote:
jfclere 2005/05/04 00:04:30
  Modified:catalina/src/share/org/apache/catalina/servlets
DefaultServlet.java
  Log:
  When the file comes from a resource fileEncoding was not working.
  The default beahviour is unchanged: the file is send without a 
conversion.

   if (cacheEntry.resource != null) {
   byte buffer[] = cacheEntry.resource.getContent();
   if (buffer != null) {
  +if (fileEncoding != null 
  +cacheEntry.attributes.getMimeType()!=null 
  +
cacheEntry.attributes.getMimeType().equals(text/html)) {
  +/* the binary have to be converted from 
fileEncoding to UTF-8 */
  +try {
  +String str = new String(buffer, fileEncoding);
  +buffer = str.getBytes(UTF-8);
  +} catch (Exception e) {
  +}
  +}
   ostream.write(buffer, 0, buffer.length);
   return;

So, can you revert the patch ? I think that's what we more or less 
agreed on, right ?
Done.
Forcing the use of a writer using a getWriter call would likely be more 
efficient (much less GC hungry at least).

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]


[EMAIL PROTECTED]: Project jakarta-tomcat-jk-native (in module jakarta-tomcat-connectors) failed

2005-05-05 Thread Bill Barker
To whom it may engage...

This is an automated request, but not an unsolicited one. For 
more information please visit http://gump.apache.org/nagged.html, 
and/or contact the folk at [EMAIL PROTECTED]

Project jakarta-tomcat-jk-native has an issue affecting its community 
integration.
This issue affects 1 projects,
 and has been outstanding for 134 runs.
The current state of this project is 'Failed', with reason 'Build Failed'.
For reference only, the following projects are affected by this:
- jakarta-tomcat-jk-native :  Connectors to various web servers


Full details are available at:

http://brutus.apache.org/gump/public/jakarta-tomcat-connectors/jakarta-tomcat-jk-native/index.html

That said, some information snippets are provided here.

The following annotations (debug/informational/warning/error messages) were 
provided:
 -INFO- Failed with reason build failed



The following work was performed:
http://brutus.apache.org/gump/public/jakarta-tomcat-connectors/jakarta-tomcat-jk-native/gump_work/build_jakarta-tomcat-connectors_jakarta-tomcat-jk-native.html
Work Name: build_jakarta-tomcat-connectors_jakarta-tomcat-jk-native (Type: 
Build)
Work ended in a state of : Failed
Elapsed: 
Command Line: make 
[Working Directory: 
/usr/local/gump/public/workspace/jakarta-tomcat-connectors/jk/native]
-
Making all in common
make[1]: Entering directory 
`/home/gump/workspaces2/public/workspace/jakarta-tomcat-connectors/jk/native/common'
/bin/sh 
/usr/local/gump/public/workspace/apache-httpd/dest-05052005/build/libtool 
--silent --mode=compile gcc 
-I/usr/local/gump/public/workspace/apache-httpd/dest-05052005/include -g -O2 -g 
-O2 -pthread -DHAVE_APR  
-I/usr/local/gump/public/workspace/apr/dest-05052005/include/apr-1 -g -O2 
-DLINUX=2 -D_REENTRANT -D_GNU_SOURCE -D_LARGEFILE64_SOURCE 
-I/home/gump/workspaces2/public/workspace/apache-httpd/srclib/pcre -I 
/opt/jdk1.4/include -I /opt/jdk1.4/include/ -c jk_ajp12_worker.c 
/usr/local/gump/public/workspace/apache-httpd/dest-05052005/build/libtool: 
/usr/local/gump/public/workspace/apache-httpd/dest-05052005/build/libtool: No 
such file or directory
make[1]: *** [jk_ajp12_worker.lo] Error 127
make[1]: Leaving directory 
`/home/gump/workspaces2/public/workspace/jakarta-tomcat-connectors/jk/native/common'
make: *** [all-recursive] Error 1
-

To subscribe to this information via syndicated feeds:
- RSS: 
http://brutus.apache.org/gump/public/jakarta-tomcat-connectors/jakarta-tomcat-jk-native/rss.xml
- Atom: 
http://brutus.apache.org/gump/public/jakarta-tomcat-connectors/jakarta-tomcat-jk-native/atom.xml

== Gump Tracking Only ===
Produced by Gump version 2.2.
Gump Run 2905052005, brutus:brutus-public:2905052005
Gump E-mail Identifier (unique within run) #39.

--
Apache Gump
http://gump.apache.org/ [Instance: brutus]

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



DO NOT REPLY [Bug 34757] New: - load-on-startup element seem to cause the application to deploy twice

2005-05-05 Thread bugzilla
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG·
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
http://issues.apache.org/bugzilla/show_bug.cgi?id=34757.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND·
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=34757

   Summary: load-on-startup element seem to cause the application to
deploy twice
   Product: Tomcat 5
   Version: 5.5.9
  Platform: PC
OS/Version: Windows 2000
Status: NEW
  Severity: normal
  Priority: P2
 Component: Unknown
AssignedTo: tomcat-dev@jakarta.apache.org
ReportedBy: [EMAIL PROTECTED]


using the load-on-start tag seem to cause the application to be deployed twice. 
it does not matter if the value of the tag is 1 or 0 the duplicate deplyment 
will take place.   if the load-on-startup tag is not included in the web.xml, 
the application will deploy once as expected.

the environemnt checked for this is tomcat 5.5.9 + compat package on 
jdk1.4.2_04 with only the server.xml slightly modified to include the context 
element (see below). i used jforum 2.0.2 as the application and added to its 
main forum servlet a load-on-startup tag in the web.xml (see below).

-my server.xml--
!-- Example Server Configuration File --
!-- Note that component elements are nested corresponding to their
 parent-child relationships with each other --

!-- A Server is a singleton element that represents the entire JVM,
 which may contain one or more Service instances.  The Server
 listens for a shutdown command on the indicated port.

 Note:  A Server is not itself a Container, so you may not
 define subcomponents such as Valves or Loggers at this level.
 --

Server port=8005 shutdown=SHUTDOWN

  !-- Comment these entries out to disable JMX MBeans support used for the 
   administration web application --
  Listener className=org.apache.catalina.mbeans.ServerLifecycleListener /
  Listener 
className=org.apache.catalina.mbeans.GlobalResourcesLifecycleListener /
  Listener 
className=org.apache.catalina.storeconfig.StoreConfigLifecycleListener/

  !-- Global JNDI resources --

  GlobalNamingResources

!-- Test entry for demonstration purposes --
Environment name=simpleValue type=java.lang.Integer value=30/

!-- Editable user database that can also be used by
 UserDatabaseRealm to authenticate users --
Resource name=UserDatabase auth=Container
  type=org.apache.catalina.UserDatabase
   description=User database that can be updated and saved
   factory=org.apache.catalina.users.MemoryUserDatabaseFactory
  pathname=conf/tomcat-users.xml /

  /GlobalNamingResources

  Service name=Catalina

Connector port=8080 maxHttpHeaderSize=8192
   maxThreads=150 minSpareThreads=25 maxSpareThreads=75
   enableLookups=false redirectPort=8443 acceptCount=100
   connectionTimeout=2 disableUploadTimeout=true /

Connector port=8009 
   enableLookups=false redirectPort=8443 protocol=AJP/1.3 /

Engine name=Catalina defaultHost=localhost


  Realm className=org.apache.catalina.realm.UserDatabaseRealm
 resourceName=UserDatabase/


  Host name=localhost appBase=webapps
   unpackWARs=true autoDeploy=true
   xmlValidation=false xmlNamespaceAware=false

Context crossContext=false 
 path=/forum
 docBase=JForum-2.0.2
 debug=0 reloadable=true
/Context

  /Host

/Engine

  /Service

/Server

--my web.xml-
?xml version=1.0 encoding=UTF-8?

!DOCTYPE web-app
PUBLIC -//Sun Microsystems, Inc.//DTD Web Application 2.3//EN
http://java.sun.com/dtd/web-app_2_3.dtd;
web-app
listener
listener-classnet.jforum.ForumSessionListener/listener-class
/listener   


servlet
servlet-namejforum/servlet-name
servlet-classnet.jforum.JForum/servlet-class

init-param
param-namedevelopment/param-name
param-valuetrue/param-value
/init-param
load-on-startup1/load-on-startup
/servlet

servlet
servlet-nameinstall/servlet-name
servlet-classnet.jforum.InstallServlet/servlet-class

init-param
param-namedevelopment/param-name
param-valuetrue/param-value
/init-param
/servlet

!-- SERVLETS --
servlet-mapping
servlet-nameinstall/servlet-name
url-pattern/install/install.page/url-pattern
/servlet-mapping

servlet-mapping
servlet-namejforum/servlet-name
url-pattern*.page/url-pattern
/servlet-mapping

!-- SESSION --
session-config
session-timeout10/session-timeout
 

cvs commit: jakarta-tomcat-connectors/jk/native/common jk_lb_worker.c

2005-05-05 Thread mturk
mturk   2005/05/05 05:48:35

  Modified:jk/native/common jk_lb_worker.c
  Log:
  Allow setting 'secret' inside load balancer worker that will
  set the secret for all its members if the membes have no specified
  secret property.
  
  Revision  ChangesPath
  1.80  +11 -1 jakarta-tomcat-connectors/jk/native/common/jk_lb_worker.c
  
  Index: jk_lb_worker.c
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-connectors/jk/native/common/jk_lb_worker.c,v
  retrieving revision 1.79
  retrieving revision 1.80
  diff -u -r1.79 -r1.80
  --- jk_lb_worker.c26 Apr 2005 15:28:18 -  1.79
  +++ jk_lb_worker.c5 May 2005 12:48:35 -   1.80
  @@ -29,6 +29,8 @@
   #include jk_worker.h
   #include jk_lb_worker.h
   #include jk_ajp13.h
  +#include jk_ajp13_worker.h
  +#include jk_ajp14_worker.h
   #include jk_mt.h
   #include jk_shm.h
   
  @@ -732,9 +734,11 @@
   lb_worker_t *p = pThis-worker_private;
   char **worker_names;
   unsigned int num_of_workers;
  +const char *secret;
   
   p-s-sticky_session = jk_get_is_sticky_session(props, p-s-name);
   p-s-sticky_session_force = jk_get_is_sticky_session_force(props, 
p-s-name);
  +secret = jk_get_worker_secret(props, p-s-name);
   
   if (jk_get_lb_worker_list(props,
 p-s-name,
  @@ -788,6 +792,12 @@
 we, l) || !p-lb_workers[i].w) {
   break;
   }
  +if (secret  (p-lb_workers[i].w-type == 
JK_AJP13_WORKER_TYPE ||
  +p-lb_workers[i].w-type == JK_AJP14_WORKER_TYPE)) {
  +ajp_worker_t *aw = (ajp_worker_t 
*)p-lb_workers[i].w-worker_private; 
  +if (!aw-secret)
  +aw-secret = secret;
  +}
   }
   
   if (i != num_of_workers) {
  
  
  

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



DO NOT REPLY [Bug 34757] - load-on-startup element seem to cause the application to deploy twice

2005-05-05 Thread bugzilla
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG·
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
http://issues.apache.org/bugzilla/show_bug.cgi?id=34757.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND·
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=34757


[EMAIL PROTECTED] changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||INVALID




--- Additional Comments From [EMAIL PROTECTED]  2005-05-05 15:02 ---
Double deployment is because you have both an explicit Context and
autoDeploy=true on the Host.  Pick one, don't use both at the same time.

-- 
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug, or are watching the assignee.

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



RE: Code Submission - Wild Card Aliases

2005-05-05 Thread George Sexton
That's your opinion. What about the completely revised and improved test
harness that I wrote to ensure that your critical code was working the same
way.

Doesn't that indicate some care and seriousness of purpose?



George Sexton
MH Software, Inc.
http://www.mhsoftware.com/
Voice: 303 438 9585
  

 -Original Message-
 From: Remy Maucherat [mailto:[EMAIL PROTECTED] 
 Sent: Wednesday, May 04, 2005 1:41 PM
 To: Tomcat Developers List
 Subject: Re: Code Submission - Wild Card Aliases
 
 George Sexton wrote:
 
 The original code you submitted looks quite bad so I don't trust your 
 measurements at all, sorry.
 
 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: Code Submission - Wild Card Aliases

2005-05-05 Thread George Sexton
The measurement was calculated by taking the median reading of 10
consecutive executions.

Just for your edification they were:

New Code:

7373ms
7395ms
7383ms
7370ms
7384ms
7385ms
7395ms
7376ms
7378ms
7393ms

Median: 7383.5ms


Old code:

8561ms
8560ms
8771ms
8774ms
8771ms
8767ms
8860ms
8775ms
8775ms
8782ms

Median: 8772.5ms

Difference: 1389ms ~ 15.8% improved

My mistake for not wanting to bore the list with minutiae.

George Sexton
MH Software, Inc.
http://www.mhsoftware.com/
Voice: 303 438 9585
  

 -Original Message-

 The original code you submitted looks quite bad so I don't trust your 
 measurements at all, sorry.
 
 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]



DO NOT REPLY [Bug 34760] New: - Tomcat crash when .war put under webapps and redeploy is called

2005-05-05 Thread bugzilla
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG·
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
http://issues.apache.org/bugzilla/show_bug.cgi?id=34760.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND·
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=34760

   Summary: Tomcat crash when  .war put under webapps and redeploy
is called
   Product: Tomcat 5
   Version: 5.5.9
  Platform: Other
OS/Version: Linux
Status: NEW
  Severity: major
  Priority: P1
 Component: Catalina
AssignedTo: tomcat-dev@jakarta.apache.org
ReportedBy: [EMAIL PROTECTED]


Hi all,
I've a problem:
When i redeploy many times my webapp (replacing my .war file under the webapps
dir), some times, tomcat crash when redeploy the webapp.



The error is this.

5-mag-2005 15.45.47 org.apache.catalina.startup.HostConfig checkResources
INFO: Undeploying context [/repartoweb]
15:45:47,310 DEBUG UserCounterListener:53 - Session destroyed.
15:45:47,316 DEBUG UserCounterListener:80 - User Count: 0
5-mag-2005 15.45.47
org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor 
processChildren
GRAVE: Exception invoking periodic operation:
java.lang.IllegalStateException: removeAttribute: Session already invalidated
at
org.apache.catalina.session.StandardSession.removeAttribute(StandardSession.java:1165)
at
org.apache.catalina.session.StandardSession.removeAttribute(StandardSession.java:1140)
at
org.apache.catalina.session.StandardSession.writeObject(StandardSession.java:1435)
at
org.apache.catalina.session.StandardSession.writeObjectData(StandardSession.java:920)
at
org.apache.catalina.session.StandardManager.doUnload(StandardManager.java:516)
at
org.apache.catalina.session.StandardManager.unload(StandardManager.java:462)
at
org.apache.catalina.session.StandardManager.stop(StandardManager.java:664)
at 
org.apache.catalina.core.StandardContext.stop(StandardContext.java:4255)
at
org.apache.catalina.core.ContainerBase.removeChild(ContainerBase.java:892)
at
org.apache.catalina.startup.HostConfig.checkResources(HostConfig.java:968)
at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1162)
at
org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:293)
at
org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
at
org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1304)
at
org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1568)
at
org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1577)
at
org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1557)
at java.lang.Thread.run(Thread.java:595)






Every ten seconds (after the GRAVE error), i'll recive this error:





5-mag-2005 16.12.37 org.apache.catalina.startup.HostConfig checkResources
INFO: Undeploying context [/repartoweb]
5-mag-2005 16.12.37
org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor 
processChildren
GRAVE: Exception invoking periodic operation:
java.lang.NullPointerException
at
org.apache.catalina.core.ContainerBase.removeChild(ContainerBase.java:883)
at
org.apache.catalina.startup.HostConfig.checkResources(HostConfig.java:968)
at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1162)
at
org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:293)
at
org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
at
org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1304)
at
org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1568)
at
org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1577)
at
org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1557)
at java.lang.Thread.run(Thread.java:595)







If i try to replace the .war of my webapp with the same, but updated , the .war
wan't be deployed.



The solution (not good): kill the catalina process and restart it!

So, any idea?

Agharta

-- 
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug, or are watching the assignee.

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



Re: Code Submission - Wild Card Aliases

2005-05-05 Thread Peter Rossbach
Great news,
can you post your new code that we can test it also?
Many thanks
Peter
George Sexton schrieb:
The measurement was calculated by taking the median reading of 10
consecutive executions.
Just for your edification they were:
New Code:
7373ms
7395ms
7383ms
7370ms
7384ms
7385ms
7395ms
7376ms
7378ms
7393ms
Median: 7383.5ms
Old code:
8561ms
8560ms
8771ms
8774ms
8771ms
8767ms
8860ms
8775ms
8775ms
8782ms
Median: 8772.5ms
Difference: 1389ms ~ 15.8% improved
My mistake for not wanting to bore the list with minutiae.
George Sexton
MH Software, Inc.
http://www.mhsoftware.com/
Voice: 303 438 9585
 

 

-Original Message-
   

 

The original code you submitted looks quite bad so I don't trust your 
measurements at all, sorry.

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]

 



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


cvs commit: jakarta-tomcat-connectors/jk/native/common jk_lb_worker.c

2005-05-05 Thread pero
pero2005/05/05 08:40:17

  Modified:jk/native/common jk_lb_worker.c
  Log:
  Don't use work when is stopped!
  
  Revision  ChangesPath
  1.81  +2 -2  jakarta-tomcat-connectors/jk/native/common/jk_lb_worker.c
  
  Index: jk_lb_worker.c
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-connectors/jk/native/common/jk_lb_worker.c,v
  retrieving revision 1.80
  retrieving revision 1.81
  diff -u -r1.80 -r1.81
  --- jk_lb_worker.c5 May 2005 12:48:35 -   1.80
  +++ jk_lb_worker.c5 May 2005 15:40:17 -   1.81
  @@ -368,7 +368,7 @@
   uses_domain = 1;
   candidate = find_best_bydomain(p, candidate-s-domain, l);
   }
  -if (candidate  candidate-s-in_error_state)
  +if (candidate  (candidate-s-in_error_state || 
candidate-s-is_stopped))
   candidate = NULL;
   }
   }
  
  
  

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



Re: Tomcat performance patch (in development) to reduce concurrency...

2005-05-05 Thread Scott Marlow
On Wed, 2005-05-04 at 16:02 +0200, Remy Maucherat wrote:
 Scott Marlow wrote:
  Hi, 
  
  I wonder if anyone has any feedback on a performance change that I am
  working on making. 
  
  One benefit of reducing concurrency in a server application is that a
  small number of requests can complete more quickly than if they had to
  compete against a large number of running threads for object locks (Java
  or externally in a database). 
  
  I would like have a Tomcat configuration option to set the max number of
  concurrent threads that can service user requests.  You might configure
  Tomcat to handle 800 http client connections but set the max concurrent
  requests to 20 (perhaps higher if you have more CPUs).  I like to refer
  to the max concurrent requests setting as the throttle size (if there is
  a better term, let me know).
  
  I modified the Tomcat Thread.run code to use Doug Lea's semaphore
  support but didn't expose a configuration option (haven't learned how to
  do that yet). My basic change is to allow users to specify the max
  number of concurrent servlet requests that can run. If an application
  has a high level of concurrency, end users may get more consistent
  response time with this change. If an application has a low level of
  concurrency, my change doesn't help as their application only has a few
  threads running concurrently anyway. 
  
  This also reduces resource use on other tiers. For example, if you are
  supporting 500 users with a Tomcat instance, you don't need a database
  connection pool size of 500, instead set the throttle size to 20 and
  create a database connection pool size of 20. 
  
  Current status of the change: 
  
  1. org.apache.tomcat.util.threads.ThreadPool.CONCURRENT_THREADS is
  hardcoded to a value of 18, should be a configurable option. 
  2. I hacked the build scripts to include Doug Lea's concurrent.jar but
  probably didn't make these changes correctly.  I could switch to using
  the Java 1.5 implementation of the Concurrent package but we would still
  need to do something for Java 1.4 compatibility.
  
  Any suggestions on completing this enhancement are appreciated.
  
  Please include my [EMAIL PROTECTED] email address in your response.
 
 I looked at this yesterday, and while it is a cool hack, it is not that 
 useful anymore (and we're also not going to use the concurrent utilities 
 in Tomcat, so it's not really an option before we require Java 5). The 
 main issue is that due to the fact keepalive is done in blocking mode, 
 actual concurrency in the servlet container is unpredictable (the amount 
 of processing threads - maxThreads - will usually be a lot higher than 
 the actual expected concurrency - let's say 100 per CPU). If that issue 
 is solved (we're trying to see if APR is a good solution for it), then 
 the problem goes away.
 
 Your patch is basically a much nicer implementation of maxThreads 
 (assuming it doesn't reduce performance) which would be useful for the 
 regular HTTP connector, so it's cool, but not worth it. Overall, I think 
 the way maxThreads is done in the APR connector is the easiest (if the 
 amount of workers is too high, wait a bit without accepting anything).
 
 However, reading the text of the message, you don't seem to realize that 
 a lot of the threads which would actually be doing processing are just 
 blocking for keepalive (hence not doing anything useful; maybe you don't 
 see it in your test). Anyway, congratulations for understanding that 
 ThreadPool code (I stopped using it for new code, since I think it has 
 some limitations and is too complex).
 
 Rmy
 
 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]
 

Thank you for all of the replies!

The benefit of reducing concurrency is for the application code more
than the web container.  I last saw the benefit in action on Novell's
IIOP container when I was working on publishing spec.org benchmark
numbers for
(http://www.spec.org/jAppServer2001/results/res2003q4/jAppServer2001-20031118-00016.html).

Prior to setting the max number of concurrent requests allowed to run at
once, I had about 800 communication threads that were also running
application requests.  The application requests would typically do some
local processing and quite a bit of database i/o (database ran on a
different tier).  With 800 application threads running at once, there
was too much contention on shared Java objects (the Java unfair
scheduler made this worse) and database contention.  Some client
requests would take 2 seconds to complete while others would take 40
seconds.

Luckily the Novell Corba orb already had the ability to set the max
number of IIOP requests allowed to run concurrently.  Setting this to 18
didn't impact the communications threads ability to send/receive but
instead restricted the number of application requests being processed at
once to 

JspReader/Parser and encoding

2005-05-05 Thread jean-frederic clere
Hi,
When following the code, something looks strange:
The JspReader converts from sourceEnc to JAVA (UTF-8) so why 
isDefaultPageEncoding not set to true?

Find enclosed the patch I have tested on BS2000 with jsp files in EBCDIC using
+++
jsp-property-group
url-pattern/*/url-pattern
page-encodingOSD_EBCDIC_DF04_1/page-encoding
/jsp-property-group
+++
In web.xml
Without the patch the page is sent in EBCDIC to the broswer 
(text/html;charset=OSD_EBCDIC_DF04_1).

Any comments?
Cheers
Jean-Frederic
Index: jasper2/src/share/org/apache/jasper/compiler/ParserController.java
===
RCS file: 
/home/cvspublic/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/ParserController.java,v
retrieving revision 1.56
diff -u -r1.56 ParserController.java
--- jasper2/src/share/org/apache/jasper/compiler/ParserController.java  11 Jan 
2005 22:14:55 -  1.56
+++ jasper2/src/share/org/apache/jasper/compiler/ParserController.java  5 May 
2005 15:28:09 -
@@ -208,6 +208,10 @@
JspReader jspReader = new JspReader(ctxt, absFileName,
sourceEnc, inStreamReader,
err);
+// If sourceEnc is used the page is converted by jspReader
+if (sourceEnc!=null)
+isDefaultPageEncoding=true;
+
 parsedPage = Parser.parse(this, jspReader, parent, isTagFile,
  directiveOnly, jarFileUrl,
  sourceEnc, jspConfigPageEnc,

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

cvs commit: jakarta-tomcat-connectors/jk/xdocs/config workers.xml

2005-05-05 Thread pero
pero2005/05/05 08:59:10

  Modified:jk/xdocs changelog.xml
   jk/xdocs/config workers.xml
  Log:
  Add doc of my stopped change and the very fine new secret default lb worker 
attribute - thanks mladen.
  
  Revision  ChangesPath
  1.28  +13 -0 jakarta-tomcat-connectors/jk/xdocs/changelog.xml
  
  Index: changelog.xml
  ===
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/xdocs/changelog.xml,v
  retrieving revision 1.27
  retrieving revision 1.28
  diff -u -r1.27 -r1.28
  --- changelog.xml 29 Apr 2005 20:08:53 -  1.27
  +++ changelog.xml 5 May 2005 15:59:10 -   1.28
  @@ -21,6 +21,19 @@
 new documentation project for JK has been started.
 /p
   /section
  +section name=Changes with JK 1.2.12
  +  br /
  +  subsection name=Native
  +changelog
  + fixFix that worker not used, when stopped flag is true. (pero)
  + /fix
  +  update
  +  Add loadbalance default worker secret attribute to the documentation 
(pero)
  +  /update  
  +/changelog
  +  /subsection
  +/section
  +
   section name=Changes with JK 1.2.11
 br /
 subsection name=Native
  
  
  
  1.16  +9 -0  jakarta-tomcat-connectors/jk/xdocs/config/workers.xml
  
  Index: workers.xml
  ===
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/xdocs/config/workers.xml,v
  retrieving revision 1.15
  retrieving revision 1.16
  diff -u -r1.15 -r1.16
  --- workers.xml   29 Apr 2005 20:08:53 -  1.15
  +++ workers.xml   5 May 2005 15:59:10 -   1.16
  @@ -270,6 +270,15 @@
   This feature has been added in bjk 1.2.9/b.
   /p
   /directive
  +
  +directive name=secret default= required=false
  +Set a default secret word for all defined workers. 
  +See worker secret attribute description for more info.
  +p
  +This feature has been added in bjk 1.2.12/b.
  +/p
  +/directive
  +
   /directives
   
   /subsection
  
  
  

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



DO NOT REPLY [Bug 34765] New: - NullPointerException thrown by org.apache.commons.dbcp.PoolableConnectionFactory

2005-05-05 Thread bugzilla
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG·
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
http://issues.apache.org/bugzilla/show_bug.cgi?id=34765.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND·
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=34765

   Summary: NullPointerException thrown by
org.apache.commons.dbcp.PoolableConnectionFactory
   Product: Tomcat 5
   Version: 5.0.30
  Platform: PC
OS/Version: Windows NT
Status: NEW
  Keywords: RFC
  Severity: blocker
  Priority: P1
 Component: Unknown
AssignedTo: tomcat-dev@jakarta.apache.org
ReportedBy: [EMAIL PROTECTED]


I have been developing a simple application that will access an Oracle 8i 
database.

I am developing the application using Eclipse 3.0.1 using the Exadel software 
package on top of it in order to fulfil the webapp development requirement I 
have.

I am able to successfully look up the DataSource through JNDI - the DataSource 
object has all the attributes I set in the server.xml file.  When I call the 
getConnection() method on the DataSource object a NullPointerException is 
thrown.

I've used a decompiler to add trace statements to the classes that are involved 
in the process.  It would seem that the NullPointerException is thrown in 
org.apache.commons.dbcp.PoolableConnectionFactory - specifically the 
activateObject() method.

If I catch the exception and continue processing when I next come to call 
getConnection() a org.apache.commons.dbcp.SQLNestedException: Cannot get a 
connection, pool exhausted is thrown.

I have carried out some investigation with regards to the configuration of the 
server.xml file.  It seems that altering the url has no effect on the outcome 
of the test - if I supply an invalid url or invalid username or password 
details this is not detected.

I've looked on a number of websites for a solution to this problem but haven't 
found any as of yet.

This error makes it impossible to carry out any kind of database activity - 
hence the P1 priority.  Apologies if this is the wrong priority to raise the 
bug at.

I greatly look forward to your help regarding this matter.

My server.xml file is as follows:-

?xml version=1.0 encoding=UTF-8?
Server port=8005 shutdown=SHUTDOWN debug=0
  !-- Comment these entries out to disable JMX MBeans support --
  !-- You may also configure custom components (e.g. Valves/Realms) by 
   including your own mbean-descriptor file(s), and setting the 
   descriptors attribute to point to a ';' seperated list of paths
   (in the ClassLoader sense) of files to add to the default list.
   e.g. descriptors=/com/myfirm/mypackage/mbean-descriptor.xml
  --
  Listener
className=org.apache.catalina.mbeans.ServerLifecycleListener debug=0/
  Listener
className=org.apache.catalina.mbeans.GlobalResourcesLifecycleListener 
debug=0/
  !-- Global JNDI resources --
  GlobalNamingResources
!-- Test entry for demonstration purposes --
Environment name=simpleValue type=java.lang.Integer value=30/
!-- Editable user database that can also be used by
 UserDatabaseRealm to authenticate users --
Resource name=UserDatabase auth=Container
  type=org.apache.catalina.UserDatabase description=User database that 
can be updated and saved/
ResourceParams name=UserDatabase
  parameter
namefactory/name
valueorg.apache.catalina.users.MemoryUserDatabaseFactory/value
  /parameter
  parameter
namepathname/name
valueconf/tomcat-users.xml/value
  /parameter
/ResourceParams
  /GlobalNamingResources
  !-- A Service is a collection of one or more Connectors that share
   a single Container (and therefore the web applications visible
   within that Container).  Normally, that Container is an Engine,
   but this is not required.

   Note:  A Service is not itself a Container, so you may not
   define subcomponents such as Valves or Loggers at this level.
   --
  !-- Define the Tomcat Stand-Alone Service --
  Service name=Catalina
!-- A Connector represents an endpoint by which requests are received
 and responses are returned.  Each Connector passes requests on to the
 associated Container (normally an Engine) for processing.

 By default, a non-SSL HTTP/1.1 Connector is established on port 8080.
 You can also enable an SSL HTTP/1.1 Connector on port 8443 by
 following the instructions below and uncommenting the second Connector
 entry.  SSL support requires the following steps (see the SSL Config
 HOWTO in the Tomcat 5 documentation bundle for more detailed
 instructions):
 * If your JDK version 1.3 or prior, download and install JSSE 1.0.2 or
   later, and put the JAR files into $JAVA_HOME/jre/lib/ext.
 * Execute:
 

cvs commit: jakarta-tomcat-catalina/catalina/src/bin service.bat

2005-05-05 Thread pero
pero2005/05/05 09:24:38

  Modified:catalina/src/bin service.bat
  Log:
  change log dir to catalina.base for better support multiinstances at one 
server.
  
  Revision  ChangesPath
  1.12  +4 -3  jakarta-tomcat-catalina/catalina/src/bin/service.bat
  
  Index: service.bat
  ===
  RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/bin/service.bat,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- service.bat   13 Nov 2004 19:03:26 -  1.11
  +++ service.bat   5 May 2005 16:24:38 -   1.12
  @@ -68,6 +68,7 @@
   rem Install the service
   echo Installing the service '%SERVICE_NAME%' ...
   echo Using CATALINA_HOME:%CATALINA_HOME%
  +echo Using CATALINA_BASE:%CATALINA_BASE%
   echo Using JAVA_HOME:%JAVA_HOME%
   
   rem Use the environment variables as an exaple
  @@ -75,7 +76,7 @@
   
   set PR_DESCRIPTION=Apache Tomcat Server - http://jakarta.apache.org/tomcat
   set PR_INSTALL=%EXECUTABLE%
  -set PR_LOGPATH=%CATALINA_HOME%\logs
  +set PR_LOGPATH=%CATALINA_BASE%\logs
   set PR_CLASSPATH=%CATALINA_HOME%\bin\bootstrap.jar
   rem Set the server jvm from JAVA_HOME
   set PR_JVM=%JAVA_HOME%\jre\bin\server\jvm.dll
  @@ -101,7 +102,7 @@
   rem Set extra parameters
   %EXECUTABLE% //US//%SERVICE_NAME% --JvmOptions 
-Dcatalina.base=%CATALINA_BASE%;-Dcatalina.home=%CATALINA_HOME%;-Djava.endorsed.dirs=%CATALINA_HOME%\common\endorsed
 --StartMode jvm --StopMode jvm
   rem More extra parameters
  -set PR_LOGPATH=%CATALINA_HOME%\logs
  +set PR_LOGPATH=%CATALINA_BASE%\logs
   set PR_STDOUTPUT=auto
   set PR_STDERROR=auto
   %EXECUTABLE% //US//%SERVICE_NAME% ++JvmOptions 
-Djava.io.tmpdir=%CATALINA_BASE%\temp --JvmMs 128 --JvmMx 256
  
  
  

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



cvs commit: jakarta-tomcat-catalina/webapps/docs changelog.xml

2005-05-05 Thread pero
pero2005/05/05 09:27:30

  Modified:webapps/docs changelog.xml
  Log:
  Doc service.bat change log dir to $CATALINA_BASE/logs
  
  Revision  ChangesPath
  1.304 +3 -0  jakarta-tomcat-catalina/webapps/docs/changelog.xml
  
  Index: changelog.xml
  ===
  RCS file: /home/cvs/jakarta-tomcat-catalina/webapps/docs/changelog.xml,v
  retrieving revision 1.303
  retrieving revision 1.304
  diff -u -r1.303 -r1.304
  --- changelog.xml 3 May 2005 14:29:25 -   1.303
  +++ changelog.xml 5 May 2005 16:27:30 -   1.304
  @@ -30,6 +30,9 @@
 subsection name=General
   changelog
 update
  +change log dir at service.bat to $CATALINA_BASE/logs for better 
multi instance support (pero)
  +  /update
  +  update
   bug33522/bug: Update jasper-howto to reflect use of javac 
switch. (yoavs)
 /update
 update
  
  
  

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



cvs commit: jakarta-tomcat-connectors/jk/xdocs/config workers.xml

2005-05-05 Thread mturk
mturk   2005/05/05 10:29:47

  Modified:jk/xdocs/config workers.xml
  Log:
  Better describe cachesize.
  
  Revision  ChangesPath
  1.17  +8 -6  jakarta-tomcat-connectors/jk/xdocs/config/workers.xml
  
  Index: workers.xml
  ===
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/xdocs/config/workers.xml,v
  retrieving revision 1.16
  retrieving revision 1.17
  diff -u -r1.16 -r1.17
  --- workers.xml   5 May 2005 15:59:10 -   1.16
  +++ workers.xml   5 May 2005 17:29:47 -   1.17
  @@ -151,15 +151,17 @@
   directive name=cachesize default=1 required=false
   Cachesize defines the number of connections made to the AJP backend that
   are maintained as a connection pool.
  -It does not limit the number of those connection. 
  +It will limit the number of those connection that each web server child
  +process can made.
   p
  -Cachesize property is useful when you're using JK in multi threaded 
  +Cachesize property is used only for multi threaded 
   web servers such as Apache 2.0 (worker), IIS and Netscape. The cachesize 
property
  -should reflect the number of threads per child process. The JK 1.2.8 will 
discover
  -the number of threads per child process on Apache 2 web server with 
worker-mpm.
  -For other web servers to will have to set that value manually.
  +should reflect the number of threads per child process. JK will discover
  +the number of threads per child process on Apache 2 web server with 
worker-mpm and set
  +its default value to match the ThreadsPerChild Apache directive. For IIS the 
default
  +value is 10. For other web servers this value has to be set manually.
   /p
  -warnDo not use cachesize with values higher then 1 on bprefork mpm/b 
or bapache 1.3.x/b!/warn
  +warnDo not use cachesize with values higher then 1 on bApache 2.x 
prefork/b or bApache 1.3.x/b!/warn
   /directive
   
   directive name=cache_timeout default=0 required=false
  
  
  

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



cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/ssi SSIFilter.java

2005-05-05 Thread markt
markt   2005/05/05 10:30:46

  Added:   catalina/src/share/org/apache/catalina/ssi SSIFilter.java
  Log:
  Forgot to add this new file with my commit for the recent SSI updates.
  
  Revision  ChangesPath
  1.1  
jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/ssi/SSIFilter.java
  
  Index: SSIFilter.java
  ===
  /*
   * Copyright 1999,2004 The Apache Software Foundation. Licensed under the
   * Apache License, Version 2.0 (the License); you may not use this file
   * except in compliance with the License. You may obtain a copy of the License
   * at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable
   * law or agreed to in writing, software distributed under the License is
   * distributed on an AS IS BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
   * KIND, either express or implied. See the License for the specific language
   * governing permissions and limitations under the License.
   */
  package org.apache.catalina.ssi;
  
  
  import java.io.ByteArrayInputStream;
  import java.io.ByteArrayOutputStream;
  import java.io.IOException;
  import java.io.InputStreamReader;
  import java.io.OutputStream;
  import java.io.OutputStreamWriter;
  import java.io.PrintWriter;
  import java.io.Reader;
  import java.io.Writer;
  import java.util.regex.Matcher;
  import java.util.regex.Pattern;
  
  import javax.servlet.Filter;
  import javax.servlet.FilterChain;
  import javax.servlet.FilterConfig;
  import javax.servlet.ServletException;
  import javax.servlet.ServletRequest;
  import javax.servlet.ServletResponse;
  import javax.servlet.http.HttpServletRequest;
  import javax.servlet.http.HttpServletResponse;
  
  import org.apache.catalina.Globals;
  /**
   * Filter to process SSI requests within a webpage. Mapped to a content types
   * from within web.xml.
   * 
   * @author David Becker
   * @version $Revision: 1.1 $, $Date: 2005/05/05 17:30:46 $
   * @see org.apache.catalina.ssi.SSIServlet
   */
  public class SSIFilter implements Filter {
protected FilterConfig config = null;
  /** Debug level for this servlet. */
  protected int debug = 0;
  /** Expiration time in seconds for the doc. */
  protected Long expires = null;
  /** virtual path can be webapp-relative */
  protected boolean isVirtualWebappRelative = false;
  /** regex pattern to match when evaluating content types */
protected Pattern contentTypeRegEx = null;
/** default pattern for ssi filter content type matching */
protected Pattern shtmlRegEx =
  Pattern.compile(text/x-server-parsed-html(;.*)?);
  
  
  //- Public methods.
  /**
   * Initialize this servlet.
   * 
   * @exception ServletException
   *if an error occurs
   */
  public void init(FilterConfig config) throws ServletException {
this.config = config;

  String value = null;
  try {
  value = config.getInitParameter(debug);
  debug = Integer.parseInt(value);
  } catch (Throwable t) {
  ;
  }
  try {
  value = config.getInitParameter(contentType);
  contentTypeRegEx = Pattern.compile(value);
  } catch (Throwable t) {
  contentTypeRegEx = shtmlRegEx;
  StringBuffer msg = new StringBuffer();
  msg.append(Invalid format or no contentType initParam; );
  msg.append(expected regular expression; defaulting to );
  msg.append(shtmlRegEx.pattern());
  config.getServletContext().log(msg.toString());
  }
  try {
  value = config.getInitParameter(
  isVirtualWebappRelative);
  isVirtualWebappRelative = Integer.parseInt(value)  0?true:false;
  } catch (Throwable t) {
  ;
  }
  try {
  value = config.getInitParameter(expires);
  expires = Long.valueOf(value);
  } catch (NumberFormatException e) {
  expires = null;
  config.getServletContext().log(
  Invalid format for expires initParam; expected integer 
(seconds)
  );
  } catch (Throwable t) {
  ;
  }
  if (debug  0)
  config.getServletContext().log(
  SSIFilter.init() SSI invoker started with 'debug'= + 
debug);
  }
  
  public void doFilter(ServletRequest request, ServletResponse response,
  FilterChain chain) throws IOException, ServletException {
  // cast once
  HttpServletRequest req = (HttpServletRequest)request;
  HttpServletResponse res = (HttpServletResponse)response;
  
  // indicate that we're in SSI processing
  req.setAttribute(Globals.SSI_FLAG_ATTR, true);   
 

DO NOT REPLY [Bug 33106] - SSI Processing Enhancements (patch provided)

2005-05-05 Thread bugzilla
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG·
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
http://issues.apache.org/bugzilla/show_bug.cgi?id=33106.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND·
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=33106





--- Additional Comments From [EMAIL PROTECTED]  2005-05-05 19:31 ---
My fault. I committed the other changes but forgot to add the new file. It is
done now.

-- 
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug, or are watching the assignee.

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



cvs commit: jakarta-tomcat-connectors/jk/native/common jk_util.c

2005-05-05 Thread mturk
mturk   2005/05/05 10:52:27

  Modified:jk/native/common jk_util.c
  Log:
  Use connection_pool_size as cachesize synonim.
  
  Revision  ChangesPath
  1.67  +2 -2  jakarta-tomcat-connectors/jk/native/common/jk_util.c
  
  Index: jk_util.c
  ===
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native/common/jk_util.c,v
  retrieving revision 1.66
  retrieving revision 1.67
  diff -u -r1.66 -r1.67
  --- jk_util.c 3 May 2005 13:26:13 -   1.66
  +++ jk_util.c 5 May 2005 17:52:27 -   1.67
  @@ -46,7 +46,7 @@
   #define PORT_OF_WORKER  (port)
   #define TYPE_OF_WORKER  (type)
   #define CACHE_OF_WORKER_DEPRECATED  (cachesize)
  -#define CACHE_OF_WORKER (connections_per_child)
  +#define CACHE_OF_WORKER (connection_pool_size)
   #define CACHE_TIMEOUT_OF_WORKER (cache_timeout)
   #define RECOVERY_OPTS_OF_WORKER (recovery_options)
   #define CONNECT_TIMEOUT_OF_WORKER   (connect_timeout)
  
  
  

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



DO NOT REPLY [Bug 34769] New: - ArrayIndexOutOfBoundsException occurs when reading more than 8192 bytes from the BufferedReader supplied by HttpServletRequest.getReader()

2005-05-05 Thread bugzilla
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG·
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
http://issues.apache.org/bugzilla/show_bug.cgi?id=34769.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND·
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=34769

   Summary: ArrayIndexOutOfBoundsException occurs when reading more
than 8192 bytes from the BufferedReader supplied by
HttpServletRequest.getReader()
   Product: Tomcat 5
   Version: 5.5.4
  Platform: PC
OS/Version: Windows XP
Status: NEW
  Severity: normal
  Priority: P3
 Component: Catalina:Modules
AssignedTo: tomcat-dev@jakarta.apache.org
ReportedBy: [EMAIL PROTECTED]


Well...I can supply quite a bit of info, but I can't say you'll have an easy 
time reproducing the problem.

First off, let me provide you with the exception that we experienced.

java.lang.ArrayIndexOutOfBoundsException
at java.lang.System.arraycopy(Native Method)
at org.apache.tomcat.util.buf.CharChunk.append(CharChunk.java:298)
at org.apache.tomcat.util.buf.B2CConverter.convert
(B2CConverter.java:97)
at org.apache.tomcat.util.buf.B2CConverter.convert
(B2CConverter.java:76)
at org.apache.catalina.connector.InputBuffer.realReadChars
(InputBuffer.java:339)
at org.apache.tomcat.util.buf.CharChunk.substract(CharChunk.java:384)
at org.apache.catalina.connector.InputBuffer.read(InputBuffer.java:350)
at org.apache.catalina.connector.CoyoteReader.read
(CoyoteReader.java:80)
at com.spicer.jdl.MatrixXMLSerializable.decodeMime64
(MatrixXMLSerializable.java:142)
at com.spicer.jdl.MatrixXMLSerializable.parseMime64
(MatrixXMLSerializable.java:523)
at com.spicer.jdl.MatrixXMLSerializable.decodeByteArrayRaw
(MatrixXMLSerializable.java:710)
at com.spicer.jdl.MatrixXMLSerializable.decodeByteArray
(MatrixXMLSerializable.java:641)
at com.spicer.jdl.MatrixXMLDispatch.dispatch_ClientWrapperServer
(MatrixXMLDispatch.java:109)
at com.spicer.jdl.MatrixXMLDispatch.dispatch(MatrixXMLDispatch.java:62)
at com.spicer.servlet.MatrixXMLServlet.doPost(Unknown Source)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
(ApplicationFilterChain.java:237)
at org.apache.catalina.core.ApplicationFilterChain.doFilter
(ApplicationFilterChain.java:157)
at org.apache.catalina.core.StandardWrapperValve.invoke
(StandardWrapperValve.java:214)
at org.apache.catalina.core.StandardContextValve.invoke
(StandardContextValve.java:178)
at org.apache.catalina.core.StandardHostValve.invoke
(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke
(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke
(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service
(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process
(Http11Processor.java:825)
at 
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnecti
on(Http11Protocol.java:731)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket
(PoolTcpEndpoint.java:526)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt
(LeaderFollowerWorkerThread.java:80)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run
(ThreadPool.java:684)
at java.lang.Thread.run(Thread.java:595)


This exception occurred in Tomcat 5.5.4 whenever we had a larger post to the 
servlet.

We have a java based client-server product that uses a servlet when being 
deployed for internet use.  Essentially, the client converts the calls into an 
XML stream which it posts to the servlet (called MatrixXMLServlet) that then 
converts the data back into an RMI call for the server portion of the product.

This servlet has been in use, unchanged, for nearly 4 years and hasn't caused 
an error until now.  It works fine with versions of Tomcat before 5.0, but 
doesn't with 5.5 (I'm not 100% sure about 5.0 so I'll leave it out).

Using the FAQ as a guide, I searched for solutions and/or others with the same 
problem, but was unable to find anything.  So, I traced through the Tomcat 
source code to see if I could understand the problem...and I'm convinced (with 
little doubt) that there is a Tomcat bug...but I'm not sure what causes the 
classes to be set up this way.  So...I'll describe what I found...maybe it 
will help.

First of all, the doPost() in MatrixXMLServlet does a getReader() on the 
HttpServletRequest it is passed, and this reader is then set in the 
MatrixXMLSerializable object.  Then, in the decodeMime64() 

DO NOT REPLY [Bug 32330] - JspC changes context classloader

2005-05-05 Thread bugzilla
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG·
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
http://issues.apache.org/bugzilla/show_bug.cgi?id=32330.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND·
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=32330


[EMAIL PROTECTED] changed:

   What|Removed |Added

 CC||[EMAIL PROTECTED]




-- 
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug, or are watching the assignee.

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



DO NOT REPLY [Bug 31903] - WebappClassLoader fails to load class form local repository

2005-05-05 Thread bugzilla
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG·
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
http://issues.apache.org/bugzilla/show_bug.cgi?id=31903.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND·
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=31903


[EMAIL PROTECTED] changed:

   What|Removed |Added

 CC||[EMAIL PROTECTED]




-- 
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug, or are watching the assignee.

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



cvs commit: jakarta-tomcat-connectors/jk/native/common jk_lb_worker.c

2005-05-05 Thread pero
pero2005/05/05 12:48:03

  Modified:jk/native/common jk_lb_worker.c
  Log:
  Fix the sepcial only one worker case with stopped flag.
  When disabled is true also new session can be created!!
  
  Revision  ChangesPath
  1.82  +2 -2  jakarta-tomcat-connectors/jk/native/common/jk_lb_worker.c
  
  Index: jk_lb_worker.c
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-connectors/jk/native/common/jk_lb_worker.c,v
  retrieving revision 1.81
  retrieving revision 1.82
  diff -u -r1.81 -r1.82
  --- jk_lb_worker.c5 May 2005 15:40:17 -   1.81
  +++ jk_lb_worker.c5 May 2005 19:48:03 -   1.82
  @@ -442,7 +442,7 @@
   retry_worker(p-lb_workers[0], p-s-recover_wait_time, l);
   }
   /* Check if worker is marked for retry */
  -if (!p-lb_workers[0].s-in_error_state) {
  +if(!p-lb_workers[0].s-in_error_state  
!p-lb_workers[0].s-is_stopped) {
   p-lb_workers[0].r = (p-lb_workers[0].s-name[0]);
   JK_TRACE_EXIT(l);
   return p-lb_workers[0];
  
  
  

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



cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/ssi ResponseIncludeWrapper.java SSIFilter.java

2005-05-05 Thread markt
markt   2005/05/05 13:52:37

  Modified:catalina/src/share/org/apache/catalina/ssi
ResponseIncludeWrapper.java SSIFilter.java
  Log:
  Improve the SSIFilter's handling of pages with non-default encoding.
  
  Revision  ChangesPath
  1.7   +6 -2  
jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/ssi/ResponseIncludeWrapper.java
  
  Index: ResponseIncludeWrapper.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/ssi/ResponseIncludeWrapper.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- ResponseIncludeWrapper.java   23 Apr 2005 10:22:37 -  1.6
  +++ ResponseIncludeWrapper.java   5 May 2005 20:52:37 -   1.7
  @@ -12,6 +12,7 @@
   
   
   import java.io.IOException;
  +import java.io.OutputStreamWriter;
   import java.io.PrintWriter;
   
   import javax.servlet.ServletContext;
  @@ -94,7 +95,10 @@
   public PrintWriter getWriter() throws java.io.IOException {
   if (servletOutputStream == null) {
   if (printWriter == null) {
  -printWriter = new PrintWriter(captureServletOutputStream);
  +setCharacterEncoding(getCharacterEncoding());
  +printWriter = new PrintWriter(
  +new OutputStreamWriter(captureServletOutputStream,
  +   getCharacterEncoding()));
   }
   return printWriter;
   }
  
  
  
  1.2   +5 -5  
jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/ssi/SSIFilter.java
  
  Index: SSIFilter.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/ssi/SSIFilter.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- SSIFilter.java5 May 2005 17:30:46 -   1.1
  +++ SSIFilter.java5 May 2005 20:52:37 -   1.2
  @@ -133,21 +133,21 @@
   
   // is this an allowed type for SSI processing?
   if (contentTypeRegEx.matcher(contentType).matches()) {
  +String encoding = res.getCharacterEncoding();
   
   // set up SSI processing 
   SSIExternalResolver ssiExternalResolver =
   new SSIServletExternalResolver(config.getServletContext(), 
req,
  -res, isVirtualWebappRelative, debug,
  -res.getCharacterEncoding());
  +res, isVirtualWebappRelative, debug, encoding);
   SSIProcessor ssiProcessor = new SSIProcessor(ssiExternalResolver,
   debug);
   
   // prepare readers/writers
   Reader reader =
  -new InputStreamReader(new ByteArrayInputStream(bytes));
  +new InputStreamReader(new ByteArrayInputStream(bytes), 
encoding);
   ByteArrayOutputStream ssiout = new ByteArrayOutputStream();
   PrintWriter writer =
  -new PrintWriter(new OutputStreamWriter(ssiout));
  +new PrintWriter(new OutputStreamWriter(ssiout, encoding));
   
   // do SSI processing  
   long lastModified = ssiProcessor.process(reader,
  
  
  

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



Is it possible to stop removal/extraction of ;jsessionid=XXX from incoming URI?

2005-05-05 Thread Jedidiah Northridge
Hi,

I'm using 5.0.28, and I'm seeing that parseSessionID() in
o.a.t5.CoyoteAdapter will parse and then remove ;jsessionid=XXX from a
URI if it is present.  When I look at the code, I see no way to stop
this from happening.

Further, when I read your comments, this extraction may need to take
place in order to properly map an incoming request:

(Source: CoyoteAdapter's postParseRequest method, ~line 268, after
parseSessionId invocation):
// Remove any remaining parameters (other than session id, which has
// already been removed in parseSessionId()) from the URI, so they
// won't be considered by the mapping algorithm.

Is it possible, with an out-of-the-box 5.0.28, to get a request
through a Connector into an Engine without removing the
;jsessionid=whatever from the associated URI?

If not with 5.0.28, is it possible with a later version of Tomcat?  If
not with a later version, will it ever be possible, or is the
functionality of not removing ;jsessionid in the category of
unneeded, unwanted feature bloat?

Thank you,

Jed Northridge

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



DO NOT REPLY [Bug 34769] - ArrayIndexOutOfBoundsException occurs when reading more than 8192 bytes from the BufferedReader supplied by HttpServletRequest.getReader()

2005-05-05 Thread bugzilla
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG·
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
http://issues.apache.org/bugzilla/show_bug.cgi?id=34769.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND·
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=34769





--- Additional Comments From [EMAIL PROTECTED]  2005-05-06 02:19 ---
I'm guessing that this is a problem with Tomcat not abandoning the mark 
properly, but haven't confirmed it yet.

If you try setting a mark on your test case, it might help in getting a 
reproducable case to test this.

-- 
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug, or are watching the assignee.

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