Re: [4.1.x] Next release
Hello, About the 4.1.25 tagging which is taking place. What is going to be the status of http gzip compression in 4.1.25? See bug 18073. Or will there follow a 4.1.26-BETA in the near future with some enhanced functionality? Greetings, Ronald. On Wednesday 02 April 2003 11:37, Remy Maucherat wrote: > Hi, > > As far as I am concerned, the focus for the next stable 4.1.x release > will be on small fixes. I do not want to introduce new features or > changes which would affect Tomcat's behavior. I think the ETA for that > next stable release could be within one to two months. > > So I would need to compile a list of issues which should be fixed in the > next release. > > As a starting point: > - Fix HTTP compression check (I think a small refactoring is needed to > make the feature cleaner). > - Fix FORM processing for more complex requests (bug 10229). > - Error message when the Java compiler is not found by Ant (if this is > fixable; Costin ?). > - Double wrapping of session objects. > > I'm waiting for some input to fill up the list. Note that for low > priority bugs, a patch will be required. The patch would need to: > - have a low impact > - be of good quality (no performance/scalability impact, clean code) > > Thanks, > Remy > > > - > 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: decrease idle threads in the pool faster...
Carlos RodrÃguez Colino wrote: Hi all... I have just installed Tomcat 4.1 on a Solaris box and I have realized a surprising effect: Thread pool creates new threads quickly when a request burst arrives, but the freeing when they become idle is very slow (besides, the computer is almost full cpu loaded). Due to this, several bursts carry out reaching the max number of processes, and Tomcat stops working. My intention is to force idle recent-used threads (lwp in Solaris) to be killed in a shorter period of time in order to mantain almost constant the number of lwps in the pool. So, I was going to dive into CoyoteConnector code to discover and decrease any freeing timeout of the idle threads, but perhaps some of you can guide me better to get what I need. I didn't look in the code recently, but doesn't the threads do a wait() and get a notify() when there is a new request/connection? In that case you can do a wait(timeout) and after wait returns check if it is woken up for a new request/connection or because of the timeout. If it's the timeout, you can end the thread. Just a thought. Greetings, Ronald. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [5.0] Upcoming action items
On Monday 30 June 2003 23:25, Remy Maucherat wrote: > Bill Barker wrote: > >>I was thinking a two week timeframe for 4.1.25. Are all the patches > >>needed already there ? > > > > If we're still using coyote_10, then there are a few things I need to > > port from HEAD (e.g. the "//" fix for mod_jk). > > Yep, coyote_10 is still used there. I think it would be a big change to > switch (it would require JMX, among other things). > Is the timeframe I've given for 4.1.25 too long ? (I have to admit that, > although I have setup my environment for TC 5 on my desktop, I need to > setup 4.1.x again) I can release it at the end of this week if needed. Is there a list of features/bugfixes which will go into 4.1.25? Is there a place to do suggestions? Greetings, Ronald. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Patches for catalina.sh
And while your at it can you look at the double '=' in: > + -Djava.security.policy=="$CATALINA_BASE"/conf/catalina.policy \ See: http://nagoya.apache.org/bugzilla/show_bug.cgi?id=20859. Greetings, Ronald. Noel J. Bergman wrote: The attached patches are for catalina.sh under both the jakarta-tomcat-4 and jakarta-catalina modules. They re-synch changes made to one and not the other, and add a default for CATALINA_PID. Tomcat 4 (http://cvs.apache.org/viewcvs.cgi/jakarta-tomcat-4.0/catalina/src/bin/catal ina.sh): - adds Costin's -force patch from Tomcat 5 CVS - removed "exec" from stop so that force runs after an attempt to shutdown - adds CATALINA_PID default Tomcat 5 (http://cvs.apache.org/viewcvs.cgi/jakarta-tomcat-catalina/catalina/src/bin/ catalina.sh): - adds Robert Upshall's patch for OS/400 - removed "exec" from stop so that force runs after an attempt to shutdown - adds CATALINA_PID default - changed $@ to $@ to match Tomcat 5 Bootstrap.main() [String command = args[0];] http://cvs.apache.org/viewcvs.cgi/jakarta-tomcat-catalina/catalina/src/share /org/apache/catalina/startup/Bootstrap.java Bug(lets): - Tomcat 4 likes to ignore the command and display a usage message for unknown options. Causes problem with -force. - If shutdown port == zero, shutdown request should not try to connect. Problem with both versions. I'm not subscribed to tomcat-dev@, so please cc: me on any replies. --- Noel --- catalina-4.sh 2003-06-24 17:30:56.0 -0400 +++ catalina-4-new.sh 2003-06-24 23:26:48.0 -0400 @@ -112,12 +112,18 @@ CATALINA_TMPDIR="$CATALINA_BASE"/temp fi +if [ -z "$CATALINA_PID" ] ; then + # Define the pid file for Catalina + CATALINA_PID="$CATALINA_BASE"/work/catalina.pid +fi + # For Cygwin, switch paths to Windows format before running java if $cygwin; then JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"` CATALINA_HOME=`cygpath --path --windows "$CATALINA_HOME"` CATALINA_BASE=`cygpath --path --windows "$CATALINA_BASE"` CATALINA_TMPDIR=`cygpath --path --windows "$CATALINA_TMPDIR"` + CATALINA_PID=`cygpath --path --windows "$CATALINA_PID"` CLASSPATH=`cygpath --path --windows "$CLASSPATH"` JSSE_HOME=`cygpath --path --windows "$JSSE_HOME"` fi @@ -244,13 +250,23 @@ elif [ "$1" = "stop" ] ; then shift - exec "$_RUNJAVA" $JAVA_OPTS $CATALINA_OPTS \ + "$_RUNJAVA" $JAVA_OPTS $CATALINA_OPTS \ -Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" -classpath "$CLASSPATH" \ -Dcatalina.base="$CATALINA_BASE" \ -Dcatalina.home="$CATALINA_HOME" \ -Djava.io.tmpdir="$CATALINA_TMPDIR" \ org.apache.catalina.startup.Bootstrap "$@" stop + if [ "$1" = "-force" ] ; then +echo "Forcing Shutdown" +shift +if [ -f "$CATALINA_PID" ]; then + echo "Killing: `cat $CATALINA_PID`" + kill -9 `cat $CATALINA_PID` > /dev/null + rm -f "$CATALINA_PID" +fi + fi + else echo "Usage: catalina.sh ( commands ... )" @@ -269,6 +285,7 @@ echo " start Start Catalina in a separate window" echo " start -security Start in a separate window with security manager" echo " stop Stop Catalina" + echo " stop -force Stop Catalina -- kill process if necessary" exit 1 fi --- catalina-5.sh 2003-06-12 03:58:24.0 -0400 +++ catalina-5-new.sh 2003-06-24 23:29:30.0 -0400 @@ -40,8 +40,10 @@ # OS specific support. $var _must_ be set to either true or false. cygwin=false +os400=false case "`uname`" in CYGWIN*) cygwin=true;; +OS400*) os400=true;; esac # resolve links - $0 may be a softlink @@ -68,10 +70,23 @@ if $cygwin; then [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"` [ -n "$CATALINA_HOME" ] && CATALINA_HOME=`cygpath --unix "$CATALINA_HOME"` + [ -n "$CATALINA_BASE" ] && CATALINA_BASE=`cygpath --unix "$CATALINA_BASE"` [ -n "$CLASSPATH" ] && CLASSPATH=`cygpath --path --unix "$CLASSPATH"` [ -n "$JSSE_HOME" ] && JSSE_HOME=`cygpath --path --unix "$JSSE_HOME"` fi +# For OS400 +if $os400; then + # Set job priority to standard for interactive (interactive - 6) by using + # the interactive priority - 6, the helper threads that respond to requests + # will be running at the same priority as interactive jobs. + COMMAND='chgjob job('$JOBNAME') runpty(6)' + system $COMMAND + + # Enable multi threading + export QIBM_MULTI_THREADED=Y +fi + # Get standard Java environment variables if [ -r "$CATALINA_HOME"/bin/setclasspath.sh ]; then BASEDIR="$CATALINA_HOME" @@ -97,12 +112,18 @@ CATALINA_TMPDIR="$CATALINA_BASE"/temp fi +if [ -z "$CATALINA_PID" ] ; then + # Define the pid file for Catalina + CATALINA_PID="$CATALINA_BASE"/work/catalina.pid +fi + # For Cygwin, switch paths to Windows format before running java if $cygwin; then JAVA_HOME=`cygpath --path -
tagpool wrong constructor?
Hello, In a pre-compiled jsp the following constructor of TagHandlerPool is called. public searchagenda_jsp() { _jspx_tagPool_bn_getConnection_id_database = new org.apache.jasper.runtime.TagHandlerPool(); } But in the code of TagHandlerPool this is noted: public TagHandlerPool() { // Nothing - jasper generated servlets call the other constructor, // this should be used in future + init . } Is this correct behaviour? Or do I mis something? Greetings, Ronald. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
maxThreads reached
Hello, Sometimes I get the error 'maxThreads reached...'. Is there a way to see which requests are being processed at that moment? This could really help in debugging and analyzing this. Or a possibility to write a dump of actice requests to the log. Greetings, Ronald. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [VOTE] [4.1.24] Stability rating
Remy Maucherat wrote: [ ] Alpha [ ] Beta [ ] Stable (GA) Remy Maybe bug 18073 can be solved before this. It's a trivial solution for making compression="on" working. But is's not a critical bug. And maybe text/css and text/javascript can be added to compressableMimeTypes in http11/src/java/org/apache/coyote/http11/Http11Processor.java. Is there a rule about who may vote? Do you have to be a committer or not? Greetings, Ronald. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
jspc packaging fails?
Hello, I'm trying the 'packaged jsp' of jspc. And I hope I understand it well. Using ant 1.5.2 and Tomcat 4.1.21: While http-getting /progs/broker/searchobject.jsp I get the next error: javax.servlet.ServletException: org/apache/jsp/searchobject_jsp (wrong name: progs/broker/searchobject_jsp) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:249) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) ROOT CAUSE: java.lang.NoClassDefFoundError: org/apache/jsp/searchobject_jsp (wrong name: progs/broker/searchobject_jsp) at java.lang.ClassLoader.defineClass0(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:502) at java.lang.ClassLoader.defineClass(ClassLoader.java:431) at org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:215) Do I understand that this new jspc compiles the jsp's in there own package and that tomcat can handle this? Or does the packaged jsp in the RELEASE NOTES mean something else? I also tried it with the jspc.bat from tomcat, but got the same error. How do other people do this and do they have succes with it? Greetings, Ronald. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Users get wrong session after reload.
Hello, We are using Tomcat 4.1.18 here. If we reload our application, sometimes a user gets a session of somebody else. Big problem. I think the problem is here: In ...catalina.session.JDBCStore.java, line 507, there is this code. preparedLoadSql.setString(1, id); rst = preparedLoadSql.executeQuery(); Is this thread safe? Isn't this better? synchronized(preparedLoadSql) { preparedLoadSql.setString(1, id); rst = preparedLoadSql.executeQuery(); } Any suggestions? If this isn't the cause of the problem, what can be the cause? Because it's a race condition it's difficault to debug. Greetings, Ronald. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: BASIC authentication in Tomcat+IIS (one useful information)
Hello, I investigated the same problem (the 403 error) yesterday. Tomcat authentication worked after I configured IIS to not use NT authentication, but only anonymous access. IIS will ignore any authentication headers and pass them to Tomcat then. In IIS manager rightclick on the host and edit the 'directory security' tab. I was using tomcat 4.1.12 with AJP1.3 and the JK (version 1) connector. Hope this solves your problem too. Greetings, Ronald. Luca Ventura wrote: Hello! I have another useful information about the problem described below that I have posted some day ago wihout receiving no solution for it :((( If I use Tomcat 4.x as Web Server (standalone mode), instead of IIS, the BASIC Authentication works well also on Server 1! This means there must be some strange setting in IIS or in Windows 2000 Advanced Server that forces the Tomcat's ISAPI filter (that is to say when Tomcat is used only as Servlet Container) not to ask for login and password to the user but to get their values directly from the system. I hope someone can help me. Best regards, Luca -Messaggio originale- Da: Luca Ventura [mailto:ventluca@;tiscali.it] Inviato: martedì 29 ottobre 2002 12.12 A: tomcat-dev Oggetto: BASIC authentication in Tomcat+IIS Hello everybody! I have the following GREAT problem with basic authentication in Tomcat I have two servers configured as follows: Server 1: Operating system: Windows 2000 Advanced Server Web Server: IIS 5.0 Servlet Container: Tomcat 4.x Server 2: Windows XP Professional Web Server: IIS 5.0 Servlet Container: Tomcat 4.x Server 2 is not connected to the Internet but it is used to test web applications before passing them in the production environment deployed in Server 1. In fact Server 1 is connected to the Internet and contains all the final versions of Web Applications. So I connect to Server 1 using a real domain name (for example: www.mydomain.com) while I connect to Server 2 using "localhost". In both Servers I use Tomcat 4.x as Servlet Container and Micrososft IIS 5 as Web Server. I installed the ISAPI filter to redirect to Tomcat all the requests to Servlet/JSP pages or to web sites based on such java-technologies. I have tried to protect some Servlet/jsp-pages using basic authentication of Tomcat. So I configured the following tomcat files in such way: server.xml: ... ... tomcat-users.xml: web.xml: Autenticazione Tomcat Protected Area /MyServlet adminrole BASIC Autenticazione Tomcat Server.xml and tomcat-users.xml are present in /conf folder of Tomcat, while web.xml in the WEB-INF folder of the web application that contains the resource (in this case the servlet "MyServlet") that I want to protect. All works fine in Server 2 (localhost): in fact when I connect to the protected resource (servlet "MyServlet")Tomcat asks me in a window the login and the password to access to the resource. The problem appears after moving my application in Server 2 (production environment) because when I try to connect to the protected servlet I receive from Tomcat the following error page: Apache Tomcat/4.0.4-b3 - HTTPS Status 403 - Access to the requested resource has been denied type: Status report message: Access to the requested resource has been denied description: Access to the specified resource (Access to the requested resource has been denied) has been forbidden. The strange thing is that Tomcat, before showing the error page, doesn't ask to me for the login and the password to access the resource (as in the first case). It seems that IIS passes automatically an internal login and password to Tomcat to access to the protected resource: given that they are not correct I receive an error message from Tomcat. Anyway I am not sure of this but I suspect that the problem is in Windows 2000 Advanced Server because when I try to access to Server 2, where there is Windows XP installed , all works fine. I have heard that this problem could occur in Windows 2000 only when realm authentication is not set in IIS, but i am not sure and in any case I have no idea how to set realm authentication in IIS. I hope someone can help me to solve this problem. Thanks a lot in advance! Luca -- To unsubscribe, e-mail: For additional commands, e-mail: -- Ronald Klop, Amsterdam, The Netherlands --> Remove the 'not4mail.' from the e-mail address before replying. <-- msg36072/pgp0.pgp Description: PGP signature