cvs commit: jakarta-tomcat-connectors/jk/native/common jk_util.h
mturk 2002/06/25 00:06:19 Modified:jk/native/common jk_util.h Log: Introduced socket and cache timeout. By Jan Singer, Henri Gomez and Mladen Turk. Revision ChangesPath 1.7 +21 -9 jakarta-tomcat-connectors/jk/native/common/jk_util.h Index: jk_util.h === RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native/common/jk_util.h,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- jk_util.h 15 May 2002 21:00:29 - 1.6 +++ jk_util.h 25 Jun 2002 07:06:18 - 1.7 @@ -86,14 +86,14 @@ /* [V] Two general purpose functions. Should ease the function bloat. */ int jk_get_worker_str_prop(jk_map_t *m, -const char *wname, -const char *pname, -char **prop); + const char *wname, + const char *pname, + char **prop); int jk_get_worker_int_prop(jk_map_t *m, -const char *wname, -const char *pname, -int *prop); + const char *wname, + const char *pname, + int *prop); char *jk_get_worker_host(jk_map_t *m, const char *wname, @@ -110,6 +110,18 @@ const char *wname, int def); +int jk_get_worker_socket_timeout(jk_map_t *m, + const char *wname, + int def); + +int jk_get_worker_socket_keepalive(jk_map_t *m, + const char *wname, + int def); + +int jk_get_worker_cache_timeout(jk_map_t *m, + const char *wname, + int def); + char * jk_get_worker_secret_key(jk_map_t *m, const char *wname); @@ -123,10 +135,10 @@ const char *wname); int jk_get_is_local_worker(jk_map_t *m, -const char *wname); + const char *wname); int jk_get_is_local_worker_only_flag(jk_map_t *m, - const char *lb_wname); + const char *lb_wname); int jk_get_lb_worker_list(jk_map_t *m, const char *lb_wname, -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
cvs commit: jakarta-tomcat-connectors/jk/native/common jk_util.c
mturk 2002/06/25 00:06:42 Modified:jk/native/common jk_util.c Log: Introduced socket and cache timeout. By Jan Singer, Henri Gomez and Mladen Turk. Revision ChangesPath 1.16 +80 -31jakarta-tomcat-connectors/jk/native/common/jk_util.c Index: jk_util.c === RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native/common/jk_util.c,v retrieving revision 1.15 retrieving revision 1.16 diff -u -r1.15 -r1.16 --- jk_util.c 21 Jun 2002 15:28:56 - 1.15 +++ jk_util.c 25 Jun 2002 07:06:42 - 1.16 @@ -83,6 +83,9 @@ #define PORT_OF_WORKER (port) #define TYPE_OF_WORKER (type) #define CACHE_OF_WORKER (cachesize) +#define CACHE_TIMEOUT_OF_WORKER (cache_timeout) +#define SOCKET_TIMEOUT_OF_WORKER(socket_timeout) +#define SOCKET_KEEPALIVE_OF_WORKER (socket_keepalive) #define LOAD_FACTOR_OF_WORKER (lbfactor) #define BALANCED_WORKERS(balanced_workers) #define LOCAL_WORKER_ONLY_FLAG (local_worker_only) @@ -94,7 +97,7 @@ #define DEFAULT_WORKER JK_AJP12_WORKER_NAME #define WORKER_LIST_PROPERTY_NAME (worker.list) #define DEFAULT_LB_FACTOR (1.0) -#define LOG_FORMAT (log_format) +#define LOG_FORMAT (log_format) #define HUGE_BUFFER_SIZE (8*1024) #define LOG_LINE_SIZE(1024) @@ -118,11 +121,11 @@ static void set_time_str(char * str, int len) { - time_t t = time(NULL); - struct tm *tms; +time_t t = time(NULL); +struct tm *tms; - tms = localtime(t); - strftime(str, len, jk_log_fmt, tms); +tms = localtime(t); +strftime(str, len, jk_log_fmt, tms); } static int JK_METHOD log_to_file(jk_logger_t *l, @@ -136,8 +139,8 @@ if(sz) { file_logger_t *p = l-logger_private; fwrite(what, 1, sz, p-logfile); - /* [V] Flush the dam' thing! */ - fflush(p-logfile); +/* [V] Flush the dam' thing! */ +fflush(p-logfile); } return JK_TRUE; @@ -243,13 +246,13 @@ if (NULL == buf) return -1; #endif - set_time_str(buf, HUGE_BUFFER_SIZE); - used = strlen(buf); +set_time_str(buf, HUGE_BUFFER_SIZE); +used = strlen(buf); if(line) used += sprintf(buf[used], [%s (%d)]: , f, line); #else - set_time_str(buf, HUGE_BUFFER_SIZE); - used = strlen(buf); +set_time_str(buf, HUGE_BUFFER_SIZE); +used = strlen(buf); if(line) used += snprintf(buf[used], HUGE_BUFFER_SIZE, [%s (%d)]: , f, line); #endif @@ -288,7 +291,7 @@ } char *jk_get_worker_secret(jk_map_t *m, - const char *wname) + const char *wname) { char buf[1024]; char *secret; @@ -310,9 +313,9 @@ /* Functions that can be simulated with these should be deprecated.*/ int jk_get_worker_str_prop(jk_map_t *m, -const char *wname, -const char *pname, -char **prop) + const char *wname, + const char *pname, + char **prop) { char buf[1024]; @@ -327,9 +330,9 @@ } int jk_get_worker_int_prop(jk_map_t *m, -const char *wname, -const char *pname, -int *prop) + const char *wname, + const char *pname, + int *prop) { char buf[1024]; @@ -390,6 +393,51 @@ return map_get_int(m, buf, def); } +int jk_get_worker_socket_timeout(jk_map_t *m, + const char *wname, + int def) +{ +char buf[1024]; + +if(!m || !wname) { +return -1; +} + +sprintf(buf, %s.%s.%s, PREFIX_OF_WORKER, wname, SOCKET_TIMEOUT_OF_WORKER); + +return map_get_int(m, buf, def); +} + +int jk_get_worker_socket_keepalive(jk_map_t *m, + const char *wname, + int def) +{ +char buf[1024]; + +if(!m || !wname) { +return -1; +} + +sprintf(buf, %s.%s.%s, PREFIX_OF_WORKER, wname, SOCKET_KEEPALIVE_OF_WORKER); + +return map_get_int(m, buf, def); +} + +int jk_get_worker_cache_timeout(jk_map_t *m, +const char *wname, +int def) +{ +char buf[1024]; + +if(!m || !wname) { +return -1; +} + +
cvs commit: jakarta-tomcat-connectors/jk/native/common jk_connect.h
mturk 2002/06/25 00:06:59 Modified:jk/native/common jk_connect.h Log: Introduced socket and cache timeout. By Jan Singer, Henri Gomez and Mladen Turk. Revision ChangesPath 1.3 +3 -2 jakarta-tomcat-connectors/jk/native/common/jk_connect.h Index: jk_connect.h === RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native/common/jk_connect.h,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- jk_connect.h 18 Jun 2001 14:15:36 - 1.2 +++ jk_connect.h 25 Jun 2002 07:06:59 - 1.3 @@ -68,7 +68,7 @@ #include jk_global.h #ifndef WIN32 - #define closesocket close +#define closesocket close #endif #ifdef __cplusplus @@ -81,6 +81,7 @@ int jk_open_socket(struct sockaddr_in *addr, int ndelay, + int keepalive, jk_logger_t *l); int jk_close_socket(int s); -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
cvs commit: jakarta-tomcat-connectors/jk/native/common jk_connect.c
mturk 2002/06/25 00:07:14 Modified:jk/native/common jk_connect.c Log: Introduced socket and cache timeout. By Jan Singer, Henri Gomez and Mladen Turk. Revision ChangesPath 1.4 +29 -18jakarta-tomcat-connectors/jk/native/common/jk_connect.c Index: jk_connect.c === RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native/common/jk_connect.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- jk_connect.c 4 Jul 2001 16:59:38 - 1.3 +++ jk_connect.c 25 Jun 2002 07:07:14 - 1.4 @@ -60,7 +60,7 @@ * Based on:Various Jserv files */ /** - * @package jk_connect + * @package jk_connect * @author Gal Shachor [EMAIL PROTECTED] * @version $Revision$ */ @@ -109,6 +109,7 @@ int jk_open_socket(struct sockaddr_in *addr, int ndelay, + int keepalive, jk_logger_t *l) { int sock; @@ -134,6 +135,7 @@ /* Check if we connected */ if(0 == ret) { +int keep = 1; if(ndelay) { int set = 1; @@ -145,6 +147,15 @@ sizeof(set)); } +if (keepalive) { +jk_log(l, JK_LOG_DEBUG, jk_open_socket, set SO_KEEPALIVE to on\n); +setsockopt(sock, + SOL_SOCKET, + SO_KEEPALIVE, + (char *)keep, + sizeof(keep)); +} + jk_log(l, JK_LOG_DEBUG, jk_open_socket, return, sd = %d\n, sock); return sock; } @@ -198,14 +209,14 @@ (char *)b + sent , len - sent, 0); - - if(0 == this_time) { - return -2; - } - if(this_time 0) { - return -3; - } - sent += this_time; + +if(0 == this_time) { +return -2; +} +if(this_time 0) { +return -3; +} +sent += this_time; } return sent; @@ -225,26 +236,26 @@ int rdlen = 0; while(rdlen len) { - int this_time = recv(sd, +int this_time = recv(sd, (char *)b + rdlen, len - rdlen, - 0); - if(-1 == this_time) { + 0); +if(-1 == this_time) { #ifdef WIN32 if(SOCKET_ERROR == this_time) { errno = WSAGetLastError() - WSABASEERR; } #endif /* WIN32 */ - if(EAGAIN == errno) { +if(EAGAIN == errno) { continue; - } - return -1; - } +} +return -1; +} if(0 == this_time) { return -1; } - rdlen += this_time; +rdlen += this_time; } return rdlen; -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
cvs commit: jakarta-tomcat-connectors/jk/native/common jk_ajp_common.h
mturk 2002/06/25 00:07:31 Modified:jk/native/common jk_ajp_common.h Log: Introduced socket and cache timeout. By Jan Singer, Henri Gomez and Mladen Turk. Revision ChangesPath 1.15 +22 -4 jakarta-tomcat-connectors/jk/native/common/jk_ajp_common.h Index: jk_ajp_common.h === RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native/common/jk_ajp_common.h,v retrieving revision 1.14 retrieving revision 1.15 diff -u -r1.14 -r1.15 --- jk_ajp_common.h 6 Feb 2002 19:11:23 - 1.14 +++ jk_ajp_common.h 25 Jun 2002 07:07:31 - 1.15 @@ -87,7 +87,7 @@ #define SC_A_SSL_CIPHER (unsigned char)8 #define SC_A_SSL_SESSION(unsigned char)9 #define SC_A_REQ_ATTRIBUTE (unsigned char)10 -#define SC_A_SSL_KEY_SIZE (unsigned char)11/* only in if JkOptions +ForwardKeySize */ +#define SC_A_SSL_KEY_SIZE (unsigned char)11 /* only in if JkOptions +ForwardKeySize */ #define SC_A_SECRET (unsigned char)12 #define SC_A_ARE_DONE (unsigned char)0xFF @@ -132,7 +132,7 @@ #define SC_M_MOVE (unsigned char)12 #define SC_M_LOCK (unsigned char)13 #define SC_M_UNLOCK (unsigned char)14 -#define SC_M_ACL (unsigned char)15 +#define SC_M_ACL(unsigned char)15 #define SC_M_REPORT (unsigned char)16 #define SC_M_VERSION_CONTROL(unsigned char)17 #define SC_M_CHECKIN(unsigned char)18 @@ -216,6 +216,7 @@ #define AJP_HEADER_LEN(4) #define AJP_HEADER_SZ_LEN (2) #define CHUNK_BUFFER_PAD (12) +#define AJP_DEF_CACHE_TIMEOUT (15) struct jk_res_data { @@ -252,6 +253,8 @@ */ JK_CRIT_SEC cs; unsigned ep_cache_sz; +unsigned ep_mincache_sz; +unsigned ep_maxcache_sz; ajp_endpoint_t **ep_cache; int proto; /* PROTOCOL USED AJP13/AJP14 */ @@ -269,6 +272,16 @@ */ int (* logon)(ajp_endpoint_t *ae, jk_logger_t*l); + +/* +* Handle Socket Timeouts +*/ +unsigned socket_timeout; +unsigned keepalive; +/* +* Handle Cache Timeouts +*/ +unsigned cache_timeout; }; @@ -281,13 +294,18 @@ jk_pool_t pool; jk_pool_atom_t buf[BIG_POOL_SIZE]; - int proto; /* PROTOCOL USED AJP13/AJP14 */ +int proto; /* PROTOCOL USED AJP13/AJP14 */ int sd; int reuse; jk_endpoint_t endpoint; unsigned left_bytes_to_send; + +/* time of the last request + handled by this endpoint */ +time_t last_access; + }; /* -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
cvs commit: jakarta-tomcat-connectors/jk/native/common jk_ajp_common.c
mturk 2002/06/25 00:08:03 Modified:jk/native/common jk_ajp_common.c Log: Introduced socket and cache timeout. By Jan Singer, Henri Gomez and Mladen Turk. Revision ChangesPath 1.26 +376 -334 jakarta-tomcat-connectors/jk/native/common/jk_ajp_common.c Index: jk_ajp_common.c === RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native/common/jk_ajp_common.c,v retrieving revision 1.25 retrieving revision 1.26 diff -u -r1.25 -r1.26 --- jk_ajp_common.c 10 May 2002 23:58:40 - 1.25 +++ jk_ajp_common.c 25 Jun 2002 07:08:03 - 1.26 @@ -115,23 +115,23 @@ } else if(0 == strcmp(method, TRACE)) { *sc = SC_M_TRACE; } else if(0 == strcmp(method, PROPFIND)) { - *sc = SC_M_PROPFIND; +*sc = SC_M_PROPFIND; } else if(0 == strcmp(method, PROPPATCH)) { - *sc = SC_M_PROPPATCH; +*sc = SC_M_PROPPATCH; } else if(0 == strcmp(method, MKCOL)) { - *sc = SC_M_MKCOL; +*sc = SC_M_MKCOL; } else if(0 == strcmp(method, COPY)) { - *sc = SC_M_COPY; +*sc = SC_M_COPY; } else if(0 == strcmp(method, MOVE)) { - *sc = SC_M_MOVE; +*sc = SC_M_MOVE; } else if(0 == strcmp(method, LOCK)) { - *sc = SC_M_LOCK; +*sc = SC_M_LOCK; } else if(0 == strcmp(method, UNLOCK)) { - *sc = SC_M_UNLOCK; +*sc = SC_M_UNLOCK; } else if(0 == strcmp(method, ACL)) { - *sc = SC_M_ACL; +*sc = SC_M_ACL; } else if(0 == strcmp(method, REPORT)) { - *sc = SC_M_REPORT; +*sc = SC_M_REPORT; } else if(0 == strcmp(method, VERSION-CONTROL)) { *sc = SC_M_VERSION_CONTROL; } else if(0 == strcmp(method, CHECKIN)) { @@ -263,7 +263,7 @@ ?ssl_cert (byte)(string) ?ssl_cipher(byte)(string) ?ssl_session (byte)(string) -?ssl_key_size (byte)(int) via JkOptions +ForwardKeySize +?ssl_key_size (byte)(int) via JkOptions +ForwardKeySize request_terminator (byte) ?body content_length*(var binary) @@ -442,10 +442,10 @@ static int ajp_unmarshal_response(jk_msg_buf_t *msg, jk_res_data_t *d, - ajp_endpoint_t *ae, + ajp_endpoint_t *ae, jk_logger_t*l) { - jk_pool_t * p = ae-pool; +jk_pool_t * p = ae-pool; d-status = jk_b_get_int(msg); @@ -533,16 +533,16 @@ void ajp_close_endpoint(ajp_endpoint_t *ae, jk_logger_t*l) { - jk_log(l, JK_LOG_DEBUG, In jk_endpoint_t::ajp_close_endpoint\n); +jk_log(l, JK_LOG_DEBUG, In jk_endpoint_t::ajp_close_endpoint\n); ajp_reset_endpoint(ae); jk_close_pool((ae-pool)); if (ae-sd 0) { jk_close_socket(ae-sd); - jk_log(l, JK_LOG_DEBUG, In jk_endpoint_t::ajp_close_endpoint, closed sd = %d\n, ae-sd); - ae-sd = -1; /* just to avoid twice close */ - } +jk_log(l, JK_LOG_DEBUG, In jk_endpoint_t::ajp_close_endpoint, closed sd = %d\n, ae-sd); +ae-sd = -1; /* just to avoid twice close */ +} free(ae); } @@ -584,20 +584,22 @@ unsigned attempt; for(attempt = 0 ; attempt ae-worker-connect_retry_attempts ; attempt++) { -ae-sd = jk_open_socket(ae-worker-worker_inet_addr, JK_TRUE, l); +ae-sd = jk_open_socket(ae-worker-worker_inet_addr, JK_TRUE, ae-worker-keepalive, l); if(ae-sd = 0) { jk_log(l, JK_LOG_DEBUG, In jk_endpoint_t::ajp_connect_to_endpoint, connected sd = %d\n, ae-sd); - /* Check if we must execute a logon after the physical connect */ - if (ae-worker-logon != NULL) - return (ae-worker-logon(ae, l)); + /* set last_access */ + ae-last_access = time(NULL); +/* Check if we must execute a logon after the physical connect */ +if (ae-worker-logon != NULL) +return (ae-worker-logon(ae, l)); - return JK_TRUE; +return JK_TRUE; } } jk_log(l, JK_LOG_ERROR, In jk_endpoint_t::ajp_connect_to_endpoint, failed errno = %d\n, errno); - return JK_FALSE; +return JK_FALSE; } /* @@ -608,18 +610,18 @@ jk_msg_buf_t *msg, jk_logger_t*l) { - if (ae-proto == AJP13_PROTO) { - jk_b_end(msg, AJP13_WS_HEADER); - jk_dump_buff(l, JK_LOG_DEBUG, sending to ajp13, msg); - } - else if (ae-proto == AJP14_PROTO) { - jk_b_end(msg, AJP14_WS_HEADER); -
cvs commit: jakarta-tomcat-connectors/jk/native/common jk_ajp13.h
mturk 2002/06/25 00:08:26 Modified:jk/native/common jk_ajp13.h Log: Introduced socket and cache timeout. By Jan Singer, Henri Gomez and Mladen Turk. Revision ChangesPath 1.9 +8 -7 jakarta-tomcat-connectors/jk/native/common/jk_ajp13.h Index: jk_ajp13.h === RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native/common/jk_ajp13.h,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- jk_ajp13.h4 Dec 2001 19:48:41 - 1.8 +++ jk_ajp13.h25 Jun 2002 07:08:26 - 1.9 @@ -69,18 +69,19 @@ extern C { #endif /* __cplusplus */ -#define AJP13_PROTO 13 -#define AJP13_WS_HEADER 0x1234 -#define AJP13_SW_HEADER 0x4142 /* 'AB' */ +#define AJP13_PROTO 13 +#define AJP13_WS_HEADER 0x1234 +#define AJP13_SW_HEADER 0x4142 /* 'AB' */ -#define AJP13_DEF_HOST (localhost) -#define AJP13_DEF_PORT (8009) +#define AJP13_DEF_HOST (localhost) +#define AJP13_DEF_PORT (8009) #define AJP13_READ_BUF_SIZE (8*1024) #define AJP13_DEF_CACHE_SZ (1) -#define JK_INTERNAL_ERROR(-2) +#define JK_INTERNAL_ERROR (-2) #define JK_FATAL_ERROR (-3) #define JK_CLIENT_ERROR (-4) #define AJP13_MAX_SEND_BODY_SZ (DEF_BUFFER_SZ - 6) +#define AJP13_DEF_TIMEOUT (0) /* Idle timout for pooled connections */ /* * Message does not have a response (for example, JK_AJP13_END_RESPONSE) -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
JDBCStore implementation
Hello everyone, I am writing about an issue on invalidation of sessions. In the current implementation, a session is deleted from the Database when it is invalidated. Is this really the behavior expected? I mean, if there is an attribute to specify if a session is valid or not, a session that is invalidated should have this attribute reset instead of being deleted, isn't it? If this is not true, it is not possible to see difference between a session that is not valid anymore and a new one. Can anyone tell me something about the plans for the implementation of this feature? Cheers, Daniel -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
JDBCStore implementation
Hello everyone, I am writing about an issue on invalidation of sessions. In the current implementation, a session is deleted from the Database when it is invalidated. Is this really the behavior expected? I mean, if there is an attribute to specify if a session is valid or not, a session that is invalidated should have this attribute reset instead of being deleted, isn't it? If this is not true, it is not possible to see difference between a session that is not valid anymore and a new one. Can anyone tell me something about the plans for the implementation of this feature? Cheers, Daniel -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
Re: cvs commit: jakarta-tomcat-connectors/jk/native2/common jk_channel_socket.c
GOMEZ Henri wrote: I allways use read/write on Unix instead of recv/send. It works way better. Why better? recv/send on BS2000 goes directly to the network through the socket libraries and read/write does with an additional POSIX layer. - Henri Gomez ___[_] EMAIL : [EMAIL PROTECTED](. .) PGP KEY : 697ECEDD...oOOo..(_)..oOOo... PGP Fingerprint : 9DF8 1EA8 ED53 2F39 DC9B 904A 364F 80E6 -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]] Sent: Sunday, June 23, 2002 8:56 AM To: [EMAIL PROTECTED] Subject: cvs commit: jakarta-tomcat-connectors/jk/native2/common jk_channel_socket.c mturk 2002/06/22 23:55:56 Modified:jk/native2/common jk_channel_socket.c Log: Costin changed it to use read/write instead of send/receive. Unfortunaly that doesn't work on WIN32 cause read/write cannot operate on sockets. Perhaps we shoud reverse that unless there is a strong reason to use the read/write on unix. Revision ChangesPath 1.35 +20 -2 jakarta-tomcat-connectors/jk/native2/common/jk_channel_socket.c Index: jk_channel_socket.c === RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/common/jk_channe l_socket.c,v retrieving revision 1.34 retrieving revision 1.35 diff -u -r1.34 -r1.35 --- jk_channel_socket.c 20 Jun 2002 18:45:01 - 1.34 +++ jk_channel_socket.c 23 Jun 2002 06:55:55 - 1.35 @@ -355,9 +355,13 @@ len=msg-len; b=msg-buf; - + while(sent len) { +#ifdef WIN32 +int this_time = send(sd, (char *)b + sent , len - sent, 0); +#else int this_time = write(sd, (char *)b + sent , len - sent); +#endif if(0 == this_time) { return -2; } @@ -393,9 +397,16 @@ if( sd0 ) return JK_ERR; while(rdlen len) { +#ifdef WIN32 +/* WIN32 read cannot operate on sockets */ +int this_time = recv(sd, + (char *)b + rdlen, + len - rdlen, 0); +#else int this_time = read(sd, (char *)b + rdlen, len - rdlen); +#endif if(-1 == this_time) { #ifdef WIN32 if(SOCKET_ERROR == this_time) { @@ -430,9 +441,16 @@ if( sd0 ) return JK_ERR; while(rdlen minLen ) { +#ifdef WIN32 +/* WIN32 read cannot operate on sockets */ +int this_time = recv(sd, + (char *)b + rdlen, + maxLen - rdlen, 0); +#else int this_time = read(sd, (char *)b + rdlen, - maxLen - rdlen); + maxLen - rdlen); +#endif /* fprintf(stderr, XXX received %d\n, this_time ); */ if(-1 == this_time) { #ifdef WIN32 -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED] -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED] -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
DO NOT REPLY [Bug 10204] New: - JAR_CACHExxxxx.tmp files created in tmp directory
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT http://nagoya.apache.org/bugzilla/show_bug.cgi?id=10204. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE. http://nagoya.apache.org/bugzilla/show_bug.cgi?id=10204 JAR_CACHEx.tmp files created in tmp directory Summary: JAR_CACHEx.tmp files created in tmp directory Product: Tomcat 4 Version: Unknown Platform: Other OS/Version: AIX Status: NEW Severity: Normal Priority: Other Component: Catalina AssignedTo: [EMAIL PROTECTED] ReportedBy: [EMAIL PROTECTED] JAR_CACHEx.tmp files created in tmp directory and not deleted at any stage. -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
RE: cvs commit: jakarta-tomcat-connectors/jk/native2/common jk_channel_socket.c
GOMEZ Henri wrote: I allways use read/write on Unix instead of recv/send. It works way better. Why better? recv/send on BS2000 goes directly to the network through the socket libraries and read/write does with an additional POSIX layer. Hi JF, History, history ;) I switched from recv/send to read/write many years ago when I got strange behaviour on Sun 0S 4.1 ;) BTW, a socket is an I/O descriptor, so it's still valid to use it with read/write -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
FW: Configuring mod_jk2
Contributed documentation for jk2 PS: Note the info that Jetty will also implements ajp13 :) -Original Message- From: Simon Stewart [mailto:[EMAIL PROTECTED]] Sent: Tuesday, June 25, 2002 3:24 AM To: GOMEZ Henri Subject: Re: Configuring mod_jk2 Attached is a copy of the notes that I've made so far. They're in a similar style to the previous HOWTO, but should be up to date :) I assume that the final release will be available from the URL that I give. I've managed to get the latest version of mod_jk2 from cvs installed and working. Looking at logs, I notice that I need to set ${serverRoot} to point towards the apache root directory. Is there any way to do this within the jk2.properties file? In any case, please could you have a look at the docs as they stand, and shout out if there's anything wrong? Once you've done that, I'll pass it on to everyone to pick apart. :)) Finally, I assume that you knew that Jetty was also planning on providing an AJP13 connector? Once I've got the apache 2 and JBoss 3 (via Tomcat 4.0.3) notes done properly, I plan to cover Jetty too. Is that okay? Are there any surprises lurking there? Apologies if some of the English in the HOWTO (or this email, for that matter) is a little sloppy. It's a little in the morning for me to be properly making sense. :)) Regards, Simon On Mon, Jun 24, 2002 at 03:34:41PM +0200, GOMEZ Henri wrote: FOR the latest jk2 you should have a workers2.properties file: Add : There is an example file in jtc/jk2 [ajp13:localhost:8019] channel=3Dchannel.socket:localhost:8019 Cheers, Simon -- As the saying goes, if you give a man a fish, he eats for a day. If you teach him to grep for fish, he'll leave you alone all weekend. If you encourage him to beg for fish, pretty soon c.l.p.misc will smell like a three-week-dead trout. -- Tom Phoenix, c.l.p.misc. Apache 2.0.39 and Tomcat 4.0.4 1. Download the source for Apache 2 from http://httpd.apache.org. Configure and install it at ${apache2.home} It is essential that DSO (Dynamic Shared Object) support is compiled in. This is done using the --enable-so configure parameter, 2. Get hold of the latest version of the jakarta-tomcat-connectors (jtc) source from http://jakarta.apache.org/builds/jakarta-tomcat-4.0/src; 3. Unpack the source code into ${jtc.home} and cd to this directory. 4. In order to build mod_jk2 successfully, you must now edit a handful of files. To do this: cd util cp build.properties.sample build.properties You do not need to edit the new build.properties file. cd ${jtc.home}/jk cp build.properties.sample build.properties Edit the build.properties file. At the top of the file, define a new catalina.home that points to where-ever Tomcat is currently installed: catalina.home=/usr/local/tomcat-4.0.4 Now make edit the tomcat40.home line: tomcat40.home=${catalina.home} You will also need to point the apache2.home property somewhere sensible. The reason for stating a ${cataline.home} is that otherwise the build process will try to build mod_jk2 for both Tomcat 4 and 4.1, one of which probably isn't installed on your system. Don't edit the remaining entries. They provide defaults that don't get used when compiling, and so are harmless. cd ${jtc.home}/coyote cp build.properties.sample build.properties Edit this file, and make sure that catalina.home points to the root of your Tomcat installation. 5. You are now ready to build the java side of mod_jk. cd ${jtc.home} ant This will ultimately build a jtc.jar file. You should see a few warnings about classes over-riding deprecated APIs, but no errors during the build process. 6. To install the java side of mod_jk2: cd ${jtc.home}/jk/build/lib cp tomcat-coyote.jar tomcat-jk2.jar commons-logging.jar \ tomcat-util.jar commons-logging.jar ${catalina.home} cp tomcat-jni.jar ${catalina.home}/bin where ${catalina.home} is the base of the tomcat installation. This process will overwrite some of the original jar files, so you might want to back them up before deleting them. 7. cd ${catalina.home} vi conf/server.xml Comment out any existing connectors, especially the current ajp13 connector. In the same area of the config file, you should now add the following: Connector className=org.apache.coyote.tomcat4.CoyoteConnector port=8009 minProcessors=5 maxProcessors=75 enableLookups=true redirectPort=8443 acceptCount=10 debug=0 connectionTimeout=2 protocolHandlerClassName=org.apache.jk.server.JkCoyoteHandler / This should configure tomcat to use the newly installed coyote handler to listen on port 8009 (the original ajp13 port) for incoming connections. In addition, it will use mod_jk as the connector. 8. Now
RE: mod_jk cache and socket timeout
Ok, we'll have now to update mod_jk HOWTO to reflect these changes - Henri Gomez ___[_] EMAIL : [EMAIL PROTECTED](. .) PGP KEY : 697ECEDD...oOOo..(_)..oOOo... PGP Fingerprint : 9DF8 1EA8 ED53 2F39 DC9B 904A 364F 80E6 -Original Message- From: Mladen Turk [mailto:[EMAIL PROTECTED]] Sent: Monday, June 24, 2002 6:13 PM To: 'Tomcat Developers List' Subject: RE: mod_jk cache and socket timeout -Original Message- From: GOMEZ Henri [mailto:[EMAIL PROTECTED]] Sent: 24. lipanj 2002 18:10 To: Tomcat Developers List Subject: RE: mod_jk cache and socket timeout +1 at both, if my opinion matters ;-) Yes, it count. So Mladen, let's go and commit. We all three (others welcomed) will make another stress-test operation tomorrow. OK, here are the patches with modified jk_ajp_common that checks if either timeout is set. MT. -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
RE: [Bench] mod_jk cache and socket timeout
If you replay the bench many times, you'll see that the number will change a little. Not a performance gain, a sort of chaos-random addition ;) - Henri Gomez ___[_] EMAIL : [EMAIL PROTECTED](. .) PGP KEY : 697ECEDD...oOOo..(_)..oOOo... PGP Fingerprint : 9DF8 1EA8 ED53 2F39 DC9B 904A 364F 80E6 -Original Message- From: Jan Singer [mailto:[EMAIL PROTECTED]] Sent: Monday, June 24, 2002 7:41 PM To: [EMAIL PROTECTED] Subject: [Bench] mod_jk cache and socket timeout Hi, here are some performance tests. I don't know why it's faster with the patch... Dual PIII 1 GHz, 512MB, Red Hat 7.1, ab running on another machine, 100 Mbit NICs d:- Jan --- with options --- socket_timeout=900 --- cache_timeout=15 Server Software:Apache/1.3.22 Server Hostname:linus Server Port:80 Document Path: /examples/servlet/HelloWorldExample Document Length:393 bytes Concurrency Level: 100 Time taken for tests: 29.223 seconds Complete requests: 1 Failed requests:0 Broken pipe errors: 0 Total transferred: 6180618 bytes HTML transferred: 3930393 bytes Requests per second:342.20 [#/sec] (mean) Time per request: 292.23 [ms] (mean) Time per request: 2.92 [ms] (mean, across all concurrent requests) Transfer rate: 211.50 [Kbytes/sec] received Connnection Times (ms) min mean[+/-sd] median max Connect:0 00.9 014 Processing:26 290 49.3293 545 Waiting: 11 290 49.3292 545 Total: 26 291 49.0293 546 --- with no option set Concurrency Level: 100 Time taken for tests: 28.821 seconds Complete requests: 1 Failed requests:0 Broken pipe errors: 0 Total transferred: 618 bytes HTML transferred: 393 bytes Requests per second:346.97 [#/sec] (mean) Time per request: 288.21 [ms] (mean) Time per request: 2.88 [ms] (mean, across all concurrent requests) Transfer rate: 214.43 [Kbytes/sec] received Connnection Times (ms) min mean[+/-sd] median max Connect:0 13.3 0 113 Processing:56 286 49.5285 536 Waiting: 30 285 49.6285 535 Total: 56 286 49.5286 647 --- without patch Concurrency Level: 100 Time taken for tests: 29.869 seconds Complete requests: 1 Failed requests:0 Broken pipe errors: 0 Total transferred: 6182472 bytes HTML transferred: 3931572 bytes Requests per second:334.80 [#/sec] (mean) Time per request: 298.69 [ms] (mean) Time per request: 2.99 [ms] (mean, across all concurrent requests) Transfer rate: 206.99 [Kbytes/sec] received Connnection Times (ms) min mean[+/-sd] median max Connect:0 00.9 014 Processing:31 297 59.4294 742 Waiting: 29 296 59.4294 742 Total: 31 297 59.4294 743 -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED] -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
Re: 5.0 proposal
- Original Message - From: Pier Fumagalli [EMAIL PROTECTED] To: Tomcat Developers List [EMAIL PROTECTED] Sent: Monday, June 24, 2002 9:49 PM Subject: Re: 5.0 proposal [EMAIL PROTECTED] [EMAIL PROTECTED] wrote: On Mon, 24 Jun 2002, Pier Fumagalli wrote: That's why counts where not right on my side of the border... I don't recall vetoing the proposal... I just complained vehemently that I'd prefer to see 4.0 out of the door and stable rather than a 4.1 and a 5.0... 4.0 is out of door - the release happened long ago. So did 4.0.1... 4.0.4. 4.1 is getting close - and it should be more stable and better than 4.0.4. And 5.0 should be more stable and better than 4.1 and 3.3. And 6.0 will probably be better than 5.0. If you are interested in maintaining and improving 4.0.4 - just volunteer as release manager for the branch, you have my +1 on it. I can't be a RM for 4.0.4 because I would simply remove 70% of the code, and kiddies would start crying their butts off because they don't have the manager application, or JSP support :) But if anyone is interested I'd like to explore the opportunity of a Tomcat-HA (high-availability or hard-edition), based on 4.0 without the crap in there, and straightening out the request-response model... +100! As somebody who also intends to use Tomcat in production (around 10 different sites with a reasonable load, maybe 1/4 of vnunet) this would be very helpful to me. You mentioned a couple of specific things you would like to do. Would it be possible for you elaborate a little more. Regards, Arshad -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
Re: 5.0 proposal
Pier Fumagalli wrote: Remy Maucherat [EMAIL PROTECTED] wrote: I don't see that much to remove. I assume JNDI is the ever popular target, but I didn't notice it causing major problems (either performance or reliability), so I'd say it's not worth it. Actually, I have a complaint... 4.1.3 tries to write into my conf directory: especially the tomcat-users.xml.new file (and since the directory is read only, the VM falls over). Call it defensive administration, but I don't want my engine to write a single file if it's not where I tell him to do: /tmp. And for sure it must not attempt to modify my tomcat-users.xml. Only _root_ can do that, and if this is one of those things you call features, I call it a big huge security hole. Craig calls it a feature, so talk with him :) The new realm does that. If you look at the server.xml, you will notice you can still use the classic memory realm from 4.0 which doesn't do that instead of the new user database realm. Attached there is a nice output of my logfile. Plus, about that random BOUND socket I had, I noticed it's a leftover somehow in some friggin' initialization stage... My ports are 8005 (control) and 8080 (http/coyote) When I start up the thing it's all clear. I start 4.1.2 and notice: Local Address Remote Address Swind Send-Q Rwind Recv-Q State --- --- - -- - -- - localhost.8080 localhost.47420 32768 0 32768 0 TIME_WAIT localhost.47422 localhost.47421 32768 0 32768 0 TIME_WAIT *.8080 *.* 0 0 24576 0 LISTEN Why in the world is TC first of all opening a serversocket on port 47421? (this port number always varies) what's going on here? I don't get that kind of odd behavior on Windows/Cygwin, so I can't help much here. No extra port gets bound in my configuration. Remy -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
RE: 5.0 proposal
Hi all, I was interested to read the differing opinions on 5.0 or not, and I was interested to hear Pier say that he did not think tomcat was an option in a production system. We have been using tomcat 3.2.3 (an out of date version I know) and while it performs it very well under a light load, some strange things start to happen when our site gets busy the only solution seems to be to shut down and restart tomcat (I know that this it not supposed to required on a regular basis is it ?). I wont bother describing exactly what happens because we are using an older version and some of the issues may have been resolved, but we do get some unexpected behaviour under high loads. Long and short : as a user of tomcat, i would be far more appreciative of a so called high-availability or hard-edition than an new feature rich version. Just because thats of most use (I think) to me though :-) -Original Message- From: Arshad Mahmood [mailto:[EMAIL PROTECTED]] Sent: 25 June 2002 09:12 To: Tomcat Developers List Subject: Re: 5.0 proposal - Original Message - From: Pier Fumagalli [EMAIL PROTECTED] To: Tomcat Developers List [EMAIL PROTECTED] Sent: Monday, June 24, 2002 9:49 PM Subject: Re: 5.0 proposal [EMAIL PROTECTED] [EMAIL PROTECTED] wrote: On Mon, 24 Jun 2002, Pier Fumagalli wrote: That's why counts where not right on my side of the border... I don't recall vetoing the proposal... I just complained vehemently that I'd prefer to see 4.0 out of the door and stable rather than a 4.1 and a 5.0... 4.0 is out of door - the release happened long ago. So did 4.0.1... 4.0.4. 4.1 is getting close - and it should be more stable and better than 4.0.4. And 5.0 should be more stable and better than 4.1 and 3.3. And 6.0 will probably be better than 5.0. If you are interested in maintaining and improving 4.0.4 - just volunteer as release manager for the branch, you have my +1 on it. I can't be a RM for 4.0.4 because I would simply remove 70% of the code, and kiddies would start crying their butts off because they don't have the manager application, or JSP support :) But if anyone is interested I'd like to explore the opportunity of a Tomcat-HA (high-availability or hard-edition), based on 4.0 without the crap in there, and straightening out the request-response model... +100! As somebody who also intends to use Tomcat in production (around 10 different sites with a reasonable load, maybe 1/4 of vnunet) this would be very helpful to me. You mentioned a couple of specific things you would like to do. Would it be possible for you elaborate a little more. Regards, Arshad -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED] __ This email has been scanned for all viruses by the MessageLabs SkyScan service. For more information, visit http://www.messagelabs.com _ This message from All-Hotels has been checked for all known viruses by the MessageLabs Virus Scanning Service. For further information visit: http://www.messagelabs.com/stats.asp -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
RE: Configuring mod_jk2
Hi, Perhaps we should explain the new RegisterNatives directive 'inprocess', cause it will register all the needed interfaces by itself... 12. This begs the question: how is mod_jk2 configured. It's done using # Dynamic library serverRoot=/usr/local/apache2 # load the jni library apr.NativeSo=/home/sms/tomcat/lib/libjkjni.so # or use the inprocess jni #apr.NativeSo=inprocess end of workers2.properties -Original Message- From: GOMEZ Henri [mailto:[EMAIL PROTECTED]] Sent: 25. lipanj 2002 9:49 To: Tomcat Developers List Cc: [EMAIL PROTECTED] Subject: FW: Configuring mod_jk2 Contributed documentation for jk2 PS: Note the info that Jetty will also implements ajp13 :) -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
Re: 5.0 proposal
Steven Wood wrote: Hi all, I was interested to read the differing opinions on 5.0 or not, and I was interested to hear Pier say that he did not think tomcat was an option in a production system. We have been using tomcat 3.2.3 (an out of date version I know) and while it performs it very well under a light load, some strange things start to happen when our site gets busy the only solution seems to be to shut down and restart tomcat (I know that this it not supposed to required on a regular basis is it ?). I wont bother describing exactly what happens because we are using an older version and some of the issues may have been resolved, but we do get some unexpected behaviour under high loads. I am really sorry, but you have only yourself to blame for not at least upgrading to Tomcat 3.3.x, which is the HA version of Tomcat 3.2. Long and short : as a user of tomcat, i would be far more appreciative of a so called high-availability or hard-edition than an new feature rich version. Just because thats of most use (I think) to me though :-) Remy -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
RE: 5.0 proposal
I'm also very interested in hearing more about Tomcat HA. Speaking about HIGH AVAILABILITY, is linked to reliability and scalabitity. reliability should be provided by Tomcat core but scalability should be provided by some sorts of software between end-user and Tomcat's core. As I said yesterday, it could be achieved by : - request dispatcher to multiples Tomcat Instance JVM (mod_jk does that and mod_jk2 will push it farther) - tomcat instance datas replications, may be introduced by external APIs like spread or javagroups (javagroups has been used in TC 4.0 but due to its GPL license couldn't be added to Tomcat 4.0) But reliability should cover the full chain : - link between end-user / tomcat - tomcat core - java web application - remote applications / databases (SQL backend, JMS, links to proprietary applications) In my opinion, TC 5.0 should provide a stable core, and offer replication support (via spread/javagroup). Others parts link between end-user and tomcat, should fall in connectors land. Java web applications in on webapp developpers land. Remote Apps / SQL stability depends on SQL JDBC drivers, JMS or proprietary comm layers, and of course on availabity of remote apps/databases. - Henri Gomez ___[_] EMAIL : [EMAIL PROTECTED](. .) PGP KEY : 697ECEDD...oOOo..(_)..oOOo... PGP Fingerprint : 9DF8 1EA8 ED53 2F39 DC9B 904A 364F 80E6 -Original Message- From: Steven Wood [mailto:[EMAIL PROTECTED]] Sent: Tuesday, June 25, 2002 10:41 AM To: 'Tomcat Developers List' Subject: RE: 5.0 proposal Hi all, I was interested to read the differing opinions on 5.0 or not, and I was interested to hear Pier say that he did not think tomcat was an option in a production system. We have been using tomcat 3.2.3 (an out of date version I know) and while it performs it very well under a light load, some strange things start to happen when our site gets busy the only solution seems to be to shut down and restart tomcat (I know that this it not supposed to required on a regular basis is it ?). I wont bother describing exactly what happens because we are using an older version and some of the issues may have been resolved, but we do get some unexpected behaviour under high loads. Long and short : as a user of tomcat, i would be far more appreciative of a so called high-availability or hard-edition than an new feature rich version. Just because thats of most use (I think) to me though :-) -Original Message- From: Arshad Mahmood [mailto:[EMAIL PROTECTED]] Sent: 25 June 2002 09:12 To: Tomcat Developers List Subject: Re: 5.0 proposal - Original Message - From: Pier Fumagalli [EMAIL PROTECTED] To: Tomcat Developers List [EMAIL PROTECTED] Sent: Monday, June 24, 2002 9:49 PM Subject: Re: 5.0 proposal [EMAIL PROTECTED] [EMAIL PROTECTED] wrote: On Mon, 24 Jun 2002, Pier Fumagalli wrote: That's why counts where not right on my side of the border... I don't recall vetoing the proposal... I just complained vehemently that I'd prefer to see 4.0 out of the door and stable rather than a 4.1 and a 5.0... 4.0 is out of door - the release happened long ago. So did 4.0.1... 4.0.4. 4.1 is getting close - and it should be more stable and better than 4.0.4. And 5.0 should be more stable and better than 4.1 and 3.3. And 6.0 will probably be better than 5.0. If you are interested in maintaining and improving 4.0.4 - just volunteer as release manager for the branch, you have my +1 on it. I can't be a RM for 4.0.4 because I would simply remove 70% of the code, and kiddies would start crying their butts off because they don't have the manager application, or JSP support :) But if anyone is interested I'd like to explore the opportunity of a Tomcat-HA (high-availability or hard-edition), based on 4.0 without the crap in there, and straightening out the request-response model... +100! As somebody who also intends to use Tomcat in production (around 10 different sites with a reasonable load, maybe 1/4 of vnunet) this would be very helpful to me. You mentioned a couple of specific things you would like to do. Would it be possible for you elaborate a little more. Regards, Arshad -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED] __ This email has been scanned for all viruses by the MessageLabs SkyScan service. For more information, visit http://www.messagelabs.com _ This message from All-Hotels has been checked for all known viruses by the MessageLabs Virus Scanning Service. For further information visit: http://www.messagelabs.com/stats.asp -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED] -- To
RE: 5.0 proposal
I am really sorry, but you have only yourself to blame for not at least upgrading to Tomcat 3.3.x, which is the HA version of Tomcat 3.2. yip, I know, i'm dowloading it as i send this :-) -Original Message- From: Remy Maucherat [mailto:[EMAIL PROTECTED]] Sent: 25 June 2002 09:45 To: Tomcat Developers List Subject: Re: 5.0 proposal Steven Wood wrote: Hi all, I was interested to read the differing opinions on 5.0 or not, and I was interested to hear Pier say that he did not think tomcat was an option in a production system. We have been using tomcat 3.2.3 (an out of date version I know) and while it performs it very well under a light load, some strange things start to happen when our site gets busy the only solution seems to be to shut down and restart tomcat (I know that this it not supposed to required on a regular basis is it ?). I wont bother describing exactly what happens because we are using an older version and some of the issues may have been resolved, but we do get some unexpected behaviour under high loads. I am really sorry, but you have only yourself to blame for not at least upgrading to Tomcat 3.3.x, which is the HA version of Tomcat 3.2. Long and short : as a user of tomcat, i would be far more appreciative of a so called high-availability or hard-edition than an new feature rich version. Just because thats of most use (I think) to me though :-) Remy -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED] __ This email has been scanned for all viruses by the MessageLabs SkyScan service. For more information, visit http://www.messagelabs.com _ This message from All-Hotels has been checked for all known viruses by the MessageLabs Virus Scanning Service. For further information visit: http://www.messagelabs.com/stats.asp -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
random BOUND socket (was Re: 5.0 proposal).
Remy Maucherat wrote: Pier Fumagalli wrote: Remy Maucherat [EMAIL PROTECTED] wrote: I don't see that much to remove. I assume JNDI is the ever popular target, but I didn't notice it causing major problems (either performance or reliability), so I'd say it's not worth it. Actually, I have a complaint... 4.1.3 tries to write into my conf directory: especially the tomcat-users.xml.new file (and since the directory is read only, the VM falls over). Call it defensive administration, but I don't want my engine to write a single file if it's not where I tell him to do: /tmp. And for sure it must not attempt to modify my tomcat-users.xml. Only _root_ can do that, and if this is one of those things you call features, I call it a big huge security hole. Craig calls it a feature, so talk with him :) The new realm does that. If you look at the server.xml, you will notice you can still use the classic memory realm from 4.0 which doesn't do that instead of the new user database realm. Attached there is a nice output of my logfile. Plus, about that random BOUND socket I had, I noticed it's a leftover somehow in some friggin' initialization stage... My ports are 8005 (control) and 8080 (http/coyote) When I start up the thing it's all clear. I start 4.1.2 and notice: Local Address Remote Address Swind Send-Q Rwind Recv-Q State --- --- - -- - -- - localhost.8080 localhost.47420 32768 0 32768 0 TIME_WAIT localhost.47422 localhost.47421 32768 0 32768 0 TIME_WAIT *.8080 *.* 0 0 24576 0 LISTEN Why in the world is TC first of all opening a serversocket on port 47421? (this port number always varies) what's going on here? I don't get that kind of odd behavior on Windows/Cygwin, so I can't help much here. No extra port gets bound in my configuration. I do see the following on my Linux: +++ tcp0 0 :::127.0.0:http-alt :::127.0.0.1:32893 TIME_WAIT tcp0 0 :::127.0.0.1:32892 :::127.0.0.1:8005 TIME_WAIT tcp0 0 :::127.0.0.1:32894 :::127.0.0.1:8009 TIME_WAIT tcp0 0 ::1:32891 ::1:32890 TIME_WAIT +++ The last line varies: +++ tcp0 0 ::1:32889 ::1:32888 TIME_WAIT +++ When Tomcat is stopped I do not have it. Remy -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED] -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
Re: Configuring mod_jk2
Mladen Turk wrote: Hi, Perhaps we should explain the new RegisterNatives directive 'inprocess', cause it will register all the needed interfaces by itself... 12. This begs the question: how is mod_jk2 configured. It's done using # Dynamic library serverRoot=/usr/local/apache2 I thought it did not work at least last time I tried it: +++ [Tue Jun 25 11:13:54 2002] (error ) [jk_config_file.c (261)] config.update(): Can't find config file ${serverRoot}/conf/workers2.properties +++ # load the jni library apr.NativeSo=/home/sms/tomcat/lib/libjkjni.so # or use the inprocess jni #apr.NativeSo=inprocess end of workers2.properties -Original Message- From: GOMEZ Henri [mailto:[EMAIL PROTECTED]] Sent: 25. lipanj 2002 9:49 To: Tomcat Developers List Cc: [EMAIL PROTECTED] Subject: FW: Configuring mod_jk2 Contributed documentation for jk2 PS: Note the info that Jetty will also implements ajp13 :) -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED] -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
tomcat 4.0.4 rpm release
Available at : http://jakarta.apache.org/builds/jakarta-tomcat-4.0/release/v4.0.4/rpms/ This rpm use external rpms from the Jpackage Project (http://www.jpackage.org) Only needed binary rpm will be present in jakarta rpms directory : jakarta-commons-logging-1.0.1.cvs20020612-1jpp.noarch.rpm regexp-1.2-10jpp.noarch.rpm servletapi4-4.0.3-2jpp.noarch.rpm xerces-j1-1.4.4-10jpp.noarch.rpm Those of you interested in rebuilding tomcat 4 rpms, should go to jpackage project and grab the necessary source rpms. --- Tomcat 4.0 RPM info the RPM will be named tomcat4 to allow coexistence with the actual tomcat 3.x RPM (3.2.x and 3.3) Here is the release notes for the tomcat4.0.x RPM builds. o Starting with Tomcat 4.0.4, there is 2 differents kind of rpm for tomcat4 which follow the 2 Tomcat 4 packages available at jakarta.apache.org - TOMCAT 4 LIGHT EDITION FOR JDK 1.4 This version is a minimal Tomcat 4.0 release with no support for javamail, tyrex extensions. So it didn't include activation, javamail, jdbc2ext, or tyrex. To meet RPM packaging policies, some required packages like jakarta-regexp 1.2, servlet API 2.3 and an XML parser (ie xerces 1.44), will be linked in tomcat4 directories at install time and as such, should be present in system before tomcat4. - TOMCAT 4 FULL EDITION This version include full support for javamail, jndi and tyrex datasources. The rpm include activation.jar, javamail.jar, jdbc2ext and tyrex 0.9.7.0. The rpm also include jndi.jar for JDK 1.2. It also include jakarta-regexp 1.2 and servlet 2.3 APIs, and xerces 1.44. o SSL support SSL support is compiled in, but due to crypto regulation, JSSE jars are not distributed with either version of Tomcat 4 rpm. To make use of SSL, you should have JDK 1.4 or JSSE 1.0.2 jars in CLASSPATH, or in server/lib. If you have JSSE jars on your system, jcert.jar, jsse.jar, jnet.jar, just define JSSE_HOME in /etc/tomcat4/conf/tomcat4.conf those JAR files will be added to thei system class path. o FHS layout Starting with Tomcat 4.O.4, rpm is more FHS compliant, configuration is on /etc/tomcat4/conf, log goes in /var/log/tomcat4, run files in /var/run/tomcat4 and temp files in /var/run/tomcat4/temp. To make Tomcat 4 works, symlinks are made between real FHS location and basedir, /var/tomcat4, location o Tomcat 4 configuration A configuration file /etc/tomcat4/conf/tomcat4.conf is loaded before Tomcat or Jasper start and could be used to tuned JVM params o Tomcat 4 / Jasper 4 invocation Tomcat 4.0 invoker script is tomcat4, Jasper 4.0 is jasper4 Take a look at /etc/tomcat4/conf/tomcat4.conf for tuning o Running mode For security purposes tomcat4 will run as user tomcat4, which should be created by rpm at install time. Warning this user should have a login shell to be able to use the su exec command o Listen ports Starting with Tomcat 4.0.4, Tomcat 4.0 will listen on standard ports, ie port 8080 (HTTP 1.1), 8081 (HTTP 1.0), 8443 (HTTP SSL), 8009 (AJP13), 8008 (WARP). To avoid collision with running TC 3.x, you could use the reloctomcat4 command which will change these ports to 8180, 8181, 8453 and 8109. -- 697ECEDD 2000/04/06 Henri Gomez [EMAIL PROTECTED] Key fingerprint = 9D F8 1E A8 ED 53 2F 39 DC 9B 90 4A 36 4F 80 E6 -- -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
RE: Configuring mod_jk2
Just joined the list after Gomez Henri cc'd the mod_jk2 howto that I've been working here. If any of you want to correct any mistakes, or suggest areas where a little explanation wouldn't go amiss, please let me know. I'm now subscribed to this list, so there's no need to mail me directly (though you can if you want :) I've had a quick scan through the archives, and there appear to be two posts that I've missed responding to the docs, so here are some answers (and questions)! Mladen Turk wondered aloud about the inclusion of ${serverRoot} in the workers2.properties file. My apologies, from my own testing I agree that it doesn't appear to work as expected, but this doesn't appear to cause any problems when connecting apache 2 and Tomcat. The next version will have that line removed from the example config and a comment about the error message being expected and normal added after it. Mladen also mentioned the RegisterNatives directive inprocess. I'm about to go searching through the archives of the list, but if someone would please take the time to explain it to me what it is, I'd be grateful. Anyone? It's tempting to give a slightly more comprehensive example config file, liberally scattered with comments. Are there any new features of the jtc that should be highlighted? Regards, Simon -- I have a longstanding agreement with tequila: I won't drink it, and it won't make me sick. -- Brian Kantor -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
RE: Configuring mod_jk2
-Original Message- From: jean-frederic clere [mailto:[EMAIL PROTECTED]] Sent: 25. lipanj 2002 11:48 To: Tomcat Developers List Subject: Re: Configuring mod_jk2 Mladen Turk wrote: Hi, Perhaps we should explain the new RegisterNatives directive 'inprocess', cause it will register all the needed interfaces by itself... 12. This begs the question: how is mod_jk2 configured. It's done using # Dynamic library serverRoot=/usr/local/apache2 I thought it did not work at least last time I tried it: +++ [Tue Jun 25 11:13:54 2002] (error ) [jk_config_file.c (261)] config.update(): Can't find config file ${serverRoot}/conf/workers2.properties +++ ??? 1.3.x or 2.0 ? Threaded or forked? # load the jni library apr.NativeSo=/home/sms/tomcat/lib/libjkjni.so # or use the inprocess jni #apr.NativeSo=inprocess Sorry for that... This is for the jk2.properties :(. apr.jniModeSo=inprocess MT. -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
RE: Configuring mod_jk2
-Original Message- From: Simon Stewart [mailto:[EMAIL PROTECTED]] Sent: 25. lipanj 2002 12:57 To: [EMAIL PROTECTED] Subject: RE: Configuring mod_jk2 Mladen also mentioned the RegisterNatives directive inprocess. I'm about to go searching through the archives of the list, but if someone would please take the time to explain it to me what it is, I'd be grateful. Anyone? This one goes to the jk2.properties, not the workers2.properties, sorry. The RegisterNatives is the JNI way that we are using to force the mod_jk2 to register its native methods instead of using that from Java, so that we don't need to explicitly use the System.loadLibrary. The option can be enabled with the directive: apr.jniModeSo=inprocess In the jk2.properties. The AprImpl in that case will skip the loading of the jni library, and mod_jk2 will register all the natives. MT. -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
Virtual Directory ?Configure.
Dear Freinds I am working on the LINUX 7.2 , Apache webserver and Tomcat version 4.0.3 If I test all the examples they run perfectly well. http://172.16.10.98:8080/index.html http://172.16.10.98:8080/examples/jsp/index.html http://172.16.10.98:8080/examples/servlets/index.html All these work very fine. MY PROBLEM : On this linux m/c I have an user name tempuser I don't want that user to access the root directories of Tomcat. his home directory is /home/tempuser I want that , he should create and test his applications in his directory only. i.e. he should create filename.jsp in /home/tempuser and from the client he shuld be able to execute http://172.16.10.98:8080/tempuser/filename.jsp I know it is very simple in PWS , can any one of you please help me how I can do this in above OS Wbe server setup thanks in advance dipak -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
Re: Configuring mod_jk2
Mladen Turk wrote: -Original Message- From: jean-frederic clere [mailto:[EMAIL PROTECTED]] Sent: 25. lipanj 2002 11:48 To: Tomcat Developers List Subject: Re: Configuring mod_jk2 Mladen Turk wrote: Hi, Perhaps we should explain the new RegisterNatives directive 'inprocess', cause it will register all the needed interfaces by itself... 12. This begs the question: how is mod_jk2 configured. It's done using # Dynamic library serverRoot=/usr/local/apache2 I thought it did not work at least last time I tried it: +++ [Tue Jun 25 11:13:54 2002] (error ) [jk_config_file.c (261)] config.update(): Can't find config file ${serverRoot}/conf/workers2.properties +++ ??? 1.3.x or 2.0 ? Threaded or forked? 2.0 forked. # load the jni library apr.NativeSo=/home/sms/tomcat/lib/libjkjni.so # or use the inprocess jni #apr.NativeSo=inprocess Sorry for that... This is for the jk2.properties :(. apr.jniModeSo=inprocess I have forgotten it in http://www.apache.org/~jfclere/jk2_docs/configtc.html ;-( MT. -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
Re: Configuring mod_jk2
On Tue, 25 Jun 2002, jean-frederic clere wrote: Mladen Turk wrote: Hi, Perhaps we should explain the new RegisterNatives directive 'inprocess', cause it will register all the needed interfaces by itself... 12. This begs the question: how is mod_jk2 configured. It's done using # Dynamic library serverRoot=/usr/local/apache2 I thought it did not work at least last time I tried it: +++ [Tue Jun 25 11:13:54 2002] (error ) [jk_config_file.c (261)] config.update(): Can't find config file ${serverRoot}/conf/workers2.properties +++ Strange. It should be set in mod_jk2.c, with ap_server_root as value. Could you add a printf in jk2_create_workerEnv.c and see what's wrong ? Costin -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
Re: cvs commit: jakarta-tomcat-connectors/jk/native2/commonjk_channel_socket.c
On Tue, 25 Jun 2002, jean-frederic clere wrote: GOMEZ Henri wrote: I allways use read/write on Unix instead of recv/send. It works way better. Why better? recv/send on BS2000 goes directly to the network through the socket libraries and read/write does with an additional POSIX layer. My problem was the error handling - my man says No indication of failure to deliver is implicit in a send. It now seems write() is not detecting the failure to deliver very well either - so we could probably use send as well. In case a tomcat is restarted we detect the failure only on recv/read - and that creates problems with recovery if POST were made ( well, there is still a bug in the area, I'm working on it ). Costin - Henri Gomez ___[_] EMAIL : [EMAIL PROTECTED](. .) PGP KEY : 697ECEDD...oOOo..(_)..oOOo... PGP Fingerprint : 9DF8 1EA8 ED53 2F39 DC9B 904A 364F 80E6 -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]] Sent: Sunday, June 23, 2002 8:56 AM To: [EMAIL PROTECTED] Subject: cvs commit: jakarta-tomcat-connectors/jk/native2/common jk_channel_socket.c mturk 2002/06/22 23:55:56 Modified:jk/native2/common jk_channel_socket.c Log: Costin changed it to use read/write instead of send/receive. Unfortunaly that doesn't work on WIN32 cause read/write cannot operate on sockets. Perhaps we shoud reverse that unless there is a strong reason to use the read/write on unix. Revision ChangesPath 1.35 +20 -2 jakarta-tomcat-connectors/jk/native2/common/jk_channel_socket.c Index: jk_channel_socket.c === RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/common/jk_channe l_socket.c,v retrieving revision 1.34 retrieving revision 1.35 diff -u -r1.34 -r1.35 --- jk_channel_socket.c20 Jun 2002 18:45:01 - 1.34 +++ jk_channel_socket.c23 Jun 2002 06:55:55 - 1.35 @@ -355,9 +355,13 @@ len=msg-len; b=msg-buf; - + while(sent len) { +#ifdef WIN32 +int this_time = send(sd, (char *)b + sent , len - sent, 0); +#else int this_time = write(sd, (char *)b + sent , len - sent); +#endif if(0 == this_time) { return -2; } @@ -393,9 +397,16 @@ if( sd0 ) return JK_ERR; while(rdlen len) { +#ifdef WIN32 + /* WIN32 read cannot operate on sockets */ + int this_time = recv(sd, + (char *)b + rdlen, + len - rdlen, 0); +#else int this_time = read(sd, (char *)b + rdlen, len - rdlen); +#endif if(-1 == this_time) { #ifdef WIN32 if(SOCKET_ERROR == this_time) { @@ -430,9 +441,16 @@ if( sd0 ) return JK_ERR; while(rdlen minLen ) { +#ifdef WIN32 + /* WIN32 read cannot operate on sockets */ + int this_time = recv(sd, + (char *)b + rdlen, + maxLen - rdlen, 0); +#else int this_time = read(sd, (char *)b + rdlen, - maxLen - rdlen); + maxLen - rdlen); +#endif /* fprintf(stderr, XXX received %d\n, this_time ); */ if(-1 == this_time) { #ifdef WIN32 -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED] -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED] -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED] -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
more on memory leak 4.1.5
hey Remy, I did some more test and here is a bit more info. I tested jasper2 with 4.0.3 and the is NO memory leak there. In fact the memory profile is more stable than jasper1. Also, the CPU usage profile is much more stable with jasper2 with tomcat 4.0.3, so I doubt it is purely jasper2, though it could be a combination of changes to catalina and jasper2. if I have time later today or tomorrow I will try to use JProbe and profile the memory usage. I'll post any useful data I find. peter --- Remy Maucherat [EMAIL PROTECTED] wrote: peter lin wrote: i just did some quick tests with scriptlet and jsp tag pages. Both result in out of memory error after a couple hundred hits using JMeter for benchmarking. Has anyone else seen this? I saw a few reports like that in tc-user, and I'm investigating. So I'd like more details. Esp on the concurrency level you're using. I just noticed trouble if I was using high concurrency levels with ab (like 100), and I found that to be because each HTTP/1.1 processor is allocating buffers which are too big (each processor allocates about 1M worth of memory). With a lower concurrency level (about 40-50), this won't cause memory errors, even with the default VM setting. Raising the VM memory limit provides a complete workaround for that bug, as the processors are only allocating a lot of memory once, they are not leaking it after that. I'm committing a change to the constant used (128K was really too much). I don't think that was your problem, though. Remy -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED] __ Do You Yahoo!? Yahoo! - Official partner of 2002 FIFA World Cup http://fifaworldcup.yahoo.com -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED] -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
DO NOT REPLY [Bug 10212] New: - I can't set up the Coyote Connector to run in HTTPS mode
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT http://nagoya.apache.org/bugzilla/show_bug.cgi?id=10212. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE. http://nagoya.apache.org/bugzilla/show_bug.cgi?id=10212 I can't set up the Coyote Connector to run in HTTPS mode Summary: I can't set up the Coyote Connector to run in HTTPS mode Product: Tomcat 4 Version: 4.0.4 Final Platform: PC OS/Version: Windows NT/2K Status: NEW Severity: Normal Priority: Other Component: Connector:Coyote HTTP/1.1 AssignedTo: [EMAIL PROTECTED] ReportedBy: [EMAIL PROTECTED] I can set up the Coyote Adaptor to work in http mode, but if I configure the Connector to run in HTTPS mode, then tomcat starts up fine but the browser cannot connect to any url in https mode. http works fine. When I comment out my coyote setup code and activate my setup code for the old connectors everything works. Here are the relevant config lines from the server.xml file. (I also included an out-commented setup for the old http connector in https mode which works fine. By the way, you will also note that for https connections I set the attributes maxProcessors and acceptCount to extremely high values to make tomcat work within our production system. Otherwise Tomcat 4.s.th. rejected some requests when I ran load tests and this behaviour also showed up within our production environment under usual load. Since that time I have not yet run any further tests to verify whether Tomcat 4.0.4 bahaves differently, but I am also not sure whether this is a bug at all, since https connections always maintain a session notion. I also do not quite understand the semantics of these two properties and why one property doesn't do, although I read the documentation...) OK. Here is my setup: !-- Define a non-SSL Coyote HTTP/1.1 Connector on port 80 -- Connector className=org.apache.coyote.tomcat4.CoyoteConnector port=80 minProcessors=5 maxProcessors=75 enableLookups=true redirectPort=443 acceptCount=10 debug=0 connectionTimeout=6/ !-- Define an SSL HTTP/1.1 Connector on port 443 -- !-- Connector className=org.apache.catalina.connector.http.HttpConnector port=443 minProcessors=5 maxProcessors=750 enableLookups=true acceptCount=100 debug=0 scheme=https secure=true Factory className=org.apache.catalina.net.SSLServerSocketFactory keystorePass=changeit keystoreType=pkcs12 keystoreFile=D:\cert\spares.p12 clientAuth=false protocol=TLS/ /Connector -- !-- Define an SSL Coyote HTTP/1.1 Connector on port 443 -- Connector className=org.apache.coyote.tomcat4.CoyoteConnector port=443 minProcessors=5 maxProcessors=750 enableLookups=true acceptCount=100 debug=0 scheme=https secure=true Factory className=org.apache.catalina.net.SSLServerSocketFactory keystorePass=changeit keystoreType=pkcs12 keystoreFile=D:\cert\spares.p12 clientAuth=false protocol=TLS/ /Connector -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
Re: 5.0 proposal
Arshad Mahmood [EMAIL PROTECTED] wrote: +100! As somebody who also intends to use Tomcat in production (around 10 different sites with a reasonable load, maybe 1/4 of vnunet) this would be very helpful to me. You mentioned a couple of specific things you would like to do. Would it be possible for you elaborate a little more. Arshad, you don't count... You work with me! :) :) :) :) Pier -- [Perl] combines all the worst aspects of C and Lisp: a billion of different sublanguages in one monolithic executable. It combines the power of C with the readability of PostScript. [Jamie Zawinski - DNA Lounge - San Francisco] -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
Re: random BOUND socket (was Re: 5.0 proposal).
jean-frederic clere [EMAIL PROTECTED] wrote: I do see the following on my Linux: +++ tcp0 0 :::127.0.0:http-alt :::127.0.0.1:32893 TIME_WAIT tcp0 0 :::127.0.0.1:32892 :::127.0.0.1:8005 TIME_WAIT tcp0 0 :::127.0.0.1:32894 :::127.0.0.1:8009 TIME_WAIT tcp0 0 ::1:32891 ::1:32890 TIME_WAIT +++ The last line varies: +++ tcp0 0 ::1:32889 ::1:32888 TIME_WAIT +++ When Tomcat is stopped I do not have it. It seems that you are actually observing my same odd behavior... On Solaris, when the TIME_WAIT expires, one of those sockets becomes BOUND, as if noone ever closed it... Pier -- [Perl] combines all the worst aspects of C and Lisp: a billion of different sublanguages in one monolithic executable. It combines the power of C with the readability of PostScript. [Jamie Zawinski - DNA Lounge - San Francisco] -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
DO NOT REPLY [Bug 10212] - I can't set up the Coyote Connector to run in HTTPS mode
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT http://nagoya.apache.org/bugzilla/show_bug.cgi?id=10212. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE. http://nagoya.apache.org/bugzilla/show_bug.cgi?id=10212 I can't set up the Coyote Connector to run in HTTPS mode --- Additional Comments From [EMAIL PROTECTED] 2002-06-25 14:48 --- Can you explain what happens when you try to use HTTPS? You get an error? What error? What do the server logs say? -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
RE: random BOUND socket (was Re: 5.0 proposal).
We add a timeout features in mod_jk 1.2.0 to close sockets after some time of inactivity :) - Henri Gomez ___[_] EMAIL : [EMAIL PROTECTED](. .) PGP KEY : 697ECEDD...oOOo..(_)..oOOo... PGP Fingerprint : 9DF8 1EA8 ED53 2F39 DC9B 904A 364F 80E6 -Original Message- From: Pier Fumagalli [mailto:[EMAIL PROTECTED]] Sent: Tuesday, June 25, 2002 4:41 PM To: Tomcat Developers List Subject: Re: random BOUND socket (was Re: 5.0 proposal). jean-frederic clere [EMAIL PROTECTED] wrote: I do see the following on my Linux: +++ tcp0 0 :::127.0.0:http-alt :::127.0.0.1:32893 TIME_WAIT tcp0 0 :::127.0.0.1:32892 :::127.0.0.1:8005 TIME_WAIT tcp0 0 :::127.0.0.1:32894 :::127.0.0.1:8009 TIME_WAIT tcp0 0 ::1:32891 ::1:32890 TIME_WAIT +++ The last line varies: +++ tcp0 0 ::1:32889 ::1:32888 TIME_WAIT +++ When Tomcat is stopped I do not have it. It seems that you are actually observing my same odd behavior... On Solaris, when the TIME_WAIT expires, one of those sockets becomes BOUND, as if noone ever closed it... Pier -- [Perl] combines all the worst aspects of C and Lisp: a billion of different sublanguages in one monolithic executable. It combines the power of C with the readability of PostScript. [Jamie Zawinski - DNA Lounge - San Francisco] -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED] -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
DO NOT REPLY [Bug 10220] - tags data not being cleared after tag executes
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT http://nagoya.apache.org/bugzilla/show_bug.cgi?id=10220. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE. http://nagoya.apache.org/bugzilla/show_bug.cgi?id=10220 tags data not being cleared after tag executes [EMAIL PROTECTED] changed: What|Removed |Added Status|NEW |RESOLVED Resolution||INVALID --- Additional Comments From [EMAIL PROTECTED] 2002-06-25 16:02 --- Your tag is not compliant with the specification, which mandates the possibility for the container to reuse a tag instance. See the examples of tag reuse in the specification. Because many tags are likely to be incompatible with tag reuse, it will probably be possible in future Jasper 2 versions to disable tag reuse. -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
Re: more on memory leak 4.1.5
peter lin wrote: hey Remy, I did some more test and here is a bit more info. I tested jasper2 with 4.0.3 and the is NO memory leak there. In fact the memory profile is more stable than jasper1. Also, the CPU usage profile is much more stable with jasper2 with tomcat 4.0.3, so I doubt it is purely jasper2, though it could be a combination of changes to catalina and jasper2. It's normal, since Jasper 2 recycles almost all of its objects. if I have time later today or tomorrow I will try to use JProbe and profile the memory usage. I'll post any useful data I find. I've made a few tests with servlets, and it looks like the memory usage is ok (well, at least, it doesn't leak memory; before my change yesterday, each HTTP/1.1 processor was still allocating a lot of memory when it was created). Remy -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
RE: 5.0 proposal
Pier could you detail what should be a Tomcat HA, and how it could fit in TC 5.0 proposal ? As far as I can remember it was voted -1... What about TC 5.0 with HA capability ? -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
Re: JDBCStore implementation
On Mon, 24 Jun 2002 [EMAIL PROTECTED] wrote: Date: Mon, 24 Jun 2002 16:34:12 +0200 From: [EMAIL PROTECTED] Reply-To: Tomcat Developers List [EMAIL PROTECTED] To: [EMAIL PROTECTED] Subject: JDBCStore implementation Hello everyone, I am writing about an issue on invalidation of sessions. In the current implementation, a session is deleted from the Database when it is invalidated. Is this really the behavior expected? What purpose would be served by leaving the expired session in the database? There is no API that would let a servlet retrieve that data again, so wouldn't it just clog up the disk? I mean, if there is an attribute to specify if a session is valid or not, a session that is invalidated should have this attribute reset instead of being deleted, isn't it? If this is not true, it is not possible to see difference between a session that is not valid anymore and a new one. Identifying a new session versus an old (but still active one) is a different question. The in-memory session manager knows this by noting a difference between the created time and the last accessed time (which is updated via a call to access()). It looks like JDBCStore isn't saving the created time, or the value of the isNew flag, so there's no way to know when the session is reloaded -- that sounds like a reasonable enhancement. Can anyone tell me something about the plans for the implementation of this feature? Best way to ensure that this gets done eventually is to submit an enhancement request to the bug tracking system: http://nagoya.apache.org/bugzilla/ Cheers, Daniel Craig -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
jasper2
hey remy, did this CVS commit http://www.mail-archive.com/tomcat-dev@jakarta.apache.org/msg29253.html, fix the bug where FileNotFoundException is thrown because the working directory was deleted for force a refresh? peter -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
Re: JDBCStore implementation
Hi Bob, Thanks for your answer! Well, I agree that the refered field in the database would fit perfectly in the case of having more than one instance of Tomcat handling requests, but why can't it be used for the local session handling as well? About what you wrote: Once a session is marked invalid, my understanding is that it only exists for the remaining scope of the page that marked it invalid.. In my case I am ont invalidating the session in any page, the session is timed out by tomcat. And I had a simple test page in an environment with a timeout for the session set to a low value (3 minutes). If I follow what tomcat is doing, these are the steps: 1 - The session is backed up to the database (I set the value maxIdleBackup=10) after nearly 10 seconds of inactivity. 2 - In my jsp page I check the methods session.isNew() = false, request.isRequestedSessionIdValid() = true. This would be the expected behavior. 3 - After the session is timed out by tomcat (I simply take no action during 3 minutes), it is removed from the database. 4 - I try again to acess the same JSP page and the methods return session.isNew() = true and request.isRequestedSessionIdValid() = false. This would also be ok except for the fact that I have a NEW value for the sessionID. With this behavior it is impossible to find out if I have a new session or an expired one. Maybe I am missing something here, but my idea was to redirect the user to a page telling him something like: hi my friend, please login again because your session has expired. With the current implementation I am finding no solution to this. Cheers, Daniel [EMAIL PROTECTED] 24.06.2002 18:17 Please respond to Tomcat Developers List To: [EMAIL PROTECTED] cc: Subject:Re: JDBCStore implementation Hello everyone, I am writing about an issue on invalidation of sessions. In the current implementation, a session is deleted from the Database when it is invalidated. Is this really the behavior expected? I have been looking over the code some, and I think that behavior is correct. I think the DB schema was written with the thinking that that field may some day be useful when more than one instance of Tomcat is handling requests. I mean, if there is an attribute to specify if a session is valid or not, a session that is invalidated should have this attribute reset instead of being deleted, isn't it? If this is not true, it is not possible to see difference between a session that is not valid anymore and a new one. Once a session is marked invalid, my understanding is that it only exists for the remaining scope of the page that marked it invalid. I think if you have a page with 2 frames in it, and one of the frames marks the session as invalid, the other frame might get; * a valid session until it is marked invalid by the other page or * a new session depending on the race condition of the browser and webserver loading both frames. Cheers, -bob Can anyone tell me something about the plans for the implementation of this feature? Cheers, Daniel -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED] Cheers, -bob -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED] -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
DO NOT REPLY [Bug 6279] - Resubmit to j_security_check mistakenly fetches a page of that name
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT http://nagoya.apache.org/bugzilla/show_bug.cgi?id=6279. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE. http://nagoya.apache.org/bugzilla/show_bug.cgi?id=6279 Resubmit to j_security_check mistakenly fetches a page of that name --- Additional Comments From [EMAIL PROTECTED] 2002-06-25 16:23 --- Created an attachment (id=2181) diagram showing flowchart of problem -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
Re: JDBCStore implementation
Craig R. McClanahan [EMAIL PROTECTED] 25.06.2002 18:08 Please respond to Tomcat Developers List To: Tomcat Developers List [EMAIL PROTECTED] cc: Subject:Re: JDBCStore implementation Hello Craig, On Mon, 24 Jun 2002 [EMAIL PROTECTED] wrote: Date: Mon, 24 Jun 2002 16:34:12 +0200 From: [EMAIL PROTECTED] Reply-To: Tomcat Developers List [EMAIL PROTECTED] To: [EMAIL PROTECTED] Subject: JDBCStore implementation Hello everyone, I am writing about an issue on invalidation of sessions. In the current implementation, a session is deleted from the Database when it is invalidated. Is this really the behavior expected? What purpose would be served by leaving the expired session in the database? There is no API that would let a servlet retrieve that data again, so wouldn't it just clog up the disk? Ok, this is true, but what other way do I have to find out if the session for this request was expired or not? (please check my reply to bob's mail) I mean, if there is an attribute to specify if a session is valid or not, a session that is invalidated should have this attribute reset instead of being deleted, isn't it? If this is not true, it is not possible to see difference between a session that is not valid anymore and a new one. Identifying a new session versus an old (but still active one) is a different question. The in-memory session manager knows this by noting a difference between the created time and the last accessed time (which is updated via a call to access()). It looks like JDBCStore isn't saving the created time, or the value of the isNew flag, so there's no way to know when the session is reloaded -- that sounds like a reasonable enhancement. Well the JDBStore has no way to know this, unless he is saving these values in BLOB field (I did not check this in the code), because the attributes in the sessions table are not related to creation time; it is possible to access only the lastacess time. Can anyone tell me something about the plans for the implementation of this feature? Best way to ensure that this gets done eventually is to submit an enhancement request to the bug tracking system: http://nagoya.apache.org/bugzilla/ Thanks for the hint! I'll wait for some replies to be sure that I really cannot do what I intend to, and if this is true, I'll submit the request later. Cheers, Daniel -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED] -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
Mod_jk
Has anyone had this problem with any success? platform: Windows 2000 Professional Jakarta Tomcat 4.1.3 Apache 2.0.39 Mod_jk.dll connector My_Sql 4.0.1 I have a successful connection between Tomcat and Apache via the mod_jk module. All JSP's are displaying with the appropriate data from MySql. My problem is that no images will display when I connect through Apache, via port 80. When I connect to Tomcat direct through port 8080, everything displays properly including images. Currently, I am running my application under Tomcat's webapp subdirectory. Is there something that I perhaps not did properly configure with Apache's http.conf file or with server.xml? Any suggestions or answers would certainly be appreciated. Thanks, Lenny Sorey -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
DO NOT REPLY [Bug 10018] - Socket exception (AJP1.3 and Coyote JK2)
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT http://nagoya.apache.org/bugzilla/show_bug.cgi?id=10018. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE. http://nagoya.apache.org/bugzilla/show_bug.cgi?id=10018 Socket exception (AJP1.3 and Coyote JK2) --- Additional Comments From [EMAIL PROTECTED] 2002-06-25 17:05 --- Output in mod_jk.log with a slightly modified jk_ajp_common.c to log the msglen and the jk_b_get_size(msg) within method ajp_connection_tcp_get_message. I seem to remember a problem with responses 8k from a long time ago. [Tue Jun 25 18:06:56 2002] [jk_ajp_common.c (701)]: received from ajp13 #142 [Tue Jun 25 18:06:56 2002] [jk_ajp_common.c (462)]: ajp_unmarshal_response: status = 200 [Tue Jun 25 18:06:56 2002] [jk_ajp_common.c (467)]: ajp_unmarshal_response: Number of headers is = 4 [Tue Jun 25 18:06:56 2002] [jk_ajp_common.c (507)]: ajp_unmarshal_response: Header[0] [ETag] = [W/18404-1024087954000] [Tue Jun 25 18:06:56 2002] [jk_ajp_common.c (507)]: ajp_unmarshal_response: Header[1] [Last-Modified] = [Fri, 14 Jun 2002 20:52:34 GMT] [Tue Jun 25 18:06:56 2002] [jk_ajp_common.c (507)]: ajp_unmarshal_response: Header[2] [Content-Type] = [image/jpeg] [Tue Jun 25 18:06:56 2002] [jk_ajp_common.c (507)]: ajp_unmarshal_response: Header[3] [Content-Length] = [18404] [Tue Jun 25 18:06:56 2002] [jk_ajp_common.c (687)]: ajp_connection_tcp_get_message: Error - Wrong message size msglen (8196) msglen_expected (8192) [Tue Jun 25 18:06:56 2002] [jk_ajp_common.c (1015)]: Error reading reply [Tue Jun 25 18:06:56 2002] [jk_ajp_common.c (1152)]: In jk_endpoint_t::service, ajp_get_reply failed in send loop 0 -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
HA tomcat ( was: RE: 5.0 proposal)
On Tue, 25 Jun 2002, GOMEZ Henri wrote: Pier could you detail what should be a Tomcat HA, and how it could fit in TC 5.0 proposal ? As far as I can remember it was voted -1... What about TC 5.0 with HA capability ? TC5.0 will have a 'higher availability' then 4.1 which is better than 4.0. Same goes for 3.3 versus 3.2, and so on. rant -stop reading if you're not interested in flames -- I am trying as hard as possible to remain calm and on the subject when discussing with 'angry' Pier - but the FUD he is using is unbelievable. He can't use tomcat4.0 in production ? Maybe he's trying to do that with mod_webapp ( with no load balancing AFAIK, and 'auto configuration' ). And he complains about features - well, Apache is full of features, and most people know how to not enable the modules that they don't need on a production site. Now he proposes a HA tomcat - as if all our efforts in so far has been in adding useless features and nobody else cares about HA. Well, if you would pay attention a lot of work is beeing put in improving the lb ( an essential factor for HA ), in adding management ( guess what - JMX is not only for configuration, but also for getting runtime info and notifications ), and in improving the low-level objects to beter deal with the load ( that's coyote ) plus for 5.0 a simpler core that would allow more modularity ( coyote again ). And the solution he proposes: removing 'useless' features like jasper or JMX. Well, I know quite a few people who managed to get tomcat in production on a variety of sites ( including very large loads). Even with tomcat3.2 - a generation behind the current 3.3 and 4.0. They do that using load balancing and customizing the installation. Unfortunately Pier's tomcat4.0 doesn't support load balancing, and it seems he's having problems with the admin module of 4.1. Well, send a patch - or just disable the offending module in your code. Tomcat out-of-box is feature full and more intended for developers ( who greatly outnumber the 'production sites'). If you read the 5.0 proposal, it allows ( or includes ) the ability to release customized tomcats. Of course, nobody stops Pier on working on whatever he wants - a -1 means he can't do it in the main branch and he can't use the name 'tomcat', but the proposal/ area has allwasy been open. If he can get a 'higher availability' than we'll get with 5.0 - great, we'll all be happy. But now Pier treatens he'll just leave us oprhapns ( without a father). I certainly hope he's not serious with that, and if he does - I hope he'll return. And in the meantime he may try to learn to be a bit more polite and modest - and control his frustrations. /rant Costin -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
Re: 5.0 proposal
GOMEZ Henri [EMAIL PROTECTED] wrote: Pier could you detail what should be a Tomcat HA, and how it could fit in TC 5.0 proposal ? As far as I can remember it was voted -1... What about TC 5.0 with HA capability ? Well... It's a matter of code... Given that there is not one line of code in there, it's really hard to fit it into a proposal... We need to switch Servlet Engine by the fall (meaning that we'll have a working prototype by the end of July). I can cram out some code in the public, and make it available to see what I mean by HA. As I'm discovering the wonders of subversion, I placed a little repository up on Nagoya to work on the proposal: It is available here: http://nagoya.apache.org/svn/jakarta-tomcat-ha/ If you guys don't want to see it associated with the Apache name, just let me know and I will move it off on my (Betaversion or VNU) servers. Pier -- [Perl] combines all the worst aspects of C and Lisp: a billion of different sublanguages in one monolithic executable. It combines the power of C with the readability of PostScript. [Jamie Zawinski - DNA Lounge - San Francisco] -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
Re: 5.0 proposal
On Tue, 25 Jun 2002, Pier Fumagalli wrote: http://nagoya.apache.org/svn/jakarta-tomcat-ha/ If you guys don't want to see it associated with the Apache name, just let me know and I will move it off on my (Betaversion or VNU) servers. If possible, please also change the name - unless ASF gives you permission to use tomcat name in your product. Costin -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
DO NOT REPLY [Bug 10220] - tags data not being cleared after tag executes
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT http://nagoya.apache.org/bugzilla/show_bug.cgi?id=10220. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE. http://nagoya.apache.org/bugzilla/show_bug.cgi?id=10220 tags data not being cleared after tag executes [EMAIL PROTECTED] changed: What|Removed |Added Status|RESOLVED|REOPENED Resolution|INVALID | --- Additional Comments From [EMAIL PROTECTED] 2002-06-25 17:13 --- Shouldnt the release() method be called between reuses of the tag to ensure that old values are not there? -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
RE: Configuring mod_jk2
-Original Message- The RegisterNatives is the JNI way that we are using to force the mod_jk2 to register its native methods instead of using that from Java, so that we don't need to explicitly use the System.loadLibrary. The option can be enabled with the directive: apr.jniModeSo=inprocess In the jk2.properties. The AprImpl in that case will skip the loading of the jni library, and mod_jk2 will register all the natives. Does this mean that I can skip the apr.NativeSo directive in this file? What is the expected output when this line is included? When I omit the explicit loading of the libjkjni.so file, I get: Yes, but you don't need to start the TC then. It is ment to be started from Apache itself, using something like that from workers2.properties: [channel.jni:jni] info=The jni channel, used if tomcat is started inprocess disabled=0 debug=0 [vm:] info=Parameters used to load a JVM in the server process OPT=-Djava.class.path=${TOMCAT_HOME}/bin/tomcat-jni.jar OPT=-Djava.class.path=${APACHE2_HOME}/bin/modjava.jar OPT=-Dtomcat.home=${TOMCAT_HOME} OPT=-Dcatalina.home=${TOMCAT_HOME} OPT=-Xmx128M disabled=0 [worker.jni:jniCmd1] info=Command to be executed by the VM. This one will start tomcat. class=org/apache/jk/apr/TomcatStarter ARG=start disabled=0 MT. -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
RE: HA tomcat ( was: RE: 5.0 proposal)
Although Pier is sometimes harsh with his words he does have some valid points. I would be nice for tomcat to be somewhat modular so if all you want is a servlet engine just get those components. This also goes with moving the CVS repositories.. so you can get only the modules you want and build the parts of tomcat that you need with out all the overhead. -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]] Sent: Tuesday, June 25, 2002 1:07 PM To: Tomcat Developers List Subject: HA tomcat ( was: RE: 5.0 proposal) On Tue, 25 Jun 2002, GOMEZ Henri wrote: Pier could you detail what should be a Tomcat HA, and how it could fit in TC 5.0 proposal ? As far as I can remember it was voted -1... What about TC 5.0 with HA capability ? TC5.0 will have a 'higher availability' then 4.1 which is better than 4.0. Same goes for 3.3 versus 3.2, and so on. rant -stop reading if you're not interested in flames -- I am trying as hard as possible to remain calm and on the subject when discussing with 'angry' Pier - but the FUD he is using is unbelievable. He can't use tomcat4.0 in production ? Maybe he's trying to do that with mod_webapp ( with no load balancing AFAIK, and 'auto configuration' ). And he complains about features - well, Apache is full of features, and most people know how to not enable the modules that they don't need on a production site. Now he proposes a HA tomcat - as if all our efforts in so far has been in adding useless features and nobody else cares about HA. Well, if you would pay attention a lot of work is beeing put in improving the lb ( an essential factor for HA ), in adding management ( guess what - JMX is not only for configuration, but also for getting runtime info and notifications ), and in improving the low-level objects to beter deal with the load ( that's coyote ) plus for 5.0 a simpler core that would allow more modularity ( coyote again ). And the solution he proposes: removing 'useless' features like jasper or JMX. Well, I know quite a few people who managed to get tomcat in production on a variety of sites ( including very large loads). Even with tomcat3.2 - a generation behind the current 3.3 and 4.0. They do that using load balancing and customizing the installation. Unfortunately Pier's tomcat4.0 doesn't support load balancing, and it seems he's having problems with the admin module of 4.1. Well, send a patch - or just disable the offending module in your code. Tomcat out-of-box is feature full and more intended for developers ( who greatly outnumber the 'production sites'). If you read the 5.0 proposal, it allows ( or includes ) the ability to release customized tomcats. Of course, nobody stops Pier on working on whatever he wants - a -1 means he can't do it in the main branch and he can't use the name 'tomcat', but the proposal/ area has allwasy been open. If he can get a 'higher availability' than we'll get with 5.0 - great, we'll all be happy. But now Pier treatens he'll just leave us oprhapns ( without a father). I certainly hope he's not serious with that, and if he does - I hope he'll return. And in the meantime he may try to learn to be a bit more polite and modest - and control his frustrations. /rant Costin -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED] -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
Re: JDBCStore implementation
See intermixed. On Tue, 25 Jun 2002 [EMAIL PROTECTED] wrote: Date: Tue, 25 Jun 2002 18:34:43 +0200 From: [EMAIL PROTECTED] Reply-To: Tomcat Developers List [EMAIL PROTECTED] To: Tomcat Developers List [EMAIL PROTECTED] Subject: Re: JDBCStore implementation Craig R. McClanahan [EMAIL PROTECTED] 25.06.2002 18:08 Please respond to Tomcat Developers List To: Tomcat Developers List [EMAIL PROTECTED] cc: Subject:Re: JDBCStore implementation Hello Craig, On Mon, 24 Jun 2002 [EMAIL PROTECTED] wrote: Date: Mon, 24 Jun 2002 16:34:12 +0200 From: [EMAIL PROTECTED] Reply-To: Tomcat Developers List [EMAIL PROTECTED] To: [EMAIL PROTECTED] Subject: JDBCStore implementation Hello everyone, I am writing about an issue on invalidation of sessions. In the current implementation, a session is deleted from the Database when it is invalidated. Is this really the behavior expected? What purpose would be served by leaving the expired session in the database? There is no API that would let a servlet retrieve that data again, so wouldn't it just clog up the disk? Ok, this is true, but what other way do I have to find out if the session for this request was expired or not? (please check my reply to bob's mail) I mean, if there is an attribute to specify if a session is valid or not, a session that is invalidated should have this attribute reset instead of being deleted, isn't it? If this is not true, it is not possible to see difference between a session that is not valid anymore and a new one. Identifying a new session versus an old (but still active one) is a different question. The in-memory session manager knows this by noting a difference between the created time and the last accessed time (which is updated via a call to access()). It looks like JDBCStore isn't saving the created time, or the value of the isNew flag, so there's no way to know when the session is reloaded -- that sounds like a reasonable enhancement. Well the JDBStore has no way to know this, unless he is saving these values in BLOB field (I did not check this in the code), because the attributes in the sessions table are not related to creation time; it is possible to access only the lastacess time. Looks like a flaw in JDBCStore's design -- it should probably save the created time, or the new property, so it that can properly distinguish new versus old sessions. Can anyone tell me something about the plans for the implementation of this feature? Best way to ensure that this gets done eventually is to submit an enhancement request to the bug tracking system: http://nagoya.apache.org/bugzilla/ Thanks for the hint! I'll wait for some replies to be sure that I really cannot do what I intend to, and if this is true, I'll submit the request later. Cheers, Daniel Craig -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
RE: HA tomcat ( was: RE: 5.0 proposal)
On Tue, 25 Jun 2002, John Trollinger wrote: Date: Tue, 25 Jun 2002 13:19:40 -0400 From: John Trollinger [EMAIL PROTECTED] Reply-To: Tomcat Developers List [EMAIL PROTECTED] To: 'Tomcat Developers List' [EMAIL PROTECTED] Subject: RE: HA tomcat ( was: RE: 5.0 proposal) Although Pier is sometimes harsh with his words he does have some valid points. I would be nice for tomcat to be somewhat modular so if all you want is a servlet engine just get those components. I'd say both the 3.3 and 4.0/4.1 architectures are already pretty modular -- is there something specific that you consider monolithic that should be factored apart? Or is it just that finer-grained build.xml targets would do what you want? This also goes with moving the CVS repositories.. so you can get only the modules you want and build the parts of tomcat that you need with out all the overhead. The Apache infrastructure folks (well, at least some of them) tend to frown on multiple CVS repositories for a single project, and they've got a point -- the number of CVS repositories has nothing to do with how many deliverable distributions you can create from them. For example, the jakarta-commons and jakarta-taglibs repositories each host lots of independently released packages, while a single Tomcat release combines code from 5-10 independent repositories. Craig -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]] Sent: Tuesday, June 25, 2002 1:07 PM To: Tomcat Developers List Subject: HA tomcat ( was: RE: 5.0 proposal) On Tue, 25 Jun 2002, GOMEZ Henri wrote: Pier could you detail what should be a Tomcat HA, and how it could fit in TC 5.0 proposal ? As far as I can remember it was voted -1... What about TC 5.0 with HA capability ? TC5.0 will have a 'higher availability' then 4.1 which is better than 4.0. Same goes for 3.3 versus 3.2, and so on. rant -stop reading if you're not interested in flames -- I am trying as hard as possible to remain calm and on the subject when discussing with 'angry' Pier - but the FUD he is using is unbelievable. He can't use tomcat4.0 in production ? Maybe he's trying to do that with mod_webapp ( with no load balancing AFAIK, and 'auto configuration' ). And he complains about features - well, Apache is full of features, and most people know how to not enable the modules that they don't need on a production site. Now he proposes a HA tomcat - as if all our efforts in so far has been in adding useless features and nobody else cares about HA. Well, if you would pay attention a lot of work is beeing put in improving the lb ( an essential factor for HA ), in adding management ( guess what - JMX is not only for configuration, but also for getting runtime info and notifications ), and in improving the low-level objects to beter deal with the load ( that's coyote ) plus for 5.0 a simpler core that would allow more modularity ( coyote again ). And the solution he proposes: removing 'useless' features like jasper or JMX. Well, I know quite a few people who managed to get tomcat in production on a variety of sites ( including very large loads). Even with tomcat3.2 - a generation behind the current 3.3 and 4.0. They do that using load balancing and customizing the installation. Unfortunately Pier's tomcat4.0 doesn't support load balancing, and it seems he's having problems with the admin module of 4.1. Well, send a patch - or just disable the offending module in your code. Tomcat out-of-box is feature full and more intended for developers ( who greatly outnumber the 'production sites'). If you read the 5.0 proposal, it allows ( or includes ) the ability to release customized tomcats. Of course, nobody stops Pier on working on whatever he wants - a -1 means he can't do it in the main branch and he can't use the name 'tomcat', but the proposal/ area has allwasy been open. If he can get a 'higher availability' than we'll get with 5.0 - great, we'll all be happy. But now Pier treatens he'll just leave us oprhapns ( without a father). I certainly hope he's not serious with that, and if he does - I hope he'll return. And in the meantime he may try to learn to be a bit more polite and modest - and control his frustrations. /rant Costin -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED] -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED] -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
Re: 5.0 proposal
- Original Message - From: Pier Fumagalli [EMAIL PROTECTED] To: Tomcat Developers List [EMAIL PROTECTED] Sent: Tuesday, June 25, 2002 3:36 PM Subject: Re: 5.0 proposal Arshad Mahmood [EMAIL PROTECTED] wrote: +100! As somebody who also intends to use Tomcat in production (around 10 different sites with a reasonable load, maybe 1/4 of vnunet) this would be very helpful to me. You mentioned a couple of specific things you would like to do. Would it be possible for you elaborate a little more. Arshad, you don't count... You work with me! :) :) :) :) Pier, This is for my own sites not for vnu (my commitments are very limited to vnu anyway). I intend to go with Tomcat 4.1 into production in the next couple of weeks (volume will be insignificant for the first site) so I intend to spend quite a bit of time trying to iron out bugs/problems and scaling issues. As such I have the time to spare to work on the Tomcat enhancements to make it more scalable/reliable. I am very keen to hear your ideas. Regards, Arshad -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
DO NOT REPLY [Bug 10220] - tags data not being cleared after tag executes
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT http://nagoya.apache.org/bugzilla/show_bug.cgi?id=10220. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE. http://nagoya.apache.org/bugzilla/show_bug.cgi?id=10220 tags data not being cleared after tag executes [EMAIL PROTECTED] changed: What|Removed |Added Status|REOPENED|RESOLVED Resolution||INVALID --- Additional Comments From [EMAIL PROTECTED] 2002-06-25 17:34 --- Not according to the JSP spec. For example, see the lifecycle diagram on page 164 of the JSP 1.2 spec -- Section 10.1.1). It's perfectly legal for the the container to call doStartTag() ... doEndTag() multiple times on the same tag instance before calling release(). The container does promise that it will only reuse tags that have exactly the same set of attributes defined. But it definitely does *not* promise to call release() in between each use. -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
Re: 5.0 proposal
I'm interested in this Tomcat HA also. If you have a plan, please send it out. I'm willing to help. GOMEZ Henri wrote: As somebody who also intends to use Tomcat in production (around 10 different sites with a reasonable load, maybe 1/4 of vnunet) this would be very helpful to me. You mentioned a couple of specific things you would like to do. Would it be possible for you elaborate a little more. Arshad, you don't count... You work with me! :) :) :) :) Pier could you detail what should be a Tomcat HA, and how it could fit in TC 5.0 proposal ? -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
RE: HA tomcat ( was: RE: 5.0 proposal)
On Tue, 25 Jun 2002, John Trollinger wrote: Although Pier is sometimes harsh with his words he does have some valid points. I would be nice for tomcat to be somewhat modular so if all you want is a servlet engine just get those components. This also goes with moving the CVS repositories.. so you can get only the modules you want and build the parts of tomcat that you need with out all the overhead. I run tomcat on my sharp Zaurus, using a J2ME VM - it's the developer edition, with about 16M heap ( out of 32 M RAM ). The whole installation is below 1.5M ( well, with crimson.jar taking a lot of space - but it can be replaced with a smaller parser ). I agree it is a bit bloated, and I hope 5.0 will fit in 512K. If people are too lazy to remove the stuff they don't need on a production site - we could easily provide a 'tomcat lazy edition'. Since most users are lazy developers, that's what the default release includes. Are you enabling all the modules that comes with Apache by default ? Or maybe all the possible modules ( mod_auth_ldap, mod_dav, etc ) ? Do you see any apache distribution that includes just part of the code, with the modules that Pier doesn't use left out ? Costin -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]] Sent: Tuesday, June 25, 2002 1:07 PM To: Tomcat Developers List Subject: HA tomcat ( was: RE: 5.0 proposal) On Tue, 25 Jun 2002, GOMEZ Henri wrote: Pier could you detail what should be a Tomcat HA, and how it could fit in TC 5.0 proposal ? As far as I can remember it was voted -1... What about TC 5.0 with HA capability ? TC5.0 will have a 'higher availability' then 4.1 which is better than 4.0. Same goes for 3.3 versus 3.2, and so on. rant -stop reading if you're not interested in flames -- I am trying as hard as possible to remain calm and on the subject when discussing with 'angry' Pier - but the FUD he is using is unbelievable. He can't use tomcat4.0 in production ? Maybe he's trying to do that with mod_webapp ( with no load balancing AFAIK, and 'auto configuration' ). And he complains about features - well, Apache is full of features, and most people know how to not enable the modules that they don't need on a production site. Now he proposes a HA tomcat - as if all our efforts in so far has been in adding useless features and nobody else cares about HA. Well, if you would pay attention a lot of work is beeing put in improving the lb ( an essential factor for HA ), in adding management ( guess what - JMX is not only for configuration, but also for getting runtime info and notifications ), and in improving the low-level objects to beter deal with the load ( that's coyote ) plus for 5.0 a simpler core that would allow more modularity ( coyote again ). And the solution he proposes: removing 'useless' features like jasper or JMX. Well, I know quite a few people who managed to get tomcat in production on a variety of sites ( including very large loads). Even with tomcat3.2 - a generation behind the current 3.3 and 4.0. They do that using load balancing and customizing the installation. Unfortunately Pier's tomcat4.0 doesn't support load balancing, and it seems he's having problems with the admin module of 4.1. Well, send a patch - or just disable the offending module in your code. Tomcat out-of-box is feature full and more intended for developers ( who greatly outnumber the 'production sites'). If you read the 5.0 proposal, it allows ( or includes ) the ability to release customized tomcats. Of course, nobody stops Pier on working on whatever he wants - a -1 means he can't do it in the main branch and he can't use the name 'tomcat', but the proposal/ area has allwasy been open. If he can get a 'higher availability' than we'll get with 5.0 - great, we'll all be happy. But now Pier treatens he'll just leave us oprhapns ( without a father). I certainly hope he's not serious with that, and if he does - I hope he'll return. And in the meantime he may try to learn to be a bit more polite and modest - and control his frustrations. /rant Costin -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED] -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED] -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
Re: HA tomcat ( was: RE: 5.0 proposal)
[EMAIL PROTECTED] wrote: On Tue, 25 Jun 2002, GOMEZ Henri wrote: Pier could you detail what should be a Tomcat HA, and how it could fit in TC 5.0 proposal ? As far as I can remember it was voted -1... What about TC 5.0 with HA capability ? TC5.0 will have a 'higher availability' then 4.1 which is better than 4.0. Same goes for 3.3 versus 3.2, and so on. rant -stop reading if you're not interested in flames -- I am trying as hard as possible to remain calm and on the subject when discussing with 'angry' Pier - but the FUD he is using is unbelievable. He can't use tomcat4.0 in production ? Maybe he's trying to do that with mod_webapp ( with no load balancing AFAIK, and 'auto configuration' ). And he complains about features - well, Apache is full of features, and most people know how to not enable the modules that they don't need on a production site. Now he proposes a HA tomcat - as if all our efforts in so far has been in adding useless features and nobody else cares about HA. Well, if you would pay attention a lot of work is beeing put in improving the lb ( an essential factor for HA ), in adding management ( guess what - JMX is not only for configuration, but also for getting runtime info and notifications ), and in improving the low-level objects to beter deal with the load ( that's coyote ) plus for 5.0 a simpler core that would allow more modularity ( coyote again ). And the solution he proposes: removing 'useless' features like jasper or JMX. Well, I know quite a few people who managed to get tomcat in production on a variety of sites ( including very large loads). Even with tomcat3.2 - a generation behind the current 3.3 and 4.0. They do that using load balancing and customizing the installation. Unfortunately Pier's tomcat4.0 doesn't support load balancing, and it seems he's having problems with the admin module of 4.1. Well, send a patch - or just disable the offending module in your code. Tomcat out-of-box is feature full and more intended for developers ( who greatly outnumber the 'production sites'). If you read the 5.0 proposal, it allows ( or includes ) the ability to release customized tomcats. Of course, nobody stops Pier on working on whatever he wants - a -1 means he can't do it in the main branch and he can't use the name 'tomcat', but the proposal/ area has allwasy been open. If he can get a 'higher availability' than we'll get with 5.0 - great, we'll all be happy. But now Pier treatens he'll just leave us oprhapns ( without a father). I certainly hope he's not serious with that, and if he does - I hope he'll return. And in the meantime he may try to learn to be a bit more polite and modest - and control his frustrations. /rant Even omitting personal comments from the rant (which I have to admit I share), you did a sooo impressive work on improving Tomcat HA-level during the 3.0-3.1-3.2-3.3 releases that I definitely trust you to help take Tomcat 5.0 to the next HA-level. On a side note, it would be really nice if Tomcat developers could STOP writing blanket FUD-style statements about whatever module / the container / etc when they didn't even care to review the code. Remy -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
DO NOT REPLY [Bug 10153] - Tomcat 4.0.4 requires that crimson.jar be in $TOMCAT_HOME/common/lib
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT http://nagoya.apache.org/bugzilla/show_bug.cgi?id=10153. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE. http://nagoya.apache.org/bugzilla/show_bug.cgi?id=10153 Tomcat 4.0.4 requires that crimson.jar be in $TOMCAT_HOME/common/lib [EMAIL PROTECTED] changed: What|Removed |Added AssignedTo|[EMAIL PROTECTED] |tomcat- ||[EMAIL PROTECTED] Component|Standard Taglib |Catalina Product|Taglibs |Tomcat 4 Version|1.0 |4.0.4 Final --- Additional Comments From [EMAIL PROTECTED] 2002-06-25 18:05 --- This is a Tomcat issue. In Tomcat 4.0.4, the WebAppClassLoader's exclusion list includes the JaxP classes. What that means is that the web application's classloader will not be able to load any of these classes. That's why you're seeing it work only when you put the classes in Tomcat's container classloader. Also, if you use JDK 1.4 you will not run into this issue since the parser classes are loaded via the system classloader. -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
Re: Configuring mod_jk2
While documenting the jk2 config, it would be _very_ usefull to make some notes on how we can improve the configuration in future. My goal was (is) to eventually support a preferences-like configuration, with multiple backends ( including directory services and win32 registry ). The model used is 'named objects with properties' - each configurable jk component has a name and a number of attributes it supports. ( same thing is already modeled in tomcat - via JMX ) Unfortunately we don't have yet support on the java side for the [ini] style, that would simplify the documentation - but that may be good, as it underline the fact that the config data storage is supposed to be modular. If you find something that doesn't seem right, we can still fix it. Costin On Tue, 25 Jun 2002, Simon Stewart wrote: On Tue, Jun 25, 2002 at 01:13:02PM +0200, Mladen Turk wrote: -Original Message- From: Simon Stewart [mailto:[EMAIL PROTECTED]] Sent: 25. lipanj 2002 12:57 To: [EMAIL PROTECTED] Subject: RE: Configuring mod_jk2 Mladen also mentioned the RegisterNatives directive inprocess. I'm about to go searching through the archives of the list, but if someone would please take the time to explain it to me what it is, I'd be grateful. Anyone? This one goes to the jk2.properties, not the workers2.properties, sorry. The RegisterNatives is the JNI way that we are using to force the mod_jk2 to register its native methods instead of using that from Java, so that we don't need to explicitly use the System.loadLibrary. The option can be enabled with the directive: apr.jniModeSo=inprocess In the jk2.properties. The AprImpl in that case will skip the loading of the jni library, and mod_jk2 will register all the natives. Does this mean that I can skip the apr.NativeSo directive in this file? What is the expected output when this line is included? When I omit the explicit loading of the libjkjni.so file, I get: 25-Jun-2002 15:44:46 org.apache.jk.server.JkMain init INFO: Starting Jk2, base dir= /home/sms/tomcat conf=/home/sms/tomcat/conf/jk2.properties 25-Jun-2002 15:44:46 org.apache.jk.server.JkMain start INFO: APR not loaded, disabling jni components: java.io.IOException: no jkjni in java.library.path 25-Jun-2002 15:44:46 org.apache.jk.common.ChannelSocket init INFO: JK: listening on tcp port 8009 25-Jun-2002 15:44:46 org.apache.jk.server.JkMain start INFO: Jk running ID=0 ... init time=383 ms Starting service Tomcat-Standalone Apache Tomcat/4.0.4 And connections using a UNIX domain socket fail. With the line included everything appears to work, but how can I tell if RegisterNatives is working? Regards, Simon -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
Re: HA tomcat ( was: RE: 5.0 proposal)
[EMAIL PROTECTED] wrote: On Tue, 25 Jun 2002, GOMEZ Henri wrote: Pier could you detail what should be a Tomcat HA, and how it could fit in TC 5.0 proposal ? As far as I can remember it was voted -1... What about TC 5.0 with HA capability ? TC5.0 will have a 'higher availability' then 4.1 which is better than 4.0. Same goes for 3.3 versus 3.2, and so on. [snip] Well, I know quite a few people who managed to get tomcat in production on a variety of sites ( including very large loads). I run Tomcat on 20 or so production web sites, with volumes in the 2/3 million hits per day mark. I've been running Tomcat since march 2000, starting with 3.2.1. I think with a little of involvment it is easy to set up a high availability environment using Apache/Tomcat and maybe hardware load balancers. Maybe what is missing is a good tutorial on such a setup. Maybe I could start thinking about writing something about our setup. We came up with neat tricks to handle live application upgrade and this sort of things. I don't know where this could fit in but it is definitely the kind of HOWTO that could be good for the spread of Tomcat on production environments. As for the pure servlet speed Tomcat can deliver, from what I see everyday, the bottleneck is usually in the data tier and not in the application server, so this is a purely sterile debate in my opinion. Just my 2 cents of euro worth. Mathias. -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
DO NOT REPLY [Bug 10225] New: - ANT Tasks Error Situation
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT http://nagoya.apache.org/bugzilla/show_bug.cgi?id=10225. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE. http://nagoya.apache.org/bugzilla/show_bug.cgi?id=10225 ANT Tasks Error Situation Summary: ANT Tasks Error Situation Product: Tomcat 4 Version: Nightly Build Platform: All OS/Version: All Status: NEW Severity: Enhancement Priority: Other Component: Unknown AssignedTo: [EMAIL PROTECTED] ReportedBy: [EMAIL PROTECTED] for example the org.apache.catalina.ant.StartTask will throw an exception when you try to start a webapp which is allready running, this results in a build-error in ANT. But in ANT build files where you emulate something like hot-deploy in using a stop/startTask combination, there are situations where you try to start an webapp which is allready running. There should be an attribute where you can define if you really want to throw an Exception (aka BuildError) or not. something like: tcstart url=${catalina.url} username=${catalina.username} password=${catalina.password} path=/maxbahr/ builderroronfail=false The same goes for several other tasks like StopTask for allready stopped webapps. Craig mentioned correctly that a distinction between bad-startup or allready running would be nice. IMO bad startup (which is mostly some bad user/pw/path combination) should result in BuildError, but allready running Situation should be left to the user... I just mentioned StartTask and StopTask, there may be others where the same pattern could be applied. -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
[PATCH] Patch to allow more flexible WebdavServlet/DefaultServlet operation
Two patches attached, catalina/src/share/org/apache/catalina/servlets/DefaultServlet.java catalina/src/share/org/apache/catalina/servlets/WebdavServlet.java There are two main pieces to this patch: 1) The addition of an isDefaultServlet initialization parameter to the WebdavServlet This allows the webdav servlet to be integrated as both the default servlet as well as a url-pattern prefix servlet. Some small mods are made to generate correct HREF's in a PROPFIND request based on this parameter value. 2) Parameterize getResources() DefaultServlet and WebdavServlet to pass in a HttpServletRequest object so that DirContext's can be created by derived servlets to return DirContext's on other request-based parameters, either in the URL or session or whatever. The default behavior is to simply ignore the HttpServletRequest parameter and return the same DirContext that has always been returned (the one created on webapp initialization). Lemme know if this can be applied by somebody. Thanks Index: DefaultServlet.java === RCS file: /home/cvspublic/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/servlets/DefaultServlet.java,v retrieving revision 1.39.2.6 diff -u -r1.39.2.6 DefaultServlet.java --- DefaultServlet.java 18 Apr 2002 03:08:04 - 1.39.2.6 +++ DefaultServlet.java 24 Jun 2002 18:33:23 - @@ -1,5 +1,5 @@ /* - * $Header: /home/cvspublic/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/servlets/DefaultServlet.java,v 1.39.2.6 2002/04/18 03:08:04 billbarker Exp $ + * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/servlets/DefaultServlet.java,v 1.39.2.6 2002/04/18 03:08:04 billbarker Exp $ * $Revision: 1.39.2.6 $ * $Date: 2002/04/18 03:08:04 $ * @@ -344,6 +344,18 @@ /** + * Return a DirContext. This can be overridden in subclasses to return + * different kind of DirContexts if desired, perhaps based on data in the + * request. By, default we call DefaultServlet's getResources() to return + * the context-configured resource. + */ +protected DirContext getResources(HttpServletRequest request) +{ + return getResources(); +} + + +/** * Get resources. This method will try to retrieve the resources through * JNDI first, then in the servlet context if JNDI has failed (it could be * disabled). It will return null. @@ -588,7 +600,7 @@ } // Retrieve the resources -DirContext resources = getResources(); +DirContext resources = getResources(req); if (resources == null) { resp.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR); @@ -655,7 +667,7 @@ // Retrieve the Catalina context // Retrieve the resources -DirContext resources = getResources(); +DirContext resources = getResources(req); if (resources == null) { resp.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR); @@ -1049,7 +1061,7 @@ } // Retrieve the Catalina context and Resources implementation -DirContext resources = getResources(); +DirContext resources = getResources(request); ResourceInfo resourceInfo = new ResourceInfo(path, resources); if (!resourceInfo.exists) { Index: WebdavServlet.java === RCS file: /home/cvspublic/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/servlets/WebdavServlet.java,v retrieving revision 1.25.2.2 diff -u -r1.25.2.2 WebdavServlet.java --- WebdavServlet.java 1 Apr 2002 18:17:43 - 1.25.2.2 +++ WebdavServlet.java 24 Jun 2002 18:33:09 - @@ -1,5 +1,5 @@ /* - * $Header: /home/cvspublic/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/servlets/WebdavServlet.java,v 1.25.2.2 2002/04/01 18:17:43 remm Exp $ + * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/servlets/WebdavServlet.java,v 1.25.2.2 2002/04/01 18:17:43 remm Exp $ * $Revision: 1.25.2.2 $ * $Date: 2002/04/01 18:17:43 $ * @@ -249,6 +249,19 @@ */ private String secret = catalina; + +/** + * This flag keeps track of whether the servlet is invoked as the default + * servlet for the web application. We need to know the difference + * since the because we use HttpServletRequest methods to generate + * HREF's in the XML that gets returned for PROPFIND, etc. In testing, + * depending on the Webdav client and if this servlet is + * a default servlet the behavior of getServletPath() + * and getPathInfo() varies. A user must put true in the web.xml + * for this init parameter if the url-pattern for the servlet + * is the string /. + */ +private boolean isDefaultServlet = true; // - Public Methods @@ -266,6 +279,9 @@ value =
Re: HA tomcat ( was: RE: 5.0 proposal)
Mathias, Thanks for the encouraged news. We've been using Tomcat in our product for a while now. Now, I need to set it up with support for minimum 100K simultaneous connection to our server side. If you could share some of your knowledge how you did it with your site, it would be tremendously helpful for me and many other Tomcat user out there. Regards, Huy Tran. Mathias Herberts wrote: [EMAIL PROTECTED] wrote: On Tue, 25 Jun 2002, GOMEZ Henri wrote: Pier could you detail what should be a Tomcat HA, and how it could fit in TC 5.0 proposal ? As far as I can remember it was voted -1... What about TC 5.0 with HA capability ? TC5.0 will have a 'higher availability' then 4.1 which is better than 4.0. Same goes for 3.3 versus 3.2, and so on. [snip] Well, I know quite a few people who managed to get tomcat in production on a variety of sites ( including very large loads). I run Tomcat on 20 or so production web sites, with volumes in the 2/3 million hits per day mark. I've been running Tomcat since march 2000, starting with 3.2.1. I think with a little of involvment it is easy to set up a high availability environment using Apache/Tomcat and maybe hardware load balancers. Maybe what is missing is a good tutorial on such a setup. Maybe I could start thinking about writing something about our setup. We came up with neat tricks to handle live application upgrade and this sort of things. I don't know where this could fit in but it is definitely the kind of HOWTO that could be good for the spread of Tomcat on production environments. As for the pure servlet speed Tomcat can deliver, from what I see everyday, the bottleneck is usually in the data tier and not in the application server, so this is a purely sterile debate in my opinion. Just my 2 cents of euro worth. Mathias. -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
mod_jk JkAutoMount
Anyone know anything about the mod_jk directive JkAutoMount? I've seen some about it in the documentation, in the source, and via a web search, but it's all a little bit sketchy. It sounds like it can be used instead of JkMount, to have the web server query the servlet container for what URL's it's supposed to forward (and to what contexts) to Tomcat. But it's not clear that's what it does. And it's not clear it's been fully implemented. And it's not clear which version of mod_jk it's part of. If anyone can shed some light on these questions, I'd appreciate it. Milt Epstein Research Programmer Systems and Technology Services (STS) Campus Information Technologies and Educational Services (CITES) University of Illinois at Urbana-Champaign (UIUC) [EMAIL PROTECTED] -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
Separating Tomcat and Apache configuration
We're trying to come up with a way to use Tomcat integrated with Apache in our production enviroment. In this environment, we have service managers and system managers. There may be multiple services (and hence multiple service managers) per machine. And there'd be one Tomcat instance per service. The management of Tomcat would be the responsibility of the service managers, while the management of Apache would be the responsibility of the system manager. The ideal case would be if these duties could be totally separated. But we've been having problems coming up with an arrangement that allows this. The problem is that the connector directives (whether it be mod_jk or mod_webapp) that tell Apache what URLs to forward to a particular Tomcat instance must be in Apaches httpd.conf file (which is under control of the system manager, recall). This is a problem when the service manager wants to deploy new web applications. Some comments: 1. We could have httpd.conf include a file under each service manager's control. But this is undesirable. 2. If the connector directives could be specified in .htaccess files, this would give us the control we need. But apparently this is not possible. It's my understanding that when a directive is created, it is specified what context it can be used in, where server, virtualhost, and htaccess are some of the possible contexts. Is there some special reason mod_jk and mod_webapp directives are not allowed in htaccess context? What would it take to add this? Is this something the tomcat developers would consider doing. 3. What exactly is the JkAutoMount directive, and is it implemented in any connector? I saw this, and it looked it could be used to have the web server (Apache) query the servlet container (Tomcat) was to what URL's/contexts there were. But details were sketchy. But if this mechanism did exist, we might be able to use to do what we want. 4. I don't know exactly how the Tomcat manager application handles installing/starting webapps, but if it works when Tomcat is integrated with Apache, this too might allow us to do what want. However, I've recently gathered that this mechanism only works with Tomcat standalone, so it probably won't help us. Any info that might helps us get closer to what we're trying to do would surely be appreciated. That might be elaboration/clarification of some of the ideas mentioned above, or some other ideas I didn't mention. Thanks! Milt Epstein Research Programmer Systems and Technology Services (STS) Campus Information Technologies and Educational Services (CITES) University of Illinois at Urbana-Champaign (UIUC) [EMAIL PROTECTED] -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
Re: HA tomcat ( was: RE: 5.0 proposal)
On Tue, 25 Jun 2002, Huy Tran wrote: Mathias, Thanks for the encouraged news. We've been using Tomcat in our product for a while now. Now, I need to set it up with support for minimum 100K simultaneous connection to our server side. If you could share some of your knowledge how you did it with your site, it would be tremendously helpful for me and many other Tomcat user out there. 100k simultaneous connections ??? Well, that's a lot. Depending on the request and hardware, you could run 1-200 RPS on one tomcat - but you would need a pretty large farm to load balance 100.000. I would use few hardware load balancers, and several apache boxes in front of the farm. Hopefully not all of the requests will be for dynamic content - so you may be able to handle it. But I've never seen 100.000 concurent users ( well, google probably has more - and is certainly not impossible - but it'll take some work ) Costin Regards, Huy Tran. Mathias Herberts wrote: [EMAIL PROTECTED] wrote: On Tue, 25 Jun 2002, GOMEZ Henri wrote: Pier could you detail what should be a Tomcat HA, and how it could fit in TC 5.0 proposal ? As far as I can remember it was voted -1... What about TC 5.0 with HA capability ? TC5.0 will have a 'higher availability' then 4.1 which is better than 4.0. Same goes for 3.3 versus 3.2, and so on. [snip] Well, I know quite a few people who managed to get tomcat in production on a variety of sites ( including very large loads). I run Tomcat on 20 or so production web sites, with volumes in the 2/3 million hits per day mark. I've been running Tomcat since march 2000, starting with 3.2.1. I think with a little of involvment it is easy to set up a high availability environment using Apache/Tomcat and maybe hardware load balancers. Maybe what is missing is a good tutorial on such a setup. Maybe I could start thinking about writing something about our setup. We came up with neat tricks to handle live application upgrade and this sort of things. I don't know where this could fit in but it is definitely the kind of HOWTO that could be good for the spread of Tomcat on production environments. As for the pure servlet speed Tomcat can deliver, from what I see everyday, the bottleneck is usually in the data tier and not in the application server, so this is a purely sterile debate in my opinion. Just my 2 cents of euro worth. Mathias. -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED] -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
RE: HA tomcat ( was: RE: 5.0 proposal)
Mathias, It would be great to see some details on your experiences with load-balancing Tomcat, and any tricks you've come up with would be much appreciated by the community (well, at least my part of it ;) We also run Tomcat 4.0 in production, behind a hardware load balancer. It's working great thus far, but we don't have nearly the traffic to require even the setup we have now, so I can't contribute an aweful lot except to say 'works-for-me' Aaron Dunlop -Original Message- From: Mathias Herberts [mailto:[EMAIL PROTECTED]] Sent: Tuesday, June 25, 2002 11:23 AM To: Tomcat Developers List Subject: Re: HA tomcat ( was: RE: 5.0 proposal) [snip] Well, I know quite a few people who managed to get tomcat in production on a variety of sites ( including very large loads). I run Tomcat on 20 or so production web sites, with volumes in the 2/3 million hits per day mark. I've been running Tomcat since march 2000, starting with 3.2.1. I think with a little of involvment it is easy to set up a high availability environment using Apache/Tomcat and maybe hardware load balancers. Maybe what is missing is a good tutorial on such a setup. Maybe I could start thinking about writing something about our setup. We came up with neat tricks to handle live application upgrade and this sort of things. I don't know where this could fit in but it is definitely the kind of HOWTO that could be good for the spread of Tomcat on production environments. As for the pure servlet speed Tomcat can deliver, from what I see everyday, the bottleneck is usually in the data tier and not in the application server, so this is a purely sterile debate in my opinion. Just my 2 cents of euro worth. Mathias. -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED] -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
Re: HA tomcat ( was: RE: 5.0 proposal)
Dunlop, Aaron wrote: Mathias, It would be great to see some details on your experiences with load-balancing Tomcat, and any tricks you've come up with would be much appreciated by the community (well, at least my part of it ;) We also run Tomcat 4.0 in production, behind a hardware load balancer. It's working great thus far, but we don't have nearly the traffic to require even the setup we have now, so I can't contribute an aweful lot except to say 'works-for-me' There's a link on that on the site: http://jakarta.apache.org/tomcat/resources.html Remy -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
DO NOT REPLY [Bug 8552] - malformed URL upon second redirect
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT http://nagoya.apache.org/bugzilla/show_bug.cgi?id=8552. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE. http://nagoya.apache.org/bugzilla/show_bug.cgi?id=8552 malformed URL upon second redirect [EMAIL PROTECTED] changed: What|Removed |Added Status|RESOLVED|REOPENED Component|Catalina|Connector:Webapp Resolution|WORKSFORME | Version|4.0.3 Final |4.1.3 --- Additional Comments From [EMAIL PROTECTED] 2002-06-25 20:00 --- The bug is fixed if you run tomcat as standalone, but it still remains when using the webapp connector. -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
Re: JDBCStore implementation
Hi Bob, Thanks for your answer! Well, I agree that the refered field in the database would fit perfectly in the case of having more than one instance of Tomcat handling requests, but why can't it be used for the local session handling as well? About what you wrote: Once a session is marked invalid, my understanding is that it only exists for the remaining scope of the page that marked it invalid.. In my case I am not invalidating the session in any page, the session is timed out by tomcat. And I had a simple test page in an environment with a timeout for the session set to a low value (3 minutes). ok... a session is said to be invalid when marked invalid (by calling session.invalidate() ) by a Servlet or JSP page. When a session is expired, it is also marked invalid, but it is immediately removed from being accessible. So the only time your code should be able to manipulate a Session it should be in the valid state unless your code explicitly marks it as invalid. So writting an expired/invalidated session to the store would be pointless because it is just about to be thrown away. If I follow what tomcat is doing, these are the steps: 1 - The session is backed up to the database (I set the value maxIdleBackup=10) after nearly 10 seconds of inactivity. 2 - In my jsp page I check the methods session.isNew() = false, request.isRequestedSessionIdValid() = true. This would be the expected behavior. 3 - After the session is timed out by tomcat (I simply take no action during 3 minutes), it is removed from the database. 4 - I try again to acess the same JSP page and the methods return session.isNew() = true and request.isRequestedSessionIdValid() = false. This would also be ok except for the fact that I have a NEW value for the sessionID. Yea, this seems correct. Your old session times out after 3 minutes and is disposed. Your browswer then connects and is assigned a new sesstion. The old session was marked invalid for probably a few miliseconds and then disposed of (or recycled.) With this behavior it is impossible to find out if I have a new session or an expired one. Maybe I am missing something here, but my idea was to redirect the user to a page telling him something like: hi my friend, please login again because your session has expired. With the current implementation I am finding no solution to this. You have a new session. because request.isRequestedSessionIdValid() = false, you know an older session is no longer available. To detect and handle a new/previously logged in user, You could do something like this on your page, if (session.isNew() request.isRequestedSessionIdValid() == false ) { response.sendRedirect(/relogin.jsp); } You should also do something to ensures your session (new or otherwise) is cooked the way you want it, like if( session.getAttribute(username) == null) { reponse.sendRedirect(/pleaseLogin.jsp); } or some such. Cheers, -bob Cheers, Daniel [EMAIL PROTECTED] 24.06.2002 18:17 Please respond to Tomcat Developers List To: [EMAIL PROTECTED] cc: Subject:Re: JDBCStore implementation Hello everyone, I am writing about an issue on invalidation of sessions. In the current implementation, a session is deleted from the Database when it is invalidated. Is this really the behavior expected? I have been looking over the code some, and I think that behavior is correct. I think the DB schema was written with the thinking that that field may some day be useful when more than one instance of Tomcat is handling requests. I mean, if there is an attribute to specify if a session is valid or not, a session that is invalidated should have this attribute reset instead of being deleted, isn't it? If this is not true, it is not possible to see difference between a session that is not valid anymore and a new one. Once a session is marked invalid, my understanding is that it only exists for the remaining scope of the page that marked it invalid. I think if you have a page with 2 frames in it, and one of the frames marks the session as invalid, the other frame might get; * a valid session until it is marked invalid by the other page or * a new session depending on the race condition of the browser and webserver loading both frames. Cheers, -bob Can anyone tell me something about the plans for the implementation of this feature? Cheers, Daniel -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED] Cheers, -bob -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED] -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands,
DO NOT REPLY [Bug 10229] New: - Request parameters lost after authenticated through login page
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT http://nagoya.apache.org/bugzilla/show_bug.cgi?id=10229. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE. http://nagoya.apache.org/bugzilla/show_bug.cgi?id=10229 Request parameters lost after authenticated through login page Summary: Request parameters lost after authenticated through login page Product: Tomcat 4 Version: 4.0.3 Final Platform: PC OS/Version: Windows NT/2K Status: NEW Severity: Blocker Priority: Other Component: Catalina AssignedTo: [EMAIL PROTECTED] ReportedBy: [EMAIL PROTECTED] I have a web appplication which declares the security contraint in web.xml file so that when a request such as https://localhost:8443/context/someservlet?param1=xparam2=y; is sent from the browser, the server returns with loginpage to ask client to authenticate. When the client is authenticated, the request parameters seem to be lost. someservlet can't find param1 or param2. But if I submit the same request again from the browser during the same session, the parameters can be picked up by someservlet. The security-contraint is defined as the following: security-constraint web-resource-collection web-resource-name/web-resource-name url-pattern/someservlet/url-pattern /web-resource-collection auth-constraint role-namerole1/role-name role-namerole2/role-name /auth-constraint user-data-constraint transport-guaranteeCONFIDENTIAL/transport-guarantee /user-data-constraint /security-constraint login-config auth-methodFORM/auth-method form-login-config form-login-page/loginpage.jsp/form-login-page form-error-page/errorpage.jsp/form-error-page /form-login-config /login-config -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]