cvs commit: jakarta-tomcat-connectors/jni/examples/org/apache/tomcat/jni Echo.java
mturk 2005/04/13 23:46:28 Modified:jni/examples/org/apache/tomcat/jni Echo.java Log: Update Examples for a slightly changed api. Revision ChangesPath 1.2 +10 -8 jakarta-tomcat-connectors/jni/examples/org/apache/tomcat/jni/Echo.java Index: Echo.java === RCS file: /home/cvs/jakarta-tomcat-connectors/jni/examples/org/apache/tomcat/jni/Echo.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- Echo.java 5 Feb 2005 12:34:47 - 1.1 +++ Echo.java 14 Apr 2005 06:46:28 - 1.2 @@ -89,6 +89,7 @@ while (true) { long clientSock = Socket.accept(serverSock, pool); System.out.println(Accepted id: + i); +Socket.timeoutSet(clientSock, 1000); Worker worker = new Worker(clientSock, i++, this.getClass().getName()); Echo.incThreads(); @@ -110,7 +111,7 @@ try { pool = Pool.create(Echo.echoPool); -serverPollset = Poll.create(16, pool, 0); +serverPollset = Poll.create(16, pool, 0, 1000); } catch( Exception ex ) { ex.printStackTrace(); @@ -119,7 +120,7 @@ public void add(long socket, int workerId) { int rv = Poll.add(serverPollset, socket, workerId, - Poll.APR_POLLIN, 0); + Poll.APR_POLLIN); if (rv == Status.APR_SUCCESS) { System.out.println(Added worker + workerId + to pollset); nsocks++; @@ -150,7 +151,8 @@ for (int n = 0; n rv; n++) { long clientSock = Poll.socket(desc[n]); int workerId = (int)Poll.data(desc[n]); -remove(clientSock, workerId); +System.out.println(Poll flags + Poll.events(desc[n])); +remove(clientSock, workerId); Worker worker = new Worker(clientSock, workerId, this.getClass().getName()); Echo.incThreads(); @@ -188,10 +190,10 @@ public void run() { boolean doClose = false; try { -Socket.send(clientSock, wellcomeMsg, wellcomeMsg.length); +Socket.send(clientSock, wellcomeMsg, 0, wellcomeMsg.length); /* Do a blocking read byte at a time */ byte [] buf = new byte[1]; -while (Socket.recv(clientSock, buf, 1) == 1) { +while (Socket.recv(clientSock, buf, 0, 1) == 1) { if (buf[0] == '\n') break; else if (buf[0] == 'Q') { @@ -202,7 +204,7 @@ if (doClose) { try { byte [] msg = (Bye from worker: + workerId + \r\n).getBytes(); -Socket.send(clientSock, msg, msg.length); +Socket.send(clientSock, msg, 0, msg.length); } catch(Exception e) { } Socket.close(clientSock); @@ -210,7 +212,7 @@ else { try { byte [] msg = (Recycling worker: + workerId + \r\n).getBytes(); -Socket.send(clientSock, msg, msg.length); +Socket.send(clientSock, msg, 0, msg.length); } catch(Exception e) { } /* Put the socket to the keep-alive poll */ Echo.echoPoller.add(clientSock, workerId); - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: jakarta-tomcat-connectors/jni/native/src network.c poll.c
mturk 2005/04/13 23:47:56 Modified:jni/java/org/apache/tomcat/jni Poll.java jni/native/src network.c poll.c Log: Add time to live to socket Poller, so we can maintain resources. The returned descriptor will be returned with APR_POOLIN + APR_POLLHUP in case the recycle is needed. Revision ChangesPath 1.5 +3 -3 jakarta-tomcat-connectors/jni/java/org/apache/tomcat/jni/Poll.java Index: Poll.java === RCS file: /home/cvs/jakarta-tomcat-connectors/jni/java/org/apache/tomcat/jni/Poll.java,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- Poll.java 13 Apr 2005 13:16:55 - 1.4 +++ Poll.java 14 Apr 2005 06:47:56 - 1.5 @@ -60,9 +60,10 @@ * @param size The maximum number of descriptors that this pollset can hold * @param p The pool from which to allocate the pollset * @param flags Optional flags to modify the operation of the pollset. + * @param ttl Maximum time to live for a particular socket. * @return The pointer in which to return the newly created object */ -public static native long create(int size, long p, int flags) +public static native long create(int size, long p, int flags, long ttl) throws Error; /** * Destroy a pollset object @@ -98,8 +99,7 @@ * @return Number of signalled descriptors (output parameter) */ public static native int poll(long pollset, long timeout, - long [] descriptors) -throws Error; + long [] descriptors); /** * Return socket from poll descriptor 1.4 +6 -6 jakarta-tomcat-connectors/jni/native/src/network.c Index: network.c === RCS file: /home/cvs/jakarta-tomcat-connectors/jni/native/src/network.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- network.c 13 Apr 2005 13:17:42 - 1.3 +++ network.c 14 Apr 2005 06:47:56 - 1.4 @@ -183,7 +183,7 @@ UNREFERENCED(o); apr_socket_opt_get(s, APR_SO_NONBLOCK, nb); if (tosend 0) -nbytes = min(nbytes, (apr_size_t)tosend); +nbytes = min(nbytes - offset, (apr_size_t)tosend); if (nb) bytes = (*e)-GetPrimitiveArrayCritical(e, buf, NULL); else @@ -213,7 +213,7 @@ goto cleanup; } if (len 0) -nbytes = min(nbytes, (apr_size_t)len); +nbytes = min(nbytes - offset, (apr_size_t)len); TCN_THROW_IF_ERR(apr_socket_send(s, bytes + offset, nbytes), nbytes); cleanup: @@ -264,7 +264,7 @@ UNREFERENCED(o); apr_socket_opt_get(s, APR_SO_NONBLOCK, nb); if (tosend 0) -nbytes = min(nbytes, (apr_size_t)tosend); +nbytes = min(nbytes - offset, (apr_size_t)tosend); if (nb) bytes = (*e)-GetPrimitiveArrayCritical(e, buf, NULL); else @@ -288,7 +288,7 @@ UNREFERENCED(o); if (toread 0) -nbytes = min(nbytes, (apr_size_t)toread); +nbytes = min(nbytes - offset, (apr_size_t)toread); TCN_THROW_IF_ERR(apr_socket_recv(s, bytes + offset, nbytes), nbytes); @@ -314,7 +314,7 @@ goto cleanup; } if (len 0) -nbytes = min(nbytes, (apr_size_t)len); +nbytes = min(nbytes - offset, (apr_size_t)len); TCN_THROW_IF_ERR(apr_socket_recv(s, bytes + offset, nbytes), nbytes); @@ -333,7 +333,7 @@ UNREFERENCED(o); if (toread 0) -nbytes = min(nbytes, (apr_size_t)toread); +nbytes = min(nbytes - offset, (apr_size_t)toread); TCN_THROW_IF_ERR(apr_socket_recvfrom(f, s, (apr_int32_t)flags, bytes + offset, nbytes), nbytes); 1.4 +83 -17jakarta-tomcat-connectors/jni/native/src/poll.c Index: poll.c === RCS file: /home/cvs/jakarta-tomcat-connectors/jni/native/src/poll.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- poll.c13 Apr 2005 13:17:42 - 1.3 +++ poll.c14 Apr 2005 06:47:56 - 1.4 @@ -18,55 +18,86 @@ #include apr_poll.h #include tcn.h +/* Internal poll structure for queryset + */ + +typedef struct tcn_pollset { +apr_pool_t*pool; +apr_int32_t nelts; +apr_int32_t nalloc; +apr_pollset_t *pollset; +apr_pollfd_t *query_set; +apr_time_t*query_add; +apr_interval_time_t max_ttl; +} tcn_pollset_t; TCN_IMPLEMENT_CALL(jlong, Poll, create)(TCN_STDARGS, jint size, -jlong pool, jint flags) +jlong pool,
[GUMP@brutus]: Project jakarta-tomcat-jasper_tc5 (in module jakarta-tomcat-jasper_tc5) failed
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-jasper_tc5 has an issue affecting its community integration. This issue affects 14 projects, and has been outstanding for 8 runs. The current state of this project is 'Failed', with reason 'Build Failed'. For reference only, the following projects are affected by this: - avalon-http-context : Avalon SVN - avalon-http-demo : Avalon SVN - avalon-http-examples : Avalon SVN - avalon-http-impl : Avalon SVN - avalon-http-server : Avalon SVN - avalon-http-servlet : Avalon SVN - avalon-http-static : Avalon SVN - avalon-http-test : Avalon SVN - avalon-planet-facilities : Avalon SVN - jakarta-tomcat-5 : Servlet 2.4 and JSP 2.0 Reference Implementation - jakarta-tomcat-catalina : Servlet 2.4 Reference Implementation - jakarta-tomcat-jasper_tc5 : JavaServer Pages JSP 2.0 implementation (for Tomcat 5.x) - jakarta-tomcat-jk : Connectors to various web servers - metro-reflector-blocks-complete : Avalon SVN Full details are available at: http://brutus.apache.org/gump/public/jakarta-tomcat-jasper_tc5/jakarta-tomcat-jasper_tc5/index.html That said, some information snippets are provided here. The following annotations (debug/informational/warning/error messages) were provided: -DEBUG- Output [jasper-runtime.jar] identifier set to output basename: [jasper-runtime] -DEBUG- Output [jasper-compiler.jar] identifier set to output basename: [jasper-compiler] -DEBUG- Dependency on ant exists, no need to add for property ant.jar. -INFO- Failed with reason build failed -DEBUG- Extracted fallback artifacts from Gump Repository The following work was performed: http://brutus.apache.org/gump/public/jakarta-tomcat-jasper_tc5/jakarta-tomcat-jasper_tc5/gump_work/build_jakarta-tomcat-jasper_tc5_jakarta-tomcat-jasper_tc5.html Work Name: build_jakarta-tomcat-jasper_tc5_jakarta-tomcat-jasper_tc5 (Type: Build) Work ended in a state of : Failed Elapsed: 4 secs Command Line: java -Djava.awt.headless=true -Xbootclasspath/p:/usr/local/gump/public/workspace/xml-xerces2/java/build/xercesImpl.jar org.apache.tools.ant.Main -Dgump.merge=/home/gump/workspaces2/public/gump/work/merge.xml -Dbuild.sysclasspath=only -Djsp-api.jar=/usr/local/gump/public/workspace/jakarta-servletapi-5/jsr152/dist/lib/jsp-api.jar -Dcommons-el.jar=/usr/local/gump/public/workspace/jakarta-commons/el/dist/commons-el.jar -Djasper-compiler-jdt.jar=/usr/local/gump/packages/eclipse-3.0.1/plugins/org.eclipse.jdt.core_3.0.1/jdtcore.jar -Dant.jar=/usr/local/gump/public/workspace/ant/dist/lib/ant.jar -Dservlet-api.jar=/usr/local/gump/public/workspace/jakarta-servletapi-5/jsr154/dist/lib/servlet-api.jar -Dcompile.source=1.4 dist [Working Directory: /usr/local/gump/public/workspace/jakarta-tomcat-jasper_tc5/jasper2] CLASSPATH: /opt/jdk1.4/lib/tools.jar:/usr/local/gump/public/workspace/ant/dist/lib/ant-jmf.jar:/usr/local/gump/public/workspace/ant/dist/lib/ant-swing.jar:/usr/local/gump/public/workspace/ant/dist/lib/ant-apache-resolver.jar:/usr/local/gump/public/workspace/ant/dist/lib/ant-trax.jar:/usr/local/gump/public/workspace/ant/dist/lib/ant-junit.jar:/usr/local/gump/public/workspace/ant/dist/lib/ant-launcher.jar:/usr/local/gump/public/workspace/ant/dist/lib/ant-nodeps.jar:/usr/local/gump/public/workspace/ant/dist/lib/ant.jar:/usr/local/gump/public/workspace/jakarta-commons/logging/dist/commons-logging.jar:/usr/local/gump/public/workspace/jakarta-commons/logging/dist/commons-logging-api.jar:/usr/local/gump/public/workspace/jakarta-commons/el/dist/commons-el.jar:/usr/local/gump/public/workspace/jakarta-servletapi-5/jsr154/dist/lib/servlet-api.jar:/usr/local/gump/public/workspace/jakarta-servletapi-5/jsr152/dist/lib/jsp-api.jar:/usr/local/gump/packages/eclipse-3.0.1/plugins/org.eclipse.jdt.core_3.0.1/jdtcore.jar - Buildfile: build.xml build-prepare: [mkdir] Created dir: /home/gump/workspaces2/public/workspace/jakarta-tomcat-jasper_tc5/jasper2/build [mkdir] Created dir: /home/gump/workspaces2/public/workspace/jakarta-tomcat-jasper_tc5/jasper2/build/bin [mkdir] Created dir: /home/gump/workspaces2/public/workspace/jakarta-tomcat-jasper_tc5/jasper2/build/common/classes [mkdir] Created dir: /home/gump/workspaces2/public/workspace/jakarta-tomcat-jasper_tc5/jasper2/build/common/lib [mkdir] Created dir: /home/gump/workspaces2/public/workspace/jakarta-tomcat-jasper_tc5/jasper2/build/shared/classes [mkdir] Created dir: /home/gump/workspaces2/public/workspace/jakarta-tomcat-jasper_tc5/jasper2/build/shared/lib copy-launcher.jars: build-static: [copy] Copying 4 files to /home/gump/workspaces2/public/workspace/jakarta-tomcat-jasper_tc5/jasper2/build/bin build-only: [javac]
[GUMP@brutus]: Project jakarta-tomcat-jk-native (in module jakarta-tomcat-connectors) failed
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 95 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-14042005/build/libtool --silent --mode=compile gcc -I/usr/local/gump/public/workspace/apache-httpd/dest-14042005/include -g -O2 -g -O2 -pthread -DHAVE_APR -I/usr/local/gump/public/workspace/apr/dest-14042005/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-14042005/build/libtool: /usr/local/gump/public/workspace/apache-httpd/dest-14042005/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 2314042005, brutus:brutus-public:2314042005 Gump E-mail Identifier (unique within run) #21. -- 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 30551] - New version of JK Connector(1.2.6) does not seem to be working for POST requests.
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=30551. 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=30551 --- Additional Comments From [EMAIL PROTECTED] 2005-04-14 16:59 --- I'm a bit confused after reading all of the comments on this thread. We were able to fix this simply by upgrading our combined web/app servers to XP SP2. Does that agree with what others are seeing? We're using the JK 1.2.8 connector, JBoss 3.2.5 (which includes Tomcat 5.0). The issue we were seeing was that GET was working but POST wasn't. -- 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/jni/java/org/apache/tomcat/jni Status.java
mturk 2005/04/14 09:40:24 Modified:jni/java/org/apache/tomcat/jni Status.java Log: Add Status.APR_STATUS_IS_EAGAIN for checking non blocking sockets. Revision ChangesPath 1.3 +5 -2 jakarta-tomcat-connectors/jni/java/org/apache/tomcat/jni/Status.java Index: Status.java === RCS file: /home/cvs/jakarta-tomcat-connectors/jni/java/org/apache/tomcat/jni/Status.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- Status.java 14 Jan 2005 14:42:37 - 1.2 +++ Status.java 14 Apr 2005 16:40:24 - 1.3 @@ -244,5 +244,8 @@ public static final boolean APR_STATUS_IS_ENOTIMPL(int s) { return is(s, 73); } public static final boolean APR_STATUS_IS_EMISMATCH(int s) { return is(s, 74); } public static final boolean APR_STATUS_IS_EBUSY(int s) { return is(s, 75); } - + +/* Socket errors */ +public static final boolean APR_STATUS_IS_EAGAIN(int s) { return is(s, 90); } + } - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: jakarta-tomcat-connectors/jni/java/org/apache/tomcat/jni Socket.java
mturk 2005/04/14 09:41:08 Modified:jni/java/org/apache/tomcat/jni Socket.java Log: Remove exceptions from recv and send. Returned error codes are negative values. Revision ChangesPath 1.5 +8 -16 jakarta-tomcat-connectors/jni/java/org/apache/tomcat/jni/Socket.java Index: Socket.java === RCS file: /home/cvs/jakarta-tomcat-connectors/jni/java/org/apache/tomcat/jni/Socket.java,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- Socket.java 13 Apr 2005 13:17:27 - 1.4 +++ Socket.java 14 Apr 2005 16:41:08 - 1.5 @@ -186,8 +186,7 @@ * @return The number of bytes send. * */ -public static native int send(long sock, byte[] buf, int offset, int len) -throws Error; +public static native int send(long sock, byte[] buf, int offset, int len); /** * Send data over a network. @@ -211,8 +210,7 @@ * */ public static native int sendb(long sock, ByteBuffer buf, - int offset, int len) -throws Error; + int offset, int len); /** * Send multiple packets of data over a network. @@ -230,8 +228,7 @@ * @param vec The array from which to get the data to send. * */ -public static native int sendv(long sock, byte[][] vec) -throws Error; +public static native int sendv(long sock, byte[][] vec); /** * @param sock The socket to send from @@ -242,8 +239,7 @@ * @param len The length of the data to send */ public static native int sendto(long sock, long where, int flags, -byte[] buf, int offset, int len) -throws Error; +byte[] buf, int offset, int len); /** * Read data from a network. @@ -265,8 +261,7 @@ * @param nbytes The number of bytes to read (-1) for full array. * @return the number of bytes received. */ -public static native int recv(long sock, byte[] buf, int offset, int nbytes) -throws Error; +public static native int recv(long sock, byte[] buf, int offset, int nbytes); /** * Read data from a network. @@ -289,8 +284,7 @@ * @return the number of bytes received. */ public static native int recvb(long sock, ByteBuffer buf, - int offset, int nbytes) -throws Error; + int offset, int nbytes); /** @@ -303,9 +297,7 @@ * @return the number of bytes received. */ public static native int recvFrom(long from, long sock, int flags, - byte[] buf, int offset, int nbytes) -throws Error; - + byte[] buf, int offset, int nbytes); /** * Setup socket options for the specified socket - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: jakarta-tomcat-connectors/jni/native/src network.c
mturk 2005/04/14 09:41:24 Modified:jni/native/src network.c Log: Remove exceptions from recv and send. Returned error codes are negative values. Revision ChangesPath 1.5 +44 -25jakarta-tomcat-connectors/jni/native/src/network.c Index: network.c === RCS file: /home/cvs/jakarta-tomcat-connectors/jni/native/src/network.c,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- network.c 14 Apr 2005 06:47:56 - 1.4 +++ network.c 14 Apr 2005 16:41:24 - 1.5 @@ -179,6 +179,7 @@ apr_size_t nbytes = (*e)-GetArrayLength(e, buf); jbyte *bytes; apr_int32_t nb; +apr_status_t ss; UNREFERENCED(o); apr_socket_opt_get(s, APR_SO_NONBLOCK, nb); @@ -188,14 +189,16 @@ bytes = (*e)-GetPrimitiveArrayCritical(e, buf, NULL); else bytes = (*e)-GetByteArrayElements(e, buf, NULL); -TCN_THROW_IF_ERR(apr_socket_send(s, bytes + offset, nbytes), nbytes); +ss = apr_socket_send(s, bytes + offset, nbytes); -cleanup: if (nb) (*e)-ReleasePrimitiveArrayCritical(e, buf, bytes, JNI_ABORT); else (*e)-ReleaseByteArrayElements(e, buf, bytes, JNI_ABORT); -return (jint)nbytes; +if (ss == APR_SUCCESS) +return (jint)nbytes; +else +return -(jint)ss; } TCN_IMPLEMENT_CALL(jint, Socket, sendb)(TCN_STDARGS, jlong sock, @@ -204,20 +207,23 @@ apr_socket_t *s = J2P(sock, apr_socket_t *); apr_size_t nbytes; char *bytes; +apr_status_t ss; UNREFERENCED(o); bytes = (char *)(*e)-GetDirectBufferAddress(e, buf); nbytes = (apr_size_t)(*e)-GetDirectBufferCapacity(e, buf); if (bytes == NULL || nbytes 0) { tcn_ThrowAPRException(e, APR_EGENERAL); -goto cleanup; +return (jint)(-APR_EGENERAL); } if (len 0) nbytes = min(nbytes - offset, (apr_size_t)len); -TCN_THROW_IF_ERR(apr_socket_send(s, bytes + offset, nbytes), nbytes); +ss = apr_socket_send(s, bytes + offset, nbytes); -cleanup: -return (jint)nbytes; +if (ss == APR_SUCCESS) +return (jint)nbytes; +else +return -(jint)ss; } TCN_IMPLEMENT_CALL(jint, Socket, sendv)(TCN_STDARGS, jlong sock, @@ -229,6 +235,7 @@ struct iovec vec[APR_MAX_IOVEC_SIZE]; jobject ba[APR_MAX_IOVEC_SIZE]; apr_size_t written = 0; +apr_status_t ss; UNREFERENCED(o); @@ -242,13 +249,15 @@ vec[i].iov_base = (*e)-GetByteArrayElements(e, ba[i], NULL); } -TCN_THROW_IF_ERR(apr_socket_sendv(s, vec, nvec, written), i); +ss = apr_socket_sendv(s, vec, nvec, written); -cleanup: for (i = 0; i nvec; i++) { (*e)-ReleaseByteArrayElements(e, ba[i], vec[i].iov_base, JNI_ABORT); } -return (jint)written; +if (ss == APR_SUCCESS) +return (jint)written; +else +return -(jint)ss; } TCN_IMPLEMENT_CALL(jint, Socket, sendto)(TCN_STDARGS, jlong sock, @@ -260,6 +269,7 @@ apr_size_t nbytes = (*e)-GetArrayLength(e, buf); jbyte *bytes = (*e)-GetByteArrayElements(e, buf, NULL); apr_int32_t nb; +apr_status_t ss; UNREFERENCED(o); apr_socket_opt_get(s, APR_SO_NONBLOCK, nb); @@ -269,14 +279,16 @@ bytes = (*e)-GetPrimitiveArrayCritical(e, buf, NULL); else bytes = (*e)-GetByteArrayElements(e, buf, NULL); -TCN_THROW_IF_ERR(apr_socket_sendto(s, w, flag, bytes + offset, nbytes), nbytes); +ss = apr_socket_sendto(s, w, flag, bytes + offset, nbytes); -cleanup: if (nb) (*e)-ReleasePrimitiveArrayCritical(e, buf, bytes, 0); else (*e)-ReleaseByteArrayElements(e, buf, bytes, JNI_ABORT); -return (jint)nbytes; +if (ss == APR_SUCCESS) +return (jint)nbytes; +else +return -(jint)ss; } TCN_IMPLEMENT_CALL(jint, Socket, recv)(TCN_STDARGS, jlong sock, @@ -285,24 +297,27 @@ apr_socket_t *s = J2P(sock, apr_socket_t *); apr_size_t nbytes = (*e)-GetArrayLength(e, buf); jbyte *bytes = (*e)-GetByteArrayElements(e, buf, NULL); +apr_status_t ss; UNREFERENCED(o); if (toread 0) nbytes = min(nbytes - offset, (apr_size_t)toread); -TCN_THROW_IF_ERR(apr_socket_recv(s, bytes + offset, nbytes), nbytes); +ss = apr_socket_recv(s, bytes + offset, nbytes); -cleanup: (*e)-ReleaseByteArrayElements(e, buf, bytes, nbytes ? 0 : JNI_ABORT); -return (jint)nbytes; +if (ss == APR_SUCCESS) +return (jint)nbytes; +else +return -(jint)ss; } TCN_IMPLEMENT_CALL(jint, Socket, recvb)(TCN_STDARGS, jlong sock,
cvs commit: jakarta-tomcat-connectors/jni/native/src error.c
mturk 2005/04/14 09:41:34 Modified:jni/native/src error.c Log: Add Status.APR_STATUS_IS_EAGAIN for checking non blocking sockets. Revision ChangesPath 1.2 +2 -0 jakarta-tomcat-connectors/jni/native/src/error.c Index: error.c === RCS file: /home/cvs/jakarta-tomcat-connectors/jni/native/src/error.c,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- error.c 14 Jan 2005 13:47:58 - 1.1 +++ error.c 14 Apr 2005 16:41:34 - 1.2 @@ -178,6 +178,8 @@ APR_IS(73, APR_STATUS_IS_ENOTIMPL); APR_IS(74, APR_STATUS_IS_EMISMATCH); APR_IS(75, APR_STATUS_IS_EBUSY); +/* Socket errors */ +APR_IS(90, APR_STATUS_IS_EAGAIN); } return JNI_FALSE; - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
DO NOT REPLY [Bug 32781] - attribute scheme not being recognized
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=32781. 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=32781 [EMAIL PROTECTED] changed: What|Removed |Added CC||[EMAIL PROTECTED] --- Additional Comments From [EMAIL PROTECTED] 2005-04-14 19:44 --- *** Bug 33970 has been marked as a duplicate of this bug. *** -- 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 33106] - SSI Processing Enhancements (patch provided)
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-04-14 19:56 --- I have almost completed reviewing and applying your changes. So far, I have only made some minor changes (typos, line lengths etc) and have also re-worked the query string encoding algorithm a bit. There is one part of your patch I haven't yet worked out. In ResponseIncludeWrapper you have intercepted the last-modified and content-type headers. I understand why last-modified but not content-type. Can you explain please? -- 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 33106] - SSI Processing Enhancements (patch provided)
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-04-14 20:08 --- The SSIFilter uses that same wrapper to capture the normal output. The filter applies SSI processing by content type not file extension. -- 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]
Tomcat and APR
Hi, This has been hinted for a while ;) The purpose of this email is to propose using APR (Apache Portable Runtime) as the network IO used by Tomcat, instead of the JVM's IO. This will provide the following benefits (some small, others more significant): - zero GC IO API (APR is not object based) - flexible handling of socket reads/writes using pollers and non blocking IO - sendfile support Which will allow: - better scalability when using HTTP/1.1 keepalive, by eliminating the need for tying a thread blocked on an IO read (one or more (one on Unix, plenty on Windows) pollers will be used instead); this will allow certain single machine servers which couldn't use keealive in order to limit the amount of threads (to be able to have more simultaneous users) to benefit from the (large) performance benefits of keepalive - better performance and easier configuration when using AJP: one of the issues of AJP at the moment is that the number of AJP processors in Tomcat must be equal to the number of processors on the front end native servers, or keepalive has to be disabled (resulting in performance degradation); the benefit for AJP seems to actually be greater than for HTTP (special thanks to Mladen who explained to me the situation in detail) - efficient static file serving (not done yet) - (likely) better performance and reliability on free JVMs - probably slightly better performance (over NIO, Mladen measured 10%, while I measured 0%; as classic IO is a bit slower generally, I expect a small improvement); unfortunately, maximum throughput suffers (maximum throughput is measured by ab with keeplive enabled on localhost), as we cannot just block on the read until the next request comes; the benchmarks I use usually suck anyway ;) - SSL support through OpenSSL (not done right now) - access to certain useful native functions (detailed system status information, random data generation, etc) This would effectively make Tomcat more appealing to the lower end servers and, hopefully, web hosting companies (due to lower resource usage). Large sites would likely also benefit a little from the AJP improvements. The implementation would be an alternate endpoint implementation, replacing PoolTcpEndpoint. Alternate HTTP/1.1 processor and socket channel (for AJP) will be provided. Development required is actually fairly small (significant testing will be required, however). I didn't do the updated socket channel yet, but after 3 days of hacking, HTTP works (and the AJP stuff should be much faster to do). Now the tricky points: - is it appropriate for 5.5 ? I'd say yes, as it will be a separate independent implementation - will require APR, and a small JNI friendly wrapper library tentatively named libtcnative by Mladen (Windows binaries - and likely others - will be provided); portability should be good - we'll need to improve performance (and especially fix the kludge that is currently used to decide if a socket should be put inside a poller) Comments ? Rémy - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Tomcat and APR
Overall this seems well and good as long as this is not the default in 5.5 (i.e. by default Tomcat should be pure Java and run anywhere with a good JVM without native code). To play devil's advocate for a moment, however, would use of Java NIO potentially make more sense for Tomcat, i.e. to take a step forward in terms of performance, etc, without requiring native code? [I'm not saying NIO covers all the bases APR would or is as fast. Rather wondering whether performance efforts should not remain in the pure Java space until that is truly exhausted.] -- Jess Holle Remy Maucherat wrote: Hi, This has been hinted for a while ;) The purpose of this email is to propose using APR (Apache Portable Runtime) as the network IO used by Tomcat, instead of the JVM's IO. This will provide the following benefits (some small, others more significant): - zero GC IO API (APR is not object based) - flexible handling of socket reads/writes using pollers and non blocking IO - sendfile support Which will allow: - better scalability when using HTTP/1.1 keepalive, by eliminating the need for tying a thread blocked on an IO read (one or more (one on Unix, plenty on Windows) pollers will be used instead); this will allow certain single machine servers which couldn't use keealive in order to limit the amount of threads (to be able to have more simultaneous users) to benefit from the (large) performance benefits of keepalive - better performance and easier configuration when using AJP: one of the issues of AJP at the moment is that the number of AJP processors in Tomcat must be equal to the number of processors on the front end native servers, or keepalive has to be disabled (resulting in performance degradation); the benefit for AJP seems to actually be greater than for HTTP (special thanks to Mladen who explained to me the situation in detail) - efficient static file serving (not done yet) - (likely) better performance and reliability on free JVMs - probably slightly better performance (over NIO, Mladen measured 10%, while I measured 0%; as classic IO is a bit slower generally, I expect a small improvement); unfortunately, maximum throughput suffers (maximum throughput is measured by ab with keeplive enabled on localhost), as we cannot just block on the read until the next request comes; the benchmarks I use usually suck anyway ;) - SSL support through OpenSSL (not done right now) - access to certain useful native functions (detailed system status information, random data generation, etc) This would effectively make Tomcat more appealing to the lower end servers and, hopefully, web hosting companies (due to lower resource usage). Large sites would likely also benefit a little from the AJP improvements. The implementation would be an alternate endpoint implementation, replacing PoolTcpEndpoint. Alternate HTTP/1.1 processor and socket channel (for AJP) will be provided. Development required is actually fairly small (significant testing will be required, however). I didn't do the updated socket channel yet, but after 3 days of hacking, HTTP works (and the AJP stuff should be much faster to do). Now the tricky points: - is it appropriate for 5.5 ? I'd say yes, as it will be a separate independent implementation - will require APR, and a small JNI friendly wrapper library tentatively named libtcnative by Mladen (Windows binaries - and likely others - will be provided); portability should be good - we'll need to improve performance (and especially fix the kludge that is currently used to decide if a socket should be put inside a poller) Comments ? 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: Tomcat and APR
Hi, The implementation would be an alternate endpoint implementation, replacing PoolTcpEndpoint. Alternate HTTP/1.1 processor and socket channel (for AJP) will be provided. Development required is actually fairly small (significant testing will be required, however). I didn't do the updated socket channel yet, but after 3 days of hacking, HTTP works (and the AJP stuff should be much faster to do). If it's truly independent, with an alternative PoolTcpEndpoint java class and some additional dependencies (APR and the specific JNI wrapper), then +1. At least for the first few releases, users should have the choice to use this technology, and not have it be required. I think that's what you meant anyways, just stating it for clarity. We can call it experimental, advertise it, and get 3rd party (e.g. Peter Lin) benchmarks. It'd be a very nice selling point to have a non-blocking IO option ;) - is it appropriate for 5.5 ? I'd say yes, as it will be a separate independent implementation I'd also say yes. Yoav - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Tomcat and APR
Yoav Shapira wrote: Hi, The implementation would be an alternate endpoint implementation, replacing PoolTcpEndpoint. Alternate HTTP/1.1 processor and socket channel (for AJP) will be provided. Development required is actually fairly small (significant testing will be required, however). I didn't do the updated socket channel yet, but after 3 days of hacking, HTTP works (and the AJP stuff should be much faster to do). If it's truly independent, with an alternative PoolTcpEndpoint java class and some additional dependencies (APR and the specific JNI wrapper), then +1. Yes, it is fully independent. I did end up modifying the Processor interface in coyote, but I think it is a useless interface. That's it. At least for the first few releases, users should have the choice to use this technology, and not have it be required. I think that's what you meant anyways, just stating it for clarity. I don't think it can ever be required. We'll see. We can call it experimental, advertise it, and get 3rd party (e.g. Peter Lin) benchmarks. It'd be a very nice selling point to have a non-blocking IO option ;) Since the API stays really simple, you can go crazy on non blocking stuff. Rémy - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Tomcat and APR
if I have time this weekend, I'll try to run the same benchmarks on the latest code. is it included in the nightly build? if not, can someone post a build for me to benchmark on my system? peter On 4/14/05, Remy Maucherat [EMAIL PROTECTED] wrote: Hi, This has been hinted for a while ;) The purpose of this email is to propose using APR (Apache Portable Runtime) as the network IO used by Tomcat, instead of the JVM's IO. This will provide the following benefits (some small, others more significant): - zero GC IO API (APR is not object based) - flexible handling of socket reads/writes using pollers and non blocking IO - sendfile support Which will allow: - better scalability when using HTTP/1.1 keepalive, by eliminating the need for tying a thread blocked on an IO read (one or more (one on Unix, plenty on Windows) pollers will be used instead); this will allow certain single machine servers which couldn't use keealive in order to limit the amount of threads (to be able to have more simultaneous users) to benefit from the (large) performance benefits of keepalive - better performance and easier configuration when using AJP: one of the issues of AJP at the moment is that the number of AJP processors in Tomcat must be equal to the number of processors on the front end native servers, or keepalive has to be disabled (resulting in performance degradation); the benefit for AJP seems to actually be greater than for HTTP (special thanks to Mladen who explained to me the situation in detail) - efficient static file serving (not done yet) - (likely) better performance and reliability on free JVMs - probably slightly better performance (over NIO, Mladen measured 10%, while I measured 0%; as classic IO is a bit slower generally, I expect a small improvement); unfortunately, maximum throughput suffers (maximum throughput is measured by ab with keeplive enabled on localhost), as we cannot just block on the read until the next request comes; the benchmarks I use usually suck anyway ;) - SSL support through OpenSSL (not done right now) - access to certain useful native functions (detailed system status information, random data generation, etc) This would effectively make Tomcat more appealing to the lower end servers and, hopefully, web hosting companies (due to lower resource usage). Large sites would likely also benefit a little from the AJP improvements. The implementation would be an alternate endpoint implementation, replacing PoolTcpEndpoint. Alternate HTTP/1.1 processor and socket channel (for AJP) will be provided. Development required is actually fairly small (significant testing will be required, however). I didn't do the updated socket channel yet, but after 3 days of hacking, HTTP works (and the AJP stuff should be much faster to do). Now the tricky points: - is it appropriate for 5.5 ? I'd say yes, as it will be a separate independent implementation - will require APR, and a small JNI friendly wrapper library tentatively named libtcnative by Mladen (Windows binaries - and likely others - will be provided); portability should be good - we'll need to improve performance (and especially fix the kludge that is currently used to decide if a socket should be put inside a poller) Comments ? 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]
cvs commit: jakarta-tomcat-connectors/jni build.xml
remm2005/04/14 11:52:28 Modified:.build.xml jni build.xml Added: http11/src/java/org/apache/coyote/http11 InternalAprOutputBuffer.java Http11AprProtocol.java Http11AprProcessor.java InternalAprInputBuffer.java util/java/org/apache/tomcat/util/net AprEndpoint.java Log: - Add HTTP on APR. - A few things are not implemented yet, as I don't know how to use the Adress class well enough ;) - Thanks to Mladen for all the information, and for patiently answering my silly questions. - The logic which polls the socket before deciding if the socket should go to the poller needs to be redone. Revision ChangesPath 1.228 +27 -0 jakarta-tomcat-5/build.xml http://cvs.apache.org/viewcvs/jakarta-tomcat-5/build.xml.diff?r1=1.227r2=1.228 1.1 jakarta-tomcat-connectors/http11/src/java/org/apache/coyote/http11/InternalAprOutputBuffer.java http://cvs.apache.org/viewcvs/jakarta-tomcat-connectors/http11/src/java/org/apache/coyote/http11/InternalAprOutputBuffer.java?rev=1.1 1.1 jakarta-tomcat-connectors/http11/src/java/org/apache/coyote/http11/Http11AprProtocol.java http://cvs.apache.org/viewcvs/jakarta-tomcat-connectors/http11/src/java/org/apache/coyote/http11/Http11AprProtocol.java?rev=1.1 1.1 jakarta-tomcat-connectors/http11/src/java/org/apache/coyote/http11/Http11AprProcessor.java http://cvs.apache.org/viewcvs/jakarta-tomcat-connectors/http11/src/java/org/apache/coyote/http11/Http11AprProcessor.java?rev=1.1 1.1 jakarta-tomcat-connectors/http11/src/java/org/apache/coyote/http11/InternalAprInputBuffer.java http://cvs.apache.org/viewcvs/jakarta-tomcat-connectors/http11/src/java/org/apache/coyote/http11/InternalAprInputBuffer.java?rev=1.1 1.1 jakarta-tomcat-connectors/util/java/org/apache/tomcat/util/net/AprEndpoint.java http://cvs.apache.org/viewcvs/jakarta-tomcat-connectors/util/java/org/apache/tomcat/util/net/AprEndpoint.java?rev=1.1 1.3 +18 -1 jakarta-tomcat-connectors/jni/build.xml http://cvs.apache.org/viewcvs/jakarta-tomcat-connectors/jni/build.xml.diff?r1=1.2r2=1.3 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Tomcat and APR
Peter Lin wrote: if I have time this weekend, I'll try to run the same benchmarks on the latest code. is it included in the nightly build? if not, can someone post a build for me to benchmark on my system? We're going to have to resolve the issue I mentioned with keepalive before doing serious benchmarking. If you're on Linux, then it should be easy to test: build APR (I'll let Mladen precise any version requirement), and then build the native stuff in j-t-c/jni. Then make sure both libs are available to the JVM. APR is more portable than certified JVMs at the moment, although gcj-4 looks to be a big improvement (although not certified). Then use protocol=org.apache.coyote.http11.Http11AprProtocol on the connector element. Rémy - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: jakarta-tomcat-4.0/webapps/tomcat-docs project.xml
markt 2005/04/14 12:02:52 Modified:webapps/tomcat-docs/config connectors.xml coyote.xml jk.xml jk2.xml project.xml webapps/tomcat-docs project.xml Log: Fix bug 33768. Connector docs for Tc 4.1.x are out of date. Revision ChangesPath 1.4 +39 -27 jakarta-tomcat-4.0/webapps/tomcat-docs/config/connectors.xml Index: connectors.xml === RCS file: /home/cvs/jakarta-tomcat-4.0/webapps/tomcat-docs/config/connectors.xml,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- connectors.xml17 Mar 2003 09:51:43 - 1.3 +++ connectors.xml14 Apr 2005 19:02:52 - 1.4 @@ -17,34 +17,39 @@ section name=Introduction p -JTC means Jakarta-Tomcat-Connectors. jakarta-tomcat-connectors is the -repository of the Tomcat connectors sources. -The connectors are released together with Tomcat. For example you can find -the connectors sources in -http://jakarta.apache.org/builds/jakarta-tomcat-4.x/release/v4.x.y/src/ -The tarball are named like: -jakarta-tomcat-connectors-4.x.y-src.tar.gz +JTC stands for Jakarta Tomcat Connectors. /p p There are two different types of connectors. Connectors that allow browsers to connect directly to the Tomcat and connectors that do it through a Web Server. /p p -The connectors allowing direct connections are in the binary of Tomcat. -They are jar files. +The connectors allowing direct connections are distributed as jar files with +the Tomcat binary releases. /p p The connectors used with a Web Server are made of 2 components. One written -in Java and the other written in C. The Java part is made of jar files are -inclosed in the Tomcat binaries. -/p -p -The binary builds of connectors are available in -http://jakarta.apache.org/builds/jakarta-tomcat-4.0/release/v4.x.y/bin/plaform. -For example the Apache Solaris8 *.so files for SPARC will be in the -solaris8/sparc subdirectory. (Do not hesitate to ask for the binary needed for -your platform to the Tomcat mail lists, but be patient). +in Java and the other written in C. The Java part is included, as a jar file , + +with the Tomcat binary releases. The C part is released separately and may be +obtained from the +a href=http://jakarta.apache.org/site/downloads/downloads_tomcat-connectors.cgi; +Tomcat Connectors Downloads/a. +/p +p +The total number of different operating systems and web servers is sufficiently +large that it is not practical to provide binaries downloads for every +combination. Binaries are provided for most of the popular combinations and if +the one you need is not avaialble do not hesitate to ask for it on the +tomcat-user mailing list but please be patient and accept you may have to build +it yourself with the help of the mialing list. +/pp +The CVS repository for JTC is called jakarta-tomcat-connectors and source +bundles (that include both the Java and the C components) are available from +a href=http://jakarta.apache.org/site/downloads/downloads_tomcat-connectors.cgi; +Tomcat Connectors Downloads/a. /p + /section section name=Tomcat connectors @@ -58,17 +63,17 @@ trtdAncient browser/tdtdHTTP/1.0/td tdorg.apache.catalina.connector.http10.HttpConnector/td - tdDeprecated. See a href=http11.html HTTP/1.1/a/td + tdDeprecatedbr/See a href=http11.html HTTP/1.1/a/td /tr trtdModern browser/tdtdHTTP/1.1/td tdorg.apache.catalina.connector.http.HttpConnector/td - tdDeprecated. See a href=http11.html HTTP/1.1/a/td + tdDeprecatedbr/See a href=http11.html HTTP/1.1/a/td /tr trtdModern browser/tdtdHTTP/1.1/td tdorg.apache.coyote.tomcat4.CoyoteConnector/td - tdCurrent practice. See a href=coyote.html Coyote HTTP/1.1/a + tdCurrent practicebr/See a href=coyote.html Coyote HTTP/1.1/a /td /tr @@ -79,37 +84,44 @@ tr tdmod_jserv/tdtdAJP/1.2/td tdAjp11/td - tdObsolete Read more at + tdObsoletebr/Read more at a href=http://java.apache.org/jserv/index.html; JServ/a/td /tr tr tdmod_jk/tdtdAJP/1.3/td tdCoyoteConnector with JkCoyoteHandler/td - tdmod_jk supports load balancing. Enabled by default in 4.1; - works in 4.0. See a href=jk2.htmlCoyote JK 2/a + tdCurrentbr/mod_jk supports load balancing. +Enabled by default in 4.1; works in 4.0. See a href=jk.htmlCoyote JK/a /td /tr tr tdmod_jk2/tdtdAJP/1.3/td tdCoyoteConnector with JkCoyoteHandler/td - tdCurrently developed native connector. Enabled by default in 4.1. + tdDeprecatedbr/Enabled by default in 4.1. mod_jk2 supports in-process JVM and load balancing. -See a href=jk2.htmlCoyote JK 2/a +
RE: Tomcat and APR
Apologies if I missed it, but I've seen responses to Yoav's and Peter's posts, but I have yet to see anything about Jess' NIO question. Since I agree with his observations, I was wondering if a reponse was in the works? (I assume it'll say something like, Yes, a Java NIO solution could very well provide enough improvements, but APR is already written, fully-established, and field-tested.) Just curious. Jay Vertical Technology Group http://www.vtgroup.com/ -Original Message- From: Remy Maucherat [mailto:[EMAIL PROTECTED] Sent: Thursday, April 14, 2005 1:53 PM To: Tomcat Developers List Subject: Re: Tomcat and APR Peter Lin wrote: if I have time this weekend, I'll try to run the same benchmarks on the latest code. is it included in the nightly build? if not, can someone post a build for me to benchmark on my system? We're going to have to resolve the issue I mentioned with keepalive before doing serious benchmarking. If you're on Linux, then it should be easy to test: build APR (I'll let Mladen precise any version requirement), and then build the native stuff in j-t-c/jni. Then make sure both libs are available to the JVM. APR is more portable than certified JVMs at the moment, although gcj-4 looks to be a big improvement (although not certified). Then use protocol=org.apache.coyote.http11.Http11AprProtocol on the connector element. 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: Tomcat and APR
Jess Holle wrote: Overall this seems well and good as long as this is not the default in 5.5 (i.e. by default Tomcat should be pure Java and run anywhere with a good JVM without native code). To play devil's advocate for a moment, however, would use of Java NIO potentially make more sense for Tomcat, i.e. to take a step forward in terms of performance, etc, without requiring native code? [I'm not saying NIO covers all the bases APR would or is as fast. Rather wondering whether performance efforts should not remain in the pure Java space until that is truly exhausted.] Yes, and the grass is always greener on the other side of the fence. For doing the same thing, it seems that APR is about as fast as NIO, and the API is really simple to use, with a trivial programming model. NIO has its uses, and is definitely a lot more engineered. What I hope is that the introduction of APR for the networking stack makes Tomcat sort of a Java Apache HTTP Server, which would make it more acceptable in production. Rémy - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Tomcat and APR
I'll wait until that's fixed and then run the full set of benchmarks. that way we'll have direct comparison. peter On 4/14/05, Remy Maucherat [EMAIL PROTECTED] wrote: Peter Lin wrote: if I have time this weekend, I'll try to run the same benchmarks on the latest code. is it included in the nightly build? if not, can someone post a build for me to benchmark on my system? We're going to have to resolve the issue I mentioned with keepalive before doing serious benchmarking. If you're on Linux, then it should be easy to test: build APR (I'll let Mladen precise any version requirement), and then build the native stuff in j-t-c/jni. Then make sure both libs are available to the JVM. APR is more portable than certified JVMs at the moment, although gcj-4 looks to be a big improvement (although not certified). Then use protocol=org.apache.coyote.http11.Http11AprProtocol on the connector element. 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]
[34083,etc..] method of disabling cache
Remy, what are your reasons for not using cache-control: private? We discovered some time ago that the Pragma: no-cache causes IE trouble when under ssl. Why wouldn't cache-control: private be sufficient? If we're enabling this behavior by default, it would make sense to use the most interoperable cache-disabling solution. Thanks, Keith cf http://issues.apache.org/bugzilla/show_bug.cgi?id=34083 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: jakarta-tomcat-4.0/webapps/tomcat-docs project.xml
markt 2005/04/14 12:37:59 Modified:webapps/tomcat-docs project.xml Log: Roll back previous commit. Revision ChangesPath 1.22 +1 -1 jakarta-tomcat-4.0/webapps/tomcat-docs/project.xml Index: project.xml === RCS file: /home/cvs/jakarta-tomcat-4.0/webapps/tomcat-docs/project.xml,v retrieving revision 1.21 retrieving revision 1.22 diff -u -r1.21 -r1.22 --- project.xml 14 Apr 2005 19:02:52 - 1.21 +++ project.xml 14 Apr 2005 19:37:59 - 1.22 @@ -31,7 +31,7 @@ item name=Class Loader HOW-TO href=class-loader-howto.html/ item name=Connectors List href=config/connectors.html/ item name=HTML Manager App HOW-TO href=html-manager-howto.html/ -item name=JK Documentation href=config/jk.html/ +item name=JK Documentation href=jk2/index.html/ item name=JNDI DataSource HOW-TO href=jndi-datasource-examples-howto.html/ item name=JNDI Resources HOW-TO href=jndi-resources-howto.html/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Tomcat and APR
Hi, Apologies if I missed it, but I've seen responses to Yoav's and Peter's posts, but I have yet to see anything about Jess' NIO question. Since I agree with his observations, I was wondering if a reponse was in the works? (I assume it'll say something like, Yes, a Java NIO solution could very well provide enough improvements, but APR is already written, fully-established, and field- tested.) Just curious. In addition to Remy's response, you may want to search the message archives for this list. We've discussed NIO many times in the past in good depth. Yoav - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: jakarta-tomcat-catalina/modules/cluster/src/share/org/apache/catalina/cluster/tcp PooledSocketSender.java ReplicationTransmitter.java
fhanik 2005/04/14 13:07:59 Modified:modules/cluster/src/share/org/apache/catalina/cluster/tcp PooledSocketSender.java ReplicationTransmitter.java Log: Fixed auto format Revision ChangesPath 1.12 +3 -11 jakarta-tomcat-catalina/modules/cluster/src/share/org/apache/catalina/cluster/tcp/PooledSocketSender.java Index: PooledSocketSender.java === RCS file: /home/cvs/jakarta-tomcat-catalina/modules/cluster/src/share/org/apache/catalina/cluster/tcp/PooledSocketSender.java,v retrieving revision 1.11 retrieving revision 1.12 diff -u -r1.11 -r1.12 --- PooledSocketSender.java 10 Apr 2005 16:20:46 - 1.11 +++ PooledSocketSender.java 14 Apr 2005 20:07:59 - 1.12 @@ -115,8 +115,7 @@ } SocketSender sender = senderQueue.getSender(0); if (sender == null) { -log.warn(sm.getString(PoolSocketSender.noMoreSender, this -.getAddress(), new Integer(this.getPort(; +log.warn(sm.getString(PoolSocketSender.noMoreSender, this.getAddress(), new Integer(this.getPort(; return; } //send the message @@ -199,14 +198,7 @@ mutex.wait(timeout); } catch (Exception x) { PooledSocketSender.log -.warn( -sm -.getString( - PoolSocketSender.senderQueue.sender.failed, - parent.getAddress(), -new Integer(parent - .getPort())), -x); + .warn(sm.getString(PoolSocketSender.senderQueue.sender.failed,parent.getAddress(),new Integer(parent.getPort())),x); }//catch }//end if if (sender != null) { @@ -266,4 +258,4 @@ } } } -} \ No newline at end of file +} 1.26 +3 -6 jakarta-tomcat-catalina/modules/cluster/src/share/org/apache/catalina/cluster/tcp/ReplicationTransmitter.java Index: ReplicationTransmitter.java === RCS file: /home/cvs/jakarta-tomcat-catalina/modules/cluster/src/share/org/apache/catalina/cluster/tcp/ReplicationTransmitter.java,v retrieving revision 1.25 retrieving revision 1.26 diff -u -r1.25 -r1.26 --- ReplicationTransmitter.java 12 Apr 2005 18:56:07 - 1.25 +++ ReplicationTransmitter.java 14 Apr 2005 20:07:59 - 1.26 @@ -815,10 +815,7 @@ } catch (Exception x) { if (log.isWarnEnabled()) { if (!sender.getSuspect()) { -log -.warn( -Unable to send replicated message, is server down?, -x); +log.warn(Unable to send replicated message, is server down?,x); } } sender.setSuspect(true); @@ -840,4 +837,4 @@ } -} \ No newline at end of file +} - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: jakarta-tomcat-connectors/http11/src/java/org/apache/coyote/http11 InternalAprInputBuffer.java
remm2005/04/14 13:09:16 Modified:http11/src/java/org/apache/coyote/http11 InternalAprInputBuffer.java Log: - Use slightly better parameters to optimize straight low latency pipelining for my hack. Revision ChangesPath 1.2 +2 -2 jakarta-tomcat-connectors/http11/src/java/org/apache/coyote/http11/InternalAprInputBuffer.java Index: InternalAprInputBuffer.java === RCS file: /home/cvs/jakarta-tomcat-connectors/http11/src/java/org/apache/coyote/http11/InternalAprInputBuffer.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- InternalAprInputBuffer.java 14 Apr 2005 18:52:28 - 1.1 +++ InternalAprInputBuffer.java 14 Apr 2005 20:09:16 - 1.2 @@ -400,7 +400,7 @@ // Set socket in non blocking mode and try to read int attempts = 0; try { -while (attempts 1 !fill()) { +while (attempts 3 !fill()) { Thread.sleep(2); attempts++; } @@ -430,7 +430,7 @@ // Set socket in non blocking mode and try to read int attempts = 0; try { -while (attempts 1 !fill()) { +while (attempts 3 !fill()) { Thread.sleep(2); attempts++; } - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
DO NOT REPLY [Bug 33768] - Tomcat web page needs some updating concerning JK2 status
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=33768. 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=33768 [EMAIL PROTECTED] changed: What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED --- Additional Comments From [EMAIL PROTECTED] 2005-04-14 22:15 --- This has been fixed in CVS and the changes made to the web pages as well. The web page changes may take a few hours to sync to the live server. Thanks for pointing this out. -- 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 33106] - SSI Processing Enhancements (patch provided)
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-04-14 22:23 --- But why override getContentType()? I don't see what your code gives you that the standard wrapper method doesn't. -- 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 33106] - SSI Processing Enhancements (patch provided)
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-04-14 22:31 --- (In reply to comment #19) But why override getContentType()? I don't see what your code gives you that the standard wrapper method doesn't. Ahh. Not all resources (servlets, etc.) explicitly set a mime type, and this method sometimes returns null, leaving it up to the container to set the content type on the way out. If this is the case, my method will attempt to look it up from the container before hand, because I need it *now*... Not 100% sure on Tomcat, but I know iPlanet does that. -- 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 33518] - org.apache.jasper.JspCompilationContext.createCompiler
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=33518. 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=33518 [EMAIL PROTECTED] changed: What|Removed |Added Status|RESOLVED|REOPENED Resolution|INVALID | --- Additional Comments From [EMAIL PROTECTED] 2005-04-14 22:36 --- (In reply to comment #1) It would seem that neither JDT nor Ant are available to compile stuff. I am using jspc compiler to compile the jsp pages before deploying and it throughs the following exception: java.lang.NullPointerException at org.apache.jasper.JspCompilationContext.createCompiler(JspCompilatio Context.java:220) at org.apache.jasper.JspC.processFile(JspC.java:849) at org.apache.jasper.JspC.execute(JspC.java:991) at org.apache.jasper.JspC.main(JspC.java:212) org.apache.jasper.JasperException I gave the following command: pathjava -classpath c:\Program Files\Apache Software Foundation\Tomcat 5.5\common\lib org.apache.jasper.JspC - v -l -s -d jspsrc -compile -webxml ./web-generated.xml index.jsp Before this I also tried to write the ant script but had the same exception, it looks I may be missing something in the command arguments. Can you help to resolve the problem. Thanks Sangeeta -- 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 22617] - BASIC authentication fails if Realm supports default user
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=22617. 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=22617 [EMAIL PROTECTED] changed: What|Removed |Added Status|NEW |RESOLVED Resolution||INVALID --- Additional Comments From [EMAIL PROTECTED] 2005-04-14 22:53 --- The closest thing I could find in the spec to what you describe is in J2EE.3.4.3 Unauthenticated Users. This makes clear that the anonymous user is unathenticated and that the container is responsible for providing a suitable principal for unauthenitcated users to the EJB container. Authentication is only required for protected resources and Tomcat will only prompt for authentication when accessing a protected resource. Tomcat is consistent with the required behaviour. -- 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]
Cluster fixes
I am going through the cluster code right now and will be adding fixes along the way. I think the development of this code has focused more on features than stability, so I would like to ask that for the next period, lets focus on the stability and get this beast back in shape again. Filip - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: jakarta-tomcat-catalina/modules/cluster/src/share/org/apache/catalina/cluster/tcp DataSender.java PooledSocketSender.java ReplicationTransmitter.java
fhanik 2005/04/14 14:12:31 Modified:catalina/src/conf server.xml modules/cluster/src/share/org/apache/catalina/cluster/tcp DataSender.java PooledSocketSender.java ReplicationTransmitter.java Log: Added in the cluster listener to server.xml since this was removed from default config otherwise, clustering doesn't work out of the box, minor format changes in the other files Revision ChangesPath 1.46 +2 -0 jakarta-tomcat-catalina/catalina/src/conf/server.xml Index: server.xml === RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/conf/server.xml,v retrieving revision 1.45 retrieving revision 1.46 diff -u -r1.45 -r1.46 --- server.xml4 Feb 2005 17:15:55 - 1.45 +++ server.xml14 Apr 2005 21:12:31 - 1.46 @@ -312,6 +312,8 @@ deployDir=/tmp/war-deploy/ watchDir=/tmp/war-listen/ watchEnabled=false/ + +ClusterListener className=org.apache.catalina.cluster.session.ClusterSessionListener/ /Cluster -- 1.8 +8 -9 jakarta-tomcat-catalina/modules/cluster/src/share/org/apache/catalina/cluster/tcp/DataSender.java Index: DataSender.java === RCS file: /home/cvs/jakarta-tomcat-catalina/modules/cluster/src/share/org/apache/catalina/cluster/tcp/DataSender.java,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- DataSender.java 12 Apr 2005 18:56:07 - 1.7 +++ DataSender.java 14 Apr 2005 21:12:31 - 1.8 @@ -756,24 +756,23 @@ time = System.currentTimeMillis(); } try { - int bytesRead = 0; +int bytesRead = 0; +if ( log.isDebugEnabled() ) log.debug(Waiting for ACK message); int i = socket.getInputStream().read(); while ((i != -1) (i != 3) bytesRead 10) { +if ( log.isDebugEnabled() ) log.debug(Read ack byte:+i); bytesRead++; i = socket.getInputStream().read(); } if (i != 3) { if (i == -1) { -throw new IOException(sm.getString(IDataSender.ack.eof, -getAddress(), new Integer(socket.getLocalPort(; +throw new IOException(sm.getString(IDataSender.ack.eof,getAddress(), new Integer(socket.getLocalPort(; } else { -throw new IOException(sm.getString(IDataSender.ack.wrong, -getAddress(), new Integer(socket.getLocalPort(; +throw new IOException(sm.getString(IDataSender.ack.wrong,getAddress(), new Integer(socket.getLocalPort(; } } else { if (log.isTraceEnabled()) { -log.trace(sm.getString(IDataSender.ack.receive, address, -new Integer(socket.getLocalPort(; +log.trace(sm.getString(IDataSender.ack.receive, address,new Integer(socket.getLocalPort(; } } } catch (IOException x) { @@ -788,4 +787,4 @@ } } } -} \ No newline at end of file +} 1.13 +1 -2 jakarta-tomcat-catalina/modules/cluster/src/share/org/apache/catalina/cluster/tcp/PooledSocketSender.java Index: PooledSocketSender.java === RCS file: /home/cvs/jakarta-tomcat-catalina/modules/cluster/src/share/org/apache/catalina/cluster/tcp/PooledSocketSender.java,v retrieving revision 1.12 retrieving revision 1.13 diff -u -r1.12 -r1.13 --- PooledSocketSender.java 14 Apr 2005 20:07:59 - 1.12 +++ PooledSocketSender.java 14 Apr 2005 21:12:31 - 1.13 @@ -197,8 +197,7 @@ try { mutex.wait(timeout); } catch (Exception x) { -PooledSocketSender.log - .warn(sm.getString(PoolSocketSender.senderQueue.sender.failed,parent.getAddress(),new Integer(parent.getPort())),x); + PooledSocketSender.log.warn(sm.getString(PoolSocketSender.senderQueue.sender.failed,parent.getAddress(),new Integer(parent.getPort())),x); }//catch }//end if if (sender != null) { 1.27 +1 -3 jakarta-tomcat-catalina/modules/cluster/src/share/org/apache/catalina/cluster/tcp/ReplicationTransmitter.java Index:
DO NOT REPLY [Bug 15484] - Can't delete application files after Manager Webapps remove web app
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=15484. 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=15484 [EMAIL PROTECTED] changed: What|Removed |Added Status|REOPENED|RESOLVED Resolution||DUPLICATE --- Additional Comments From [EMAIL PROTECTED] 2005-04-14 23:13 --- *** This bug has been marked as a duplicate of 10026 *** -- 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 10026] - manager/stop and manager/remove
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=10026. 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=10026 [EMAIL PROTECTED] changed: What|Removed |Added CC||[EMAIL PROTECTED] --- Additional Comments From [EMAIL PROTECTED] 2005-04-14 23:13 --- *** Bug 15484 has been marked as a duplicate of this bug. *** -- 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 10026] - manager/stop and manager/remove
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=10026. 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=10026 [EMAIL PROTECTED] changed: What|Removed |Added Version|4.1.20 |4.1.31 -- 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-catalina/modules/cluster/src/share/org/apache/catalina/cluster/tcp DataSender.java ReplicationTransmitter.java
fhanik 2005/04/14 14:26:28 Modified:modules/cluster/src/share/org/apache/catalina/cluster/tcp DataSender.java ReplicationTransmitter.java Log: Refactor method name to make sense Revision ChangesPath 1.9 +4 -4 jakarta-tomcat-catalina/modules/cluster/src/share/org/apache/catalina/cluster/tcp/DataSender.java Index: DataSender.java === RCS file: /home/cvs/jakarta-tomcat-catalina/modules/cluster/src/share/org/apache/catalina/cluster/tcp/DataSender.java,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- DataSender.java 14 Apr 2005 21:12:31 - 1.8 +++ DataSender.java 14 Apr 2005 21:26:28 - 1.9 @@ -508,7 +508,7 @@ * @return true, is socket close * @see DataSender#closeSocket() */ -public synchronized boolean checkIfCloseSocket() { +public synchronized boolean checkKeepAlive() { boolean isCloseSocket = true ; if(isConnected()) { if ((keepAliveTimeout -1 @@ -697,7 +697,7 @@ time = System.currentTimeMillis(); } synchronized(this) { -checkIfCloseSocket(); +checkKeepAlive(); if (!isConnected()) openSocket(); } @@ -716,7 +716,7 @@ writeData(data); } finally { this.keepAliveCount++; -checkIfCloseSocket(); +checkKeepAlive(); if(doProcessingStats) { addProcessingStats(time); } 1.28 +2 -2 jakarta-tomcat-catalina/modules/cluster/src/share/org/apache/catalina/cluster/tcp/ReplicationTransmitter.java Index: ReplicationTransmitter.java === RCS file: /home/cvs/jakarta-tomcat-catalina/modules/cluster/src/share/org/apache/catalina/cluster/tcp/ReplicationTransmitter.java,v retrieving revision 1.27 retrieving revision 1.28 diff -u -r1.27 -r1.28 --- ReplicationTransmitter.java 14 Apr 2005 21:12:31 - 1.27 +++ ReplicationTransmitter.java 14 Apr 2005 21:26:28 - 1.28 @@ -550,7 +550,7 @@ IDataSender sender = (IDataSender) ((java.util.Map.Entry) iter .next()).getValue(); if (sender != null sender instanceof DataSender) -((DataSender) sender).checkIfCloseSocket(); +((DataSender) sender).checkKeepAlive(); } } } - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: jakarta-tomcat-catalina/modules/cluster/src/share/org/apache/catalina/cluster/tcp DataSender.java
fhanik 2005/04/14 14:27:20 Modified:modules/cluster/src/share/org/apache/catalina/cluster/tcp DataSender.java Log: this reference is implied Revision ChangesPath 1.10 +2 -4 jakarta-tomcat-catalina/modules/cluster/src/share/org/apache/catalina/cluster/tcp/DataSender.java Index: DataSender.java === RCS file: /home/cvs/jakarta-tomcat-catalina/modules/cluster/src/share/org/apache/catalina/cluster/tcp/DataSender.java,v retrieving revision 1.9 retrieving revision 1.10 diff -u -r1.9 -r1.10 --- DataSender.java 14 Apr 2005 21:26:28 - 1.9 +++ DataSender.java 14 Apr 2005 21:27:20 - 1.10 @@ -511,10 +511,8 @@ public synchronized boolean checkKeepAlive() { boolean isCloseSocket = true ; if(isConnected()) { -if ((keepAliveTimeout -1 - (System.currentTimeMillis() - this.keepAliveConnectTime) this.keepAliveTimeout) -|| (keepAliveMaxRequestCount -1 - this.keepAliveCount = this.keepAliveMaxRequestCount)) { +if ((keepAliveTimeout -1 (System.currentTimeMillis() - keepAliveConnectTime) keepAliveTimeout) +|| (keepAliveMaxRequestCount -1 keepAliveCount = keepAliveMaxRequestCount)) { closeSocket(); } else isCloseSocket = false ; - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: jakarta-tomcat-catalina/modules/cluster/src/share/org/apache/catalina/cluster/tcp ReplicationTransmitter.java
fhanik 2005/04/14 14:29:00 Modified:modules/cluster/src/share/org/apache/catalina/cluster/tcp ReplicationTransmitter.java Log: Renamed method Revision ChangesPath 1.29 +3 -3 jakarta-tomcat-catalina/modules/cluster/src/share/org/apache/catalina/cluster/tcp/ReplicationTransmitter.java Index: ReplicationTransmitter.java === RCS file: /home/cvs/jakarta-tomcat-catalina/modules/cluster/src/share/org/apache/catalina/cluster/tcp/ReplicationTransmitter.java,v retrieving revision 1.28 retrieving revision 1.29 diff -u -r1.28 -r1.29 --- ReplicationTransmitter.java 14 Apr 2005 21:26:28 - 1.28 +++ ReplicationTransmitter.java 14 Apr 2005 21:29:00 - 1.29 @@ -535,7 +535,7 @@ public void backgroundProcess() { count = (count + 1) % processSenderFrequency; if (count == 0) { -checkIfCloseSocket(); +checkKeepAlive(); } } @@ -543,7 +543,7 @@ * Check all DataSender Socket to close socket at keepAlive mode * @see DataSender#checkIfCloseSocket() */ -public void checkIfCloseSocket() { +public void checkKeepAlive() { if (map.size() 0) { java.util.Iterator iter = map.entrySet().iterator(); while (iter.hasNext()) { - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: jakarta-tomcat-catalina/webapps/manager/WEB-INF/classes/org/apache/catalina/manager StatusTransformer.java
remm2005/04/14 16:32:55 Modified:util/java/org/apache/tomcat/util/net AprEndpoint.java http11/src/java/org/apache/coyote/http11 Http11AprProtocol.java webapps/manager/WEB-INF/classes/org/apache/catalina/manager StatusTransformer.java Log: - Code cleanup. - Number of keepalive connections seems a valuable statistics, as they won't show up in the scoreboard. - Fix thread names. Revision ChangesPath 1.2 +35 -62 jakarta-tomcat-connectors/util/java/org/apache/tomcat/util/net/AprEndpoint.java Index: AprEndpoint.java === RCS file: /home/cvs/jakarta-tomcat-connectors/util/java/org/apache/tomcat/util/net/AprEndpoint.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- AprEndpoint.java 14 Apr 2005 18:52:28 - 1.1 +++ AprEndpoint.java 14 Apr 2005 23:32:54 - 1.2 @@ -261,6 +261,14 @@ /** + * Number of keepalive sockets. + */ +protected int keepAliveCount = 0; +public int getKeepAliveCount() { return keepAliveCount; } +public void setKeepAliveCount(int keepAliveCount) { this.keepAliveCount = keepAliveCount; } + + +/** * Dummy maxSpareThreads property. */ public int getMaxSpareThreads() { return 0; } @@ -378,8 +386,22 @@ if (!running) { running = true; paused = false; -// Start acceptor and poller threads -threadStart(); + +// Start acceptor thread +acceptorThread = new Thread(new Acceptor(), getName() + -Acceptor); +acceptorThread.setPriority(getThreadPriority()); +acceptorThread.setDaemon(true); +acceptorThread.start(); + +// Start poller thread +poller = new Poller(pollerSize); +pollerThread = new Thread(poller, getName() + -Poller); +pollerThread.setPriority(getThreadPriority()); +pollerThread.setDaemon(true); +pollerThread.start(); + +// Start sendfile thread +// FIXME: Implement sendfile support } } @@ -401,7 +423,9 @@ if (running) { running = false; unlockAccept(); -threadStop(); +acceptorThread = null; +pollerThread = null; +sendfileThread = null; } } @@ -410,7 +434,7 @@ stop(); } // Close server socket -closeServerSocket(); +Socket.close(serverSock); // Close all APR memory pools and resources Pool.destroy(rootPool); initialized = false ; @@ -429,26 +453,6 @@ /** - * Close the server socket. - */ -protected void closeServerSocket() { -if (!paused) -unlockAccept(); -// FIXME: Close server socket -Socket.close(serverSock); -/* -try { -if( serverSocket!=null) -serverSocket.close(); -} catch(Exception e) { -log.error(sm.getString(endpoint.err.close), e); -} -serverSocket = null; -*/ -} - - -/** * Unlock the server socket accept using a bugus connection. */ protected void unlockAccept() { @@ -459,8 +463,8 @@ s = new java.net.Socket(127.0.0.1, port); } else { s = new java.net.Socket(address, port); -// setting soLinger to a small value will help shutdown the -// connection quicker +// setting soLinger to a small value will help shutdown the +// connection quicker s.setSoLinger(true, 0); } } catch(Exception e) { @@ -590,32 +594,6 @@ } -/** - * Start the background processing thread. - */ -protected void threadStart() { -acceptorThread = new Thread(new Acceptor(), getName()); -acceptorThread.setPriority(getThreadPriority()); -acceptorThread.setDaemon(true); -acceptorThread.start(); - -poller = new Poller(pollerSize); -pollerThread = new Thread(poller, getName() + -poller); -pollerThread.setPriority(getThreadPriority()); -pollerThread.setDaemon(true); -pollerThread.start(); -} - - -/** - * Stop the background processing thread. - */ -protected void threadStop() { -acceptorThread = null; -pollerThread = null; -} - - // --- Acceptor
cvs commit: jakarta-tomcat-connectors/util build.xml
billbarker2005/04/14 19:49:14 Modified:util build.xml Log: Add tomcat-jni.jar to the classpath, since it is now required. Revision ChangesPath 1.32 +2 -1 jakarta-tomcat-connectors/util/build.xml Index: build.xml === RCS file: /home/cvs/jakarta-tomcat-connectors/util/build.xml,v retrieving revision 1.31 retrieving revision 1.32 diff -u -r1.31 -r1.32 --- build.xml 10 Apr 2005 22:19:00 - 1.31 +++ build.xml 15 Apr 2005 02:49:14 - 1.32 @@ -23,7 +23,7 @@ property name=tomcat-util.lib value=${tomcat-util.build}/lib / property name=tomcat-util.jar value=${tomcat-util.lib}/tomcat-util.jar / property name=tomcat-loader.jar value=${tomcat-util.lib}/tomcat-loader.jar / - +property name=tomcat-jni.jar value=../jni/dist/tomcat-native-1.0.0.jar / path id=compile.classpath pathelement location=${jmx.jar} / @@ -34,6 +34,7 @@ pathelement location=${puretls.jar} / pathelement location=${commons-logging.jar} / pathelement location=${commons-modeler.jar} / +pathelement location=${tomcat-jni.jar} / /path target name=detect - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: jakarta-tomcat-connectors/http11 build.xml
billbarker2005/04/14 20:10:02 Modified:http11 build.xml Log: Adding tomcat-jni.jar to the classpath, since it is now required. Revision ChangesPath 1.18 +3 -1 jakarta-tomcat-connectors/http11/build.xml Index: build.xml === RCS file: /home/cvs/jakarta-tomcat-connectors/http11/build.xml,v retrieving revision 1.17 retrieving revision 1.18 diff -u -r1.17 -r1.18 --- build.xml 10 Mar 2004 22:35:10 - 1.17 +++ build.xml 15 Apr 2005 03:10:02 - 1.18 @@ -31,6 +31,7 @@ !-- The locations of necessary jar files -- property name=tomcat-util.jar value=${util.home}/build/lib/tomcat-util.jar/ + property name=tomcat-jni.jar value=../jni/dist/tomcat-native-1.0.0.jar / property name=tomcat-coyote.jar value=${coyote.home}/build/lib/tomcat-coyote.jar/ property name=tomcat33-coyote.jar value=${coyote.home}/build/lib/tomcat33-coyote.jar/ @@ -85,6 +86,7 @@ pathelement location=${commons-modeler.jar}/ pathelement location=${regexp.jar}/ pathelement location=${jmx.jar}/ +pathelement location=${tomcat-jni.jar} / /path - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: jakarta-tomcat build.xml
billbarker2005/04/14 20:17:08 Modified:.build.xml Log: Get 3.3 building again with j-t-c/jni. Revision ChangesPath 1.207 +14 -0 jakarta-tomcat/build.xml Index: build.xml === RCS file: /home/cvs/jakarta-tomcat/build.xml,v retrieving revision 1.206 retrieving revision 1.207 diff -u -r1.206 -r1.207 --- build.xml 19 Nov 2004 08:15:53 - 1.206 +++ build.xml 15 Apr 2005 03:17:08 - 1.207 @@ -85,6 +85,9 @@ property name=tomcat-jk.home location=${jakarta-tomcat-connectors}/jk / property name=jtc.util.home location=${jakarta-tomcat-connectors}/util/ + property name=jtc.jni.home location=${jakarta-tomcat-connectors}/jni / + property name=tomcat-jni.jar +location=${jtc.jni.home}/dist/tomcat-native-1.0.0.jar / property name=jtc.util.build location=${jtc.util.home}/build/ property name=tomcat-util.jar location=${jtc.util.build}/lib/tomcat-util.jar/ @@ -241,6 +244,9 @@ uptodate property=tomcat-util.is.uptodate targetfile=${tomcat-util.jar} srcfiles dir=${jtc.util.home} includes=java/**,build.xml/ /uptodate +uptodate property=tomcat-jni.is.uptodate targetfile=${tomcat-jni.jar} + srcfiles dir=${jtc.jni.home} includes=java/**,build.xml/ +/uptodate /target target name=msg.ant15 if=ant15-present @@ -416,7 +422,14 @@ /move /target + target name=dep.tomcat-jni unless=tomcat-jni.is.uptodate + description=Build j-t-c jni which j-t-c util depends on. + ant dir=${jtc.jni.home} target=jar + property name=version value=1.0.0 / + /ant + /target target name=dep.tomcat-util unless=tomcat-util.is.uptodate + depends=dep.tomcat-jni description=Build j-t-c util which we depend on. To be called before main ant dir=${jtc.util.home} / /target @@ -432,6 +445,7 @@ property name=commons-logging.jar value=${commons-logging.jar}/ property name=commons-modeler.jar value=${commons-modeler.jar}/ property name=jmx.jar value=${jmx.jar}/ +property name=tomcat-jni.jar value=${tomcat-jni.jar} / /ant ant dir=${jtc.jk.home} target=build-jk - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Felicia WL Wong/SG/TLS/PwC is out of the office.
I will be out of the office starting 13/04/2005 and will not return until 19/04/2005. I will respond to your message when I return to the office on 19 April 2005. Alternatively, you may contact Cynthia Lee at 6236 3606 for any emergency. Best regards Felicia _ The information transmitted is intended only for the person or entity to which it is addressed and may contain confidential and/or privileged material. Any review, retransmission, dissemination or other use of, or taking of any action in reliance upon, this information by persons or entities other than the intended recipient is prohibited. If you received this in error, please contact the sender and delete the material from any computer. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
DO NOT REPLY [Bug 34465] New: - jasper2 fails when there is no web.xml
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=34465. 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=34465 Summary: jasper2 fails when there is no web.xml Product: Tomcat 5 Version: 5.5.9 Platform: PC OS/Version: Windows XP Status: NEW Severity: normal Priority: P2 Component: Jasper AssignedTo: tomcat-dev@jakarta.apache.org ReportedBy: [EMAIL PROTECTED] When running jasper2 from ant, and there is no web.xml under root/WEB-INF, jasper2 fails with a FileNotFoundException. Since, this worked correctly under 5.5.7, it seems to be a bug. The actual place which causes the problem is in org.apache.jasper.compiler.JspConfig#processWebDotXml(). The code in 5.5.7 was is = ctxt.getResourceAsStream(WEB_XML); if (is == null) { // no web.xml return; } and in 5.5.9, URL uri = ctxt.getResource(WEB_XML); if (uri == null) { // no web.xml return; } ctxt.getResource(WEB_XML) returns a non-null value even if there is no web.xml existing, so ths next uri.openStream() raises a FileNotFoundException. -- 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]