svn commit: r1306209 - in /tomcat/jk/trunk/native: apache-1.3/mod_jk.c apache-2.0/mod_jk.c common/jk_shm.c common/jk_shm.h iis/jk_isapi_plugin.c netscape/jk_nsapi_plugin.c
Author: mturk Date: Wed Mar 28 08:17:59 2012 New Revision: 1306209 URL: http://svn.apache.org/viewvc?rev=1306209&view=rev Log: Step one in shared memory simplification. Make each allocated slot of same size. It'll waste few bytes, but will ensure grater consistency Modified: tomcat/jk/trunk/native/apache-1.3/mod_jk.c tomcat/jk/trunk/native/apache-2.0/mod_jk.c tomcat/jk/trunk/native/common/jk_shm.c tomcat/jk/trunk/native/common/jk_shm.h tomcat/jk/trunk/native/iis/jk_isapi_plugin.c tomcat/jk/trunk/native/netscape/jk_nsapi_plugin.c Modified: tomcat/jk/trunk/native/apache-1.3/mod_jk.c URL: http://svn.apache.org/viewvc/tomcat/jk/trunk/native/apache-1.3/mod_jk.c?rev=1306209&r1=1306208&r2=1306209&view=diff == --- tomcat/jk/trunk/native/apache-1.3/mod_jk.c (original) +++ tomcat/jk/trunk/native/apache-1.3/mod_jk.c Wed Mar 28 08:17:59 2012 @@ -257,7 +257,7 @@ static jk_logger_t *main_log = NULL; static table *jk_log_fds = NULL; static jk_worker_env_t worker_env; static char *jk_shm_file = NULL; -static size_t jk_shm_size = 0; +static int jk_shm_size = 0; static int jk_shm_size_set = 0; /* * Worker stuff @@ -1349,7 +1349,7 @@ static const char *jk_set_shm_size(cmd_p sz = JK_SHM_DEF_SIZE; else sz = JK_SHM_ALIGN(sz); -jk_shm_size = (size_t)sz; +jk_shm_size = sz; if (jk_shm_size) jk_shm_size_set = 1; return NULL; Modified: tomcat/jk/trunk/native/apache-2.0/mod_jk.c URL: http://svn.apache.org/viewvc/tomcat/jk/trunk/native/apache-2.0/mod_jk.c?rev=1306209&r1=1306208&r2=1306209&view=diff == --- tomcat/jk/trunk/native/apache-2.0/mod_jk.c (original) +++ tomcat/jk/trunk/native/apache-2.0/mod_jk.c Wed Mar 28 08:17:59 2012 @@ -269,7 +269,7 @@ static apr_hash_t *jk_log_fps = NULL; static jk_worker_env_t worker_env; static apr_global_mutex_t *jk_log_lock = NULL; static char *jk_shm_file = NULL; -static size_t jk_shm_size = 0; +static int jk_shm_size = 0; static int jk_shm_size_set = 0; static volatile int jk_watchdog_interval = 0; static volatile int jk_watchdog_running = 0; @@ -1438,7 +1438,7 @@ static const char *jk_set_shm_size(cmd_p sz = JK_SHM_DEF_SIZE; else sz = JK_SHM_ALIGN(sz); -jk_shm_size = (size_t)sz; +jk_shm_size = sz; if (jk_shm_size) jk_shm_size_set = 1; return NULL; Modified: tomcat/jk/trunk/native/common/jk_shm.c URL: http://svn.apache.org/viewvc/tomcat/jk/trunk/native/common/jk_shm.c?rev=1306209&r1=1306208&r2=1306209&view=diff == --- tomcat/jk/trunk/native/common/jk_shm.c (original) +++ tomcat/jk/trunk/native/common/jk_shm.c Wed Mar 28 08:17:59 2012 @@ -31,44 +31,48 @@ #include "jk_ajp14_worker.h" #include "jk_shm.h" -/** jk shm header core data structure */ +/** jk shm header core data structure + * This is always the first slot in shared memory. + */ struct jk_shm_header_data { /* Shared memory magic JK_SHM_MAGIC */ -char magic[JK_SHM_MAGIC_SIZ]; -size_t size; -size_t pos; +char magic[JK_SHM_MAGIC_SIZ]; +unsigned int size; +unsigned int pos; unsigned int childs; unsigned int workers; -time_t modified; +time_t modified; }; typedef struct jk_shm_header_data jk_shm_header_data_t; -/** jk shm header record structure */ +/** jk shm header record structure + */ struct jk_shm_header { union { jk_shm_header_data_t data; -char alignbuf[JK_SHM_ALIGN(sizeof(jk_shm_header_data_t))]; +char alignbuf[JK_SHM_SLOT_SIZE]; } h; char buf[1]; }; typedef struct jk_shm_header jk_shm_header_t; -/** jk shm structure */ +/** jk shm in memory structure. + */ struct jk_shm { -size_t size; -unsigned ajp_workers; -unsigned lb_sub_workers; -unsigned lb_workers; -char *filename; -char *lockname; -intfd; -intfd_lock; -intattached; +unsigned int size; +unsigned int ajp_workers; +unsigned int lb_sub_workers; +unsigned int lb_workers; +char*filename; +char*lockname; +int fd; +int fd_lock; +int attached; jk_shm_header_t *hdr; JK_CRIT_SEC cs; }; @@ -86,11 +90,11 @@ static HANDLE jk_shm_hlock = NULL; static int jk_shm_inited_cs = 0; /* Calculate needed shm size */ -size_t jk_shm_calculate_size(jk_map_t *init_data, jk_logger_t *l) +int jk_shm_calculate_size(jk_map_t *init_data, jk_logger_t *l) { char **worker_list; -unsigned i; -unsigned num_of_workers; +unsigned int i; +unsigned int num_of_workers; int num_of_ajp_workers = 0; int num_of_lb_sub_workers = 0; int num_of_lb_workers = 0; @@ -104,7 +108,6 @@ size_t jk_shm_calculate_size(jk_map_t *i
svn commit: r1306271 - in /tomcat/jk/trunk/native/common: jk_uri_worker_map.c jk_uri_worker_map.h
Author: mturk Date: Wed Mar 28 11:49:55 2012 New Revision: 1306271 URL: http://svn.apache.org/viewvc?rev=1306271&view=rev Log: Add global uriworker_map id. We'll use this a parent for workers so we can find multiple workers having the same name but belonging to a different uw map Modified: tomcat/jk/trunk/native/common/jk_uri_worker_map.c tomcat/jk/trunk/native/common/jk_uri_worker_map.h Modified: tomcat/jk/trunk/native/common/jk_uri_worker_map.c URL: http://svn.apache.org/viewvc/tomcat/jk/trunk/native/common/jk_uri_worker_map.c?rev=1306271&r1=1306270&r2=1306271&view=diff == --- tomcat/jk/trunk/native/common/jk_uri_worker_map.c (original) +++ tomcat/jk/trunk/native/common/jk_uri_worker_map.c Wed Mar 28 11:49:55 2012 @@ -56,6 +56,8 @@ #define STRNULL_FOR_NULL(x) ((x) ? (x) : "(null)") +static volatile int map_id_counter = 0; + static const char *uri_worker_map_source_type[] = { "unknown", SOURCE_TYPE_TEXT_WORKERDEF, @@ -169,30 +171,34 @@ static void uri_worker_map_dump(jk_uri_w { JK_TRACE_ENTER(l); if (uw_map) { -int i, off, k; -uri_worker_record_t *uwr = NULL; -char buf[32]; -jk_log(l, JK_LOG_DEBUG, "uri map dump %s: index=%d file='%s' reject_unsafe=%d " - "reload=%d modified=%d checked=%d", - reason, uw_map->index, STRNULL_FOR_NULL(uw_map->fname), uw_map->reject_unsafe, - uw_map->reload, uw_map->modified, uw_map->checked); -for(i=0;i<=1;i++) { +int i, off; +if (JK_IS_DEBUG_LEVEL(l)) { +jk_log(l, JK_LOG_DEBUG, "uri map dump %s: id=%d, index=%d file='%s' reject_unsafe=%d " + "reload=%d modified=%d checked=%d", + reason, uw_map->id, uw_map->index, STRNULL_FOR_NULL(uw_map->fname), + uw_map->reject_unsafe, uw_map->reload, uw_map->modified, uw_map->checked); +} +for (i = 0; i <= 1; i++) { jk_log(l, JK_LOG_DEBUG, "generation %d: size=%d nosize=%d capacity=%d", i, uw_map->size[i], uw_map->nosize[i], uw_map->capacity[i], uw_map->maps[i]); } off = uw_map->index; -for(i=0;i<=1;i++) { +for (i = 0; i <= 1; i++) { +char buf[32]; +int k; unsigned int j; k = (i + off) % 2; for (j = 0; j < uw_map->size[k]; j++) { -uwr = uw_map->maps[k][j]; -jk_log(l, JK_LOG_DEBUG, "%s (%d) map #%d: uri=%s worker=%s context=%s " - "source=%s type=%s len=%d", - i ? "NEXT" : "THIS", i, j, - STRNULL_FOR_NULL(uwr->uri), STRNULL_FOR_NULL(uwr->worker_name), - STRNULL_FOR_NULL(uwr->context), STRNULL_FOR_NULL(uri_worker_map_get_source(uwr,l)), - STRNULL_FOR_NULL(uri_worker_map_get_match(uwr,buf,l)), uwr->context_len); +uri_worker_record_t *uwr = uw_map->maps[k][j]; +if (uwr && JK_IS_DEBUG_LEVEL(l)) { +jk_log(l, JK_LOG_DEBUG, "%s (%d) map #%d: uri=%s worker=%s context=%s " + "source=%s type=%s len=%d", + i ? "NEXT" : "THIS", i, j, + STRNULL_FOR_NULL(uwr->uri), STRNULL_FOR_NULL(uwr->worker_name), + STRNULL_FOR_NULL(uwr->context), STRNULL_FOR_NULL(uri_worker_map_get_source(uwr,l)), + STRNULL_FOR_NULL(uri_worker_map_get_match(uwr,buf,l)), uwr->context_len); +} } } } @@ -224,7 +230,7 @@ int uri_worker_map_alloc(jk_uri_worker_m jk_open_pool(&(uw_map->p), uw_map->buf, sizeof(jk_pool_atom_t) * BIG_POOL_SIZE); -for(i=0;i<=1;i++) { +for (i = 0; i <= 1; i++) { jk_open_pool(&(uw_map->p_dyn[i]), uw_map->buf_dyn[i], sizeof(jk_pool_atom_t) * BIG_POOL_SIZE); uw_map->size[i] = 0; @@ -232,6 +238,7 @@ int uri_worker_map_alloc(jk_uri_worker_m uw_map->capacity[i] = 0; uw_map->maps[i] = NULL; } +uw_map->id = 0; uw_map->index = 0; uw_map->fname = NULL; uw_map->reject_unsafe = 0; @@ -241,6 +248,8 @@ int uri_worker_map_alloc(jk_uri_worker_m if (init_data) rc = uri_worker_map_open(uw_map, init_data, l); +if (rc == JK_TRUE) +uw_map->id = ++map_id_counter; JK_TRACE_EXIT(l); return rc; } Modified: tomcat/jk/trunk/native/common/jk_uri_worker_map.h URL: http://svn.apache.org/viewvc/tomcat/jk/trunk/native/common/jk_uri_worker_map.h?rev=1306271&r1=1306270&r2=1306271&view=diff == --- tomcat/jk/trunk/native/common/jk_uri_worker_map.h (original) +++ tomcat/jk/trunk/native/common
svn commit: r1306276 - /tomcat/jk/trunk/native/apache-2.0/mod_jk.c
Author: mturk Date: Wed Mar 28 11:53:38 2012 New Revision: 1306276 URL: http://svn.apache.org/viewvc?rev=1306276&view=rev Log: Fix compile warning. Use httpd provided strchr for const strings Modified: tomcat/jk/trunk/native/apache-2.0/mod_jk.c Modified: tomcat/jk/trunk/native/apache-2.0/mod_jk.c URL: http://svn.apache.org/viewvc/tomcat/jk/trunk/native/apache-2.0/mod_jk.c?rev=1306276&r1=1306275&r2=1306276&view=diff == --- tomcat/jk/trunk/native/apache-2.0/mod_jk.c (original) +++ tomcat/jk/trunk/native/apache-2.0/mod_jk.c Wed Mar 28 11:53:38 2012 @@ -2566,7 +2566,7 @@ static int jk_handler(request_rec * r) jk_log(xconf->log, JK_LOG_DEBUG, "Retrieved worker (%s) from env %s for %s", worker_name, xconf->worker_indicator, r->uri); -if (strchr(worker_name, ';')) { +if (ap_strchr_c(worker_name, ';')) { rule_extension_t *e = apr_palloc(r->pool, sizeof(rule_extension_t)); char *w = apr_pstrdup(r->pool, worker_name); worker_name_extension = JK_TRUE; - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: [JK] Shared memory design problems
What about a look on file that contains the id? It gets created and lock by the first worker that needs the shared memory and writes the id inside and unlock the file? Other workers will just read the id in the file. Cheers Jean-Frederic - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1306287 - in /tomcat/jk/trunk/native/common: jk_map.c jk_map.h
Author: mturk Date: Wed Mar 28 12:16:52 2012 New Revision: 1306287 URL: http://svn.apache.org/viewvc?rev=1306287&view=rev Log: Add global jk_map id. Similar to uri mappings this is for getting the unique context where workers gets created Modified: tomcat/jk/trunk/native/common/jk_map.c tomcat/jk/trunk/native/common/jk_map.h Modified: tomcat/jk/trunk/native/common/jk_map.c URL: http://svn.apache.org/viewvc/tomcat/jk/trunk/native/common/jk_map.c?rev=1306287&r1=1306286&r2=1306287&view=diff == --- tomcat/jk/trunk/native/common/jk_map.c (original) +++ tomcat/jk/trunk/native/common/jk_map.c Wed Mar 28 12:16:52 2012 @@ -64,19 +64,7 @@ } \ } -struct jk_map -{ -jk_pool_t p; -jk_pool_atom_t buf[SMALL_POOL_SIZE]; - -const char **names; -const void **values; -unsigned int *keys; - -unsigned int capacity; -unsigned int size; -}; - +static volatile int global_map_id = 0; static void trim_prp_comment(char *prp); static size_t trim(char *s); static int map_realloc(jk_map_t *m); @@ -85,7 +73,9 @@ static char *jk_map_replace_properties(j int jk_map_alloc(jk_map_t **m) { if (m) { -return jk_map_open(*m = (jk_map_t *)malloc(sizeof(jk_map_t))); +*m = (jk_map_t *)calloc(1, sizeof(jk_map_t)); +if (*m) +return jk_map_open(*m); } return JK_FALSE; @@ -110,6 +100,7 @@ int jk_map_open(jk_map_t *m) if (m) { jk_open_pool(&m->p, m->buf, sizeof(jk_pool_atom_t) * SMALL_POOL_SIZE); +m->id = ++global_map_id; m->capacity = 0; m->size = 0; m->keys = NULL; @@ -587,7 +578,7 @@ void jk_map_dump(jk_map_t *m, jk_logger_ } if (JK_IS_DEBUG_LEVEL(l)) { jk_log(l, JK_LOG_DEBUG, - "Dump of map: '%s' -> '%s'", + "Dump of map %d: '%s' -> '%s'", m->id, jk_map_name_at(m, i) ? jk_map_name_at(m, i) : "(null)", jk_map_value_at(m, i) ? jk_map_value_at(m, i) : "(null)"); } Modified: tomcat/jk/trunk/native/common/jk_map.h URL: http://svn.apache.org/viewvc/tomcat/jk/trunk/native/common/jk_map.h?rev=1306287&r1=1306286&r2=1306287&view=diff == --- tomcat/jk/trunk/native/common/jk_map.h (original) +++ tomcat/jk/trunk/native/common/jk_map.h Wed Mar 28 12:16:52 2012 @@ -24,6 +24,7 @@ #ifndef JK_MAP_H #define JK_MAP_H +#include "jk_pool.h" #ifdef __cplusplus extern "C" @@ -34,7 +35,20 @@ extern "C" #define JK_MAP_HANDLE_DUPLICATES 1 #define JK_MAP_HANDLE_RAW2 -struct jk_map; +struct jk_map +{ +jk_pool_t p; +jk_pool_atom_t buf[SMALL_POOL_SIZE]; + +const char **names; +const void **values; +unsigned int *keys; + +unsigned int capacity; +unsigned int size; +int id; +}; + typedef struct jk_map jk_map_t; int jk_map_alloc(jk_map_t **m); - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: svn commit: r1305931 - in /tomcat/trunk/modules/jdbc-pool: doc/ src/main/java/org/apache/tomcat/jdbc/pool/ src/main/java/org/apache/tomcat/jdbc/pool/jmx/
2012/3/27 : > Author: fhanik > Date: Tue Mar 27 17:55:41 2012 > New Revision: 1305931 > > URL: http://svn.apache.org/viewvc?rev=1305931&view=rev > Log: > https://issues.apache.org/bugzilla/show_bug.cgi?id=52066 > Add in a configuration attribute to allow a thread interrupt state to be > retained for the calling library to see > > > Modified: > tomcat/trunk/modules/jdbc-pool/doc/jdbc-pool.xml > > tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/ConnectionPool.java > > tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/DataSourceProxy.java > > tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/PoolConfiguration.java > > tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/PoolProperties.java > > tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/jmx/ConnectionPool.java > > Modified: > tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/ConnectionPool.java > URL: > http://svn.apache.org/viewvc/tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/ConnectionPool.java?rev=1305931&r1=1305930&r2=1305931&view=diff > == > --- > tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/ConnectionPool.java > (original) > +++ > tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/ConnectionPool.java > Tue Mar 27 17:55:41 2012 > @@ -381,7 +381,9 @@ public class ConnectionPool { > } > } //while > } catch (InterruptedException ex) { > - Thread.interrupted(); > + if (!getPoolProperties().getPropagateInterruptState()) { > + Thread.interrupted(); > + } > } > if (pool.size()==0 && force && pool!=busy) pool = busy; > } > @@ -626,7 +628,9 @@ public class ConnectionPool { > //retrieve an existing connection > con = idle.poll(timetowait, TimeUnit.MILLISECONDS); > } catch (InterruptedException ex) { > - Thread.interrupted();//clear the flag, and bail out > + if (!getPoolProperties().getPropagateInterruptState()) { > + Thread.interrupted(); > + } > SQLException sx = new SQLException("Pool wait interrupted."); > sx.initCause(ex); > throw sx; > If InterruptedException was thrown by JRE it alone means that interrupted flag has been cleared. So Thread.interrupted() call is a NOOP. (Effectively the interruption state means "to interrupt the next wait() etc. call immediately when they are called". When the actual interruption happens the exception is created and the flag is cleared.) To propagate the interruption state the code would be if (propagate) { Thread.currentThread().interrupt(); } Best regards, Konstantin Kolinko - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: [JK] Shared memory design problems
On 03/28/2012 02:01 PM, jean-frederic clere wrote: What about a look on file that contains the id? It gets created and lock by the first worker that needs the shared memory and writes the id inside and unlock the file? Other workers will just read the id in the file. I started to work on 'get by id' record/slot concept. There are many advantages over the 'presume we have a correct order' Currently if someone reorders worker list everything breaks apart or at least gets overwritten by something else. The idea is that instead going trough worker/member list and allocate next free slot, we actually search if the object with the same id (combination of name, type and parent) exists and if not then actually create a new shm record. This would mean that jk_shm_alloc_xxx won't reset data on each restart (done by single proc in httpd and multiple in IIS) Thus the sequence will actually be what it is: config update. Regards -- ^TM - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
MaxQueueSize for Executor and Tomcat 6
Are there any plans to backport r723889 (http://svn.apache.org/viewvc?view=revision&revision=723889, Add the ability to configure a job queue size, and a timeout for how long we want to try to add something to the queue.) to Tomcat 6? Having the MaxQueueSize attribute available for executors in Tomcat 6 would be quite handy for me. Regards Rüdiger - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: [VOTE] Release Apache Taglibs Parent POM 3
Request for more votes please, we only have one binding vote so far. Thanks Jeremy On Mar 27, 2012, at 12:35 PM, Olivier Lamy wrote: > +1 > > 2012/3/26 Jeremy Boynes : >> The proposed 3 release of Apache Taglibs Parent POM is now available for >> voting. >> >> This release addresses issues found during the 1 release process including >> duplicate LICENSE files and poor site configuration, and updates the >> copyright date in the NOTICE file from release 2 (withdrawn). >> >> The Maven staging repo is: >> https://repository.apache.org/content/repositories/orgapachetomcat-111/ >> >> and SVN tag is: >> http://svn.apache.org/repos/asf/tomcat/taglibs/taglibs-parent/tags/taglibs-parent-3/ >> >> Please vote on whether Apache Taglibs Parent 3 should be: >> [+1] Released, or >> [-1] Not released because ... >> >> Thanks >> Jeremy > > > > -- > Olivier Lamy > Talend: http://coders.talend.com > http://twitter.com/olamy | http://linkedin.com/in/olamy > > - > To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org > For additional commands, e-mail: dev-h...@tomcat.apache.org > - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: MaxQueueSize for Executor and Tomcat 6
2012/3/28 Plüm, Rüdiger, Vodafone Group : > Are there any plans to backport r723889 > (http://svn.apache.org/viewvc?view=revision&revision=723889, > Add the ability to configure a job queue size, and a timeout for how long we > want to try to add something > to the queue.) to Tomcat 6? > > Having the MaxQueueSize attribute available for executors in Tomcat 6 would > be quite handy for me. > I do not see anything obvious against backporting it. If you really need it, I suggest you to create a patch against current tc6.0.x code and attach it to a new Bugzilla issue. Instructions are at [1], but probably you already know them. If the issue does not get devs' attention, feel free to ping on dev@ list. [1] http://tomcat.apache.org/bugreport.html#How_to_submit_patches_and_enhancement_requests Best regards, Konstantin Kolinko - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
RE: svn commit: r1305931 - in /tomcat/trunk/modules/jdbc-pool: doc/ src/main/java/org/apache/tomcat/jdbc/pool/ src/main/java/org/apache/tomcat/jdbc/pool/jmx/
> If InterruptedException was thrown by JRE it alone means that > interrupted flag has been cleared. So Thread.interrupted() call is a > NOOP. > > (Effectively the interruption state means "to interrupt the next > wait() etc. call immediately when they are called". When the actual > interruption happens the exception is created and the flag is > cleared.) > > To propagate the interruption state the code would be > > if (propagate) { > Thread.currentThread().interrupt(); > } [Filip Hanik] You are correct. I will adjust this. > > > Best regards, > Konstantin Kolinko > > - > To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org > For additional commands, e-mail: dev-h...@tomcat.apache.org - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1306410 - /tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/ConnectionPool.java
Author: fhanik Date: Wed Mar 28 15:23:41 2012 New Revision: 1306410 URL: http://svn.apache.org/viewvc?rev=1306410&view=rev Log: Per http://markmail.org/message/nhfcvvyvvhtzvaxq Since the method that gets interrupted does something like if (Thread.interrupted()) throw new InterruptedException(); The flag is actually cleared by the method itself. If we wish to propagate the interrupt we have to set the flag again Modified: tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/ConnectionPool.java Modified: tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/ConnectionPool.java URL: http://svn.apache.org/viewvc/tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/ConnectionPool.java?rev=1306410&r1=1306409&r2=1306410&view=diff == --- tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/ConnectionPool.java (original) +++ tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/ConnectionPool.java Wed Mar 28 15:23:41 2012 @@ -381,7 +381,9 @@ public class ConnectionPool { } } //while } catch (InterruptedException ex) { -if (!getPoolProperties().getPropagateInterruptState()) { +if (getPoolProperties().getPropagateInterruptState()) { +Thread.currentThread().interrupt(); +} else { Thread.interrupted(); } } @@ -628,7 +630,9 @@ public class ConnectionPool { //retrieve an existing connection con = idle.poll(timetowait, TimeUnit.MILLISECONDS); } catch (InterruptedException ex) { -if (!getPoolProperties().getPropagateInterruptState()) { +if (getPoolProperties().getPropagateInterruptState()) { +Thread.currentThread().interrupt(); +} else { Thread.interrupted(); } SQLException sx = new SQLException("Pool wait interrupted."); - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
DO NOT REPLY [Bug 52066] ConnectionPool.borrowConnection swallows interrupt state.
https://issues.apache.org/bugzilla/show_bug.cgi?id=52066 --- Comment #8 from Filip Hanik 2012-03-28 15:25:49 UTC --- Please note that the interrupt flag was already cleared, this commit does change things around a bit http://svn.apache.org/viewvc?rev=1306410&view=rev I've made an adjustment based on a suggestion on the dev list -- Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1306413 - /tomcat/tc7.0.x/trunk/modules/
Author: fhanik Date: Wed Mar 28 15:27:26 2012 New Revision: 1306413 URL: http://svn.apache.org/viewvc?rev=1306413&view=rev Log: Since the method that gets interrupted does something like if (Thread.interrupted()) throw new InterruptedException(); The flag is actually cleared by the method itself. If we wish to propagate the interrupt we have to set the flag again Modified: tomcat/tc7.0.x/trunk/modules/ (props changed) Propchange: tomcat/tc7.0.x/trunk/modules/ -- --- svn:externals (original) +++ svn:externals Wed Mar 28 15:27:26 2012 @@ -1 +1 @@ -^/tomcat/trunk/modules/jdbc-pool@1305966 jdbc-pool +^/tomcat/trunk/modules/jdbc-pool@1306410 jdbc-pool - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
RE: [VOTE] Release Apache Taglibs Parent POM 3
[+1] Released > -Original Message- > From: Jeremy Boynes [mailto:jer...@boynes.com] On Behalf Of Jeremy > Boynes > Sent: Sunday, March 25, 2012 11:02 PM > To: Tomcat Developers List > Subject: [VOTE] Release Apache Taglibs Parent POM 3 > > The proposed 3 release of Apache Taglibs Parent POM is now available for > voting. > > This release addresses issues found during the 1 release process including > duplicate LICENSE files and poor site configuration, and updates the copyright > date in the NOTICE file from release 2 (withdrawn). > > The Maven staging repo is: > https://repository.apache.org/content/repositories/orgapachetomcat-111/ > > and SVN tag is: > http://svn.apache.org/repos/asf/tomcat/taglibs/taglibs-parent/tags/taglibs- > parent-3/ > > Please vote on whether Apache Taglibs Parent 3 should be: > [+1] Released, or > [-1] Not released because ... > > Thanks > Jeremy - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
RE: [VOTE] Release Apache Taglibs Parent POM 3
> -Original Message- > From: Jeremy Boynes [mailto:jer...@boynes.com] On Behalf Of Jeremy > Boynes > Sent: Wednesday, March 28, 2012 8:38 AM > To: Tomcat Developers List > Subject: Re: [VOTE] Release Apache Taglibs Parent POM 3 > > Request for more votes please, we only have one binding vote so far. [Filip Hanik] Add your own :) - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
DO NOT REPLY [Bug 52318] Version in tomcat-jdbc POM is conflicted with Version in MANIFEST for JULI JAR
https://issues.apache.org/bugzilla/show_bug.cgi?id=52318 Filip Hanik changed: What|Removed |Added Status|NEW |NEEDINFO --- Comment #9 from Filip Hanik 2012-03-28 15:34:18 UTC --- (In reply to comment #8) > (In reply to comment #7) > > Yes, because ... tomcat-jdbc in the version 7.0.22 has a dependency in the pom > file to tomcat-juli in the version 7.0.22 ... soo > > MANIFEST: > Import-Package: org.apache.juli.logging;version="[7.0.0, 7.1.0)" > > > > (In reply to comment #6) > > > [6.0.18, 7.0.0) means all versions from including 6.0.18 to except 7.0.0 > > > - not > > > including versions under 6.0.18 or above 7.0.0. > > > > > > To fix this issue, you have to change the MANIFEST: > > > > > > MANIFEST: > > > org.apache.juli.logging;version="[7.0.0, 7.1.0)" > > > > > > OR > > > > > > org.apache.juli.logging;version="[7.0.0, 8.0.0)" > > > > > > Please refet to my last post in Bug 52381 > > > > > > Regards > > > Pancho > > > > aren't you excluding version 6.0.18+ here? what's in the POM is not really related to what should be in an OSGI manifest though. Nothing should prevent you from dropping this library into a container running Tomcat 6 -- Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
DO NOT REPLY [Bug 52996] New: Please backport r723889 from trunk to have MaxQueueSize attribute for Executor available in Tomcat 6
https://issues.apache.org/bugzilla/show_bug.cgi?id=52996 Bug #: 52996 Summary: Please backport r723889 from trunk to have MaxQueueSize attribute for Executor available in Tomcat 6 Product: Tomcat 6 Version: 6.0.35 Platform: All OS/Version: All Status: NEW Severity: enhancement Priority: P2 Component: Catalina AssignedTo: dev@tomcat.apache.org ReportedBy: rpl...@apache.org Classification: Unclassified Created attachment 28514 --> https://issues.apache.org/bugzilla/attachment.cgi?id=28514 Backport of r1723889 to Tomcat 6.0.x trunk Please backport r723889 (http://svn.apache.org/viewvc?view=revision&revision=723889, Add the ability to configure a job queue size, and a timeout for how long we want to try to add something to the queue.) Having the MaxQueueSize attribute available for executors in Tomcat 6 would be quite handy for me. -- Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
RE: have Re: MaxQueueSize for Executor and Tomcat 6
> -Original Message- > From: Konstantin Kolinko > Sent: Mittwoch, 28. März 2012 17:05 > To: Tomcat Developers List > Subject: have Re: MaxQueueSize for Executor and Tomcat 6 > > 2012/3/28 Plüm, Rüdiger, Vodafone Group > > Are there any plans to backport r723889 > (http://svn.apache.org/viewvc?view=revision&revision=723889, > > Add the ability to configure a job queue size, and a timeout for how > long we want to try to add something > > to the queue.) to Tomcat 6? > > > > Having the MaxQueueSize attribute available for executors in Tomcat 6 > would be quite handy for me. > > > > I do not see anything obvious against backporting it. > > > If you really need it, I suggest you to create a patch against current > tc6.0.x code and attach it to a new Bugzilla issue. Instructions are > at [1], but probably you already know them. Thanks. Done: https://issues.apache.org/bugzilla/show_bug.cgi?id=52996 Regards Rüdiger - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
RE: svn commit: r1306130 - in /tomcat/trunk/java/org/apache/catalina/startup: LocalStrings.properties UserConfig.java
> -Original Message- > From: kfuj...@apache.org [mailto:kfuj...@apache.org] > Sent: Tuesday, March 27, 2012 8:51 PM > To: dev@tomcat.apache.org > Subject: svn commit: r1306130 - in > /tomcat/trunk/java/org/apache/catalina/startup: LocalStrings.properties > UserConfig.java > > +for (Future result : results) { > +try { > +result.get(); > +} catch (Exception e) { > + > host.getLogger().error(sm.getString("userConfig.deploy.threaded.error"), > e); > +} > +} > } [Filip Hanik] If results[0].get() fails, are you not going to wait for the others to complete? - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
buildbot failure in ASF Buildbot on tomcat-trunk
The Buildbot has detected a new failure on builder tomcat-trunk while building ASF Buildbot. Full details are available at: http://ci.apache.org/builders/tomcat-trunk/builds/2901 Buildbot URL: http://ci.apache.org/ Buildslave for this Build: bb-vm_ubuntu Build Reason: scheduler Build Source Stamp: [branch tomcat/trunk] 1306410 Blamelist: fhanik BUILD FAILED: failed compile_1 sincerely, -The Buildbot
RE: buildbot failure in ASF Buildbot on tomcat-trunk
Is it my email client, or are some of these emails empty? > -Original Message- > From: build...@apache.org [mailto:build...@apache.org] > Sent: Wednesday, March 28, 2012 10:00 AM > To: dev@tomcat.apache.org > Subject: buildbot failure in ASF Buildbot on tomcat-trunk > - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: buildbot failure in ASF Buildbot on tomcat-trunk
28.03.2012 18:31, Filip Hanik (mailing lists): > Is it my email client, or are some of these emails empty? It's probably your client. That's the body of the mail you responded to: > The Buildbot has detected a new failure on builder tomcat-trunk while > building ASF Buildbot. > Full details are available at: > http://ci.apache.org/builders/tomcat-trunk/builds/2901 > > Buildbot URL: http://ci.apache.org/ > > Buildslave for this Build: bb-vm_ubuntu > > Build Reason: scheduler > Build Source Stamp: [branch tomcat/trunk] 1306410 > Blamelist: fhanik > > BUILD FAILED: failed compile_1 > > sincerely, > -The Buildbot > > > > > - > To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org > For additional commands, e-mail: dev-h...@tomcat.apache.org > - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: buildbot failure in ASF Buildbot on tomcat-trunk
2012/3/28 Markus Schönhaber : > 28.03.2012 18:31, Filip Hanik (mailing lists): > >> Is it my email client, or are some of these emails empty? > > It's probably your client. That's the body of the mail you responded to: > >> The Buildbot has detected a new failure on builder tomcat-trunk while >> building ASF Buildbot. >> Full details are available at: >> http://ci.apache.org/builders/tomcat-trunk/builds/2901 >> >> Buildbot URL: http://ci.apache.org/ >> >> Buildslave for this Build: bb-vm_ubuntu >> >> Build Reason: scheduler >> Build Source Stamp: [branch tomcat/trunk] 1306410 >> Blamelist: fhanik >> >> BUILD FAILED: failed compile_1 >> >> sincerely, >> -The Buildbot >> Viewing the source of the message, it is encoded in base64. What is a bit strange it is that the base64 chars come in two blocks of different width, and there is "=" at the end of the last line of first block. I doubt that the equals sign is allowed in the middle of data. To see the bytes, look at [2] for a link to "View raw message" Decoding the second block gives: [[[ - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org ]]] GMail loses this second block on some (not all) messages, so it does not display it to me. Looking at mailing list archives, markmail [1] shows the footer, ASF mail archive [2] looses it. In [2] -> click "View raw message" -> the same base64 bytes as in my copy of this message in GMail. [1] http://markmail.org/message/uimbvh5sf33it65l [2] http://mail-archives.apache.org/mod_mbox/tomcat-dev/201203.mbox/%3C20120328160023.225BFC00A0%40aegis.apache.org%3E Best regards, Konstantin Kolinko - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
DO NOT REPLY [Bug 52688] Added ability to have access logs output to standard logging mechanism
https://issues.apache.org/bugzilla/show_bug.cgi?id=52688 Mark changed: What|Removed |Added Attachment #28344|0 |1 is obsolete|| Attachment #28345|0 |1 is obsolete|| --- Comment #3 from Mark 2012-03-28 17:59:23 UTC --- Created attachment 28515 --> https://issues.apache.org/bugzilla/attachment.cgi?id=28515 Diff of changed needed to delete older files -- Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
DO NOT REPLY [Bug 52688] Added ability to have access logs output to standard logging mechanism
https://issues.apache.org/bugzilla/show_bug.cgi?id=52688 --- Comment #4 from Mark 2012-03-28 18:00:32 UTC --- Created attachment 28516 --> https://issues.apache.org/bugzilla/attachment.cgi?id=28516 One error message was added for when a file could not be deleted -- Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
DO NOT REPLY [Bug 52688] Added ability to have access logs output to standard logging mechanism
https://issues.apache.org/bugzilla/show_bug.cgi?id=52688 --- Comment #5 from Mark 2012-03-28 18:01:17 UTC --- Created attachment 28517 --> https://issues.apache.org/bugzilla/attachment.cgi?id=28517 Two new parameters to support configuration of old file deletion -- Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
DO NOT REPLY [Bug 52688] Added ability to have access logs output to standard logging mechanism
https://issues.apache.org/bugzilla/show_bug.cgi?id=52688 --- Comment #6 from Mark 2012-03-28 18:01:27 UTC --- What I really want to be able to do is delete older access log files. I was thinking that using a standard logger in the AccessLogValve was the way to do that. However, this idea received some resistance because of the potential performance problem. (Note: In tests that I could mock up here, the change was not really noticeable... the average time was slightly less than 1 millis using the current mechanism and slightly more than 1 millis using a standard logger. I did not have a good way to test what would happen under a heavy load...which is the only case in which the performance would really matter.) However, there are some other things that the AccessLogValve does that I could not account for. For instance, the ExtendedAccessLogValve puts a header at the top of every file; something it can do since it controls the creation of the files. The header contains the format for the entries, presumably for automated parsing. Since I did not have easy access to good testing facilities, and I thought that deleting old files would be a generally useful feature, I did a smaller patch that targets the problem a bit better. I felt this would encounter less resistance and would hopefully be adopted sooner and with less risk. The original attachments are no longer in my purposed solution. The new solution simply adds the capability to delete old files to the existing logging mechanism. The feature is off by default so that the behavior will be backwards compatible. One error message was added to .properties file, although I did not translate it to the other supported languages. I believe I added the parameters appropriately to the mbeans descriptor file. Once thing thing that I was a bit unsure about was that the files are sorted by their last modified times to determine which files are to be deleted. This seemed like a good way to do it, although other ways exist (like parsing the date extension of each file and sorting by Dates). -- Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
DO NOT REPLY [Bug 52688] Add ability to remove old access log files
https://issues.apache.org/bugzilla/show_bug.cgi?id=52688 Mark changed: What|Removed |Added Summary|Added ability to have |Add ability to remove old |access logs output to |access log files |standard logging mechanism | -- Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
DO NOT REPLY [Bug 52688] Add ability to remove old access log files
https://issues.apache.org/bugzilla/show_bug.cgi?id=52688 Mark changed: What|Removed |Added Version|7.0.25 |7.0.26 -- Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
DO NOT REPLY [Bug 52318] Version in tomcat-jdbc POM is conflicted with Version in MANIFEST for JULI JAR
https://issues.apache.org/bugzilla/show_bug.cgi?id=52318 --- Comment #10 from pan4o 2012-03-28 18:07:02 UTC --- > > what's in the POM is not really related to what should be in an OSGI manifest > though. Nothing should prevent you from dropping this library into a container > running Tomcat 6 Of course it is to 100% related in an OSGI container, like Karaf! If you need version 7 of library A to run version 7 of library B. And ... is Apache Tomcat an OSGI container? I think no. So the imports and the exports in the MANIFEST are only relevant in an OSGI continer, but they must be the same like these in the pom file or in the build.xml. You can not build with version 7 and want to run with version 6 .. or? -- Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
DO NOT REPLY [Bug 52688] Add ability to remove old access log files
https://issues.apache.org/bugzilla/show_bug.cgi?id=52688 --- Comment #7 from Mark 2012-03-28 18:55:55 UTC --- Another thing I realized (that I don't want to forget) is that there are 2 predefined log output formats: common and combined. These have date/time stamps defined in them. The standard logging mechanisms I have seen have a date/time as well. I am not sure if this can be turned off in the standard loggers. However, if it can't (or maybe you don't want to), then the predefined loggers cannot be used without outputting redundant information. This is, perhaps, not really important, but it is something that needs to be at least addressed in the docs if not handled in another way. -- Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: buildbot failure in ASF Buildbot on tomcat-trunk
28.03.2012 19:42, Konstantin Kolinko: > 2012/3/28 Markus Schönhaber : >> 28.03.2012 18:31, Filip Hanik (mailing lists): >> >>> Is it my email client, or are some of these emails empty? >> >> It's probably your client. That's the body of the mail you responded to: [...] > Viewing the source of the message, it is encoded in base64. > > What is a bit strange it is that the base64 chars come in two blocks > of different width, and there is "=" at the end of the last line of > first block. I doubt that the equals sign is allowed in the middle of > data. You're right, I didn't notice this. Seems like the list software simply glues the base64-encoded footer to the existing message. I took a (just superficial) look at RFC 4648 and didn't see that this is explicitly forbidden but from this http://tools.ietf.org/html/rfc4648#section-3.1 | 3.1. Line Feeds in Encoded Data | |MIME [4] is often used as a reference for base 64 encoding. However, |MIME does not define "base 64" per se, but rather a "base 64 Content- |Transfer-Encoding" for use within MIME. As such, MIME enforces a |limit on line length of base 64-encoded data to 76 characters. MIME |inherits the encoding from Privacy Enhanced Mail (PEM) [3], stating |that it is "virtually identical"; however, PEM uses a line length of |64 characters. The MIME and PEM limits are both due to limits within |SMTP. | |Implementations MUST NOT add line feeds to base-encoded data unless |the specification referring to this document explicitly directs base |encoders to add line feeds after a specific number of characters. it might - IMO - be deduced that the particular input we have here, is not a valid base64-encoded string (the line-length of 72 chars in the footer block seems suspicious too). BTW: If one feeds the complete body of the mail to python's base64.b64decode the footer will be missing while thunderbird decodes that as well. Bottom line: Regardless whether or not it really is violating the spec to glue two base64-encoded strings together and expect the result to be a new, valid, base64-encoded string - in practice, at least, it seems to be a bad idea. -- Regards mks - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
DO NOT REPLY [Bug 52318] Version in tomcat-jdbc POM is conflicted with Version in MANIFEST for JULI JAR
https://issues.apache.org/bugzilla/show_bug.cgi?id=52318 --- Comment #11 from Filip Hanik 2012-03-28 19:10:09 UTC --- yes, the jdbc-pool library can be built on tomcat 7 and you can drop that into a Tomcat 6 container, and it will work just fine against the tomcat 6 juli library -- Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1306556 - /tomcat/trunk/java/org/apache/coyote/AbstractProtocol.java
Author: markt Date: Wed Mar 28 19:42:47 2012 New Revision: 1306556 URL: http://svn.apache.org/viewvc?rev=1306556&view=rev Log: When using automatic ports, include the port number in the name used in logging if we know it. Modified: tomcat/trunk/java/org/apache/coyote/AbstractProtocol.java Modified: tomcat/trunk/java/org/apache/coyote/AbstractProtocol.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/AbstractProtocol.java?rev=1306556&r1=1306555&r2=1306556&view=diff == --- tomcat/trunk/java/org/apache/coyote/AbstractProtocol.java (original) +++ tomcat/trunk/java/org/apache/coyote/AbstractProtocol.java Wed Mar 28 19:42:47 2012 @@ -263,9 +263,14 @@ public abstract class AbstractProtocol i } int port = getPort(); if (port == 0) { -// auto binding is in use so port is unknown at this point +// Auto binding is in use. Check if port is known name.append("auto-"); name.append(getNameIndex()); +port = getLocalPort(); +if (port != -1) { +name.append('-'); +name.append(port); +} } else { name.append(port); } - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1306579 - /tomcat/trunk/java/org/apache/tomcat/util/net/AbstractEndpoint.java
Author: markt Date: Wed Mar 28 20:35:02 2012 New Revision: 1306579 URL: http://svn.apache.org/viewvc?rev=1306579&view=rev Log: Fix intermittent JMX deregistration test failure. Modified: tomcat/trunk/java/org/apache/tomcat/util/net/AbstractEndpoint.java Modified: tomcat/trunk/java/org/apache/tomcat/util/net/AbstractEndpoint.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/AbstractEndpoint.java?rev=1306579&r1=1306578&r2=1306579&view=diff == --- tomcat/trunk/java/org/apache/tomcat/util/net/AbstractEndpoint.java (original) +++ tomcat/trunk/java/org/apache/tomcat/util/net/AbstractEndpoint.java Wed Mar 28 20:35:02 2012 @@ -470,6 +470,18 @@ public abstract class AbstractEndpoint { * Unlock the server socket accept using a bogus connection. */ protected void unlockAccept() { +// Only try to unlock the acceptor if it is necessary +boolean unlockRequired = false; +for (Acceptor acceptor : acceptors) { +if (acceptor.getState() == AcceptorState.RUNNING) { +unlockRequired = true; +break; +} +} +if (!unlockRequired) { +return; +} + java.net.Socket s = null; InetSocketAddress saddr = null; try { @@ -678,7 +690,7 @@ public abstract class AbstractEndpoint { * example, this can happen with the Acceptor thread if the ulimit for open * files is reached. * - * @param currentErrorDelay The current delay beign applied on failure + * @param currentErrorDelay The current delay being applied on failure * @return The delay to apply on the next failure */ protected int handleExceptionWithDelay(int currentErrorDelay) { - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1306580 - /tomcat/trunk/test/org/apache/catalina/mbeans/TestRegistration.java
Author: markt Date: Wed Mar 28 20:36:02 2012 New Revision: 1306580 URL: http://svn.apache.org/viewvc?rev=1306580&view=rev Log: Tweak the test so it can easily be run multiple times in a row without failing. Modified: tomcat/trunk/test/org/apache/catalina/mbeans/TestRegistration.java Modified: tomcat/trunk/test/org/apache/catalina/mbeans/TestRegistration.java URL: http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/catalina/mbeans/TestRegistration.java?rev=1306580&r1=1306579&r2=1306580&view=diff == --- tomcat/trunk/test/org/apache/catalina/mbeans/TestRegistration.java (original) +++ tomcat/trunk/test/org/apache/catalina/mbeans/TestRegistration.java Wed Mar 28 20:36:02 2012 @@ -171,10 +171,11 @@ public class TestRegistration extends To } else { protocol = "bio"; } +String index = getTomcatInstance().getConnector().getProperty("nameIndex").toString(); ArrayList expected = new ArrayList(Arrays.asList(basicMBeanNames())); expected.addAll(Arrays.asList(hostMBeanNames("localhost"))); expected.addAll(Arrays.asList(contextMBeanNames("localhost", contextName))); -expected.addAll(Arrays.asList(connectorMBeanNames("auto-1", protocol))); +expected.addAll(Arrays.asList(connectorMBeanNames("auto-" + index, protocol))); expected.addAll(Arrays.asList(optionalMBeanNames("localhost"))); // Did we find all expected MBeans? - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1306586 - in /tomcat/tc7.0.x/trunk: ./ java/org/apache/coyote/AbstractProtocol.java webapps/docs/changelog.xml
Author: markt Date: Wed Mar 28 20:39:13 2012 New Revision: 1306586 URL: http://svn.apache.org/viewvc?rev=1306586&view=rev Log: When using automatic ports, include the port number in the name used in logging if we know it. Modified: tomcat/tc7.0.x/trunk/ (props changed) tomcat/tc7.0.x/trunk/java/org/apache/coyote/AbstractProtocol.java tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml Propchange: tomcat/tc7.0.x/trunk/ -- Merged /tomcat/trunk:r1306556 Modified: tomcat/tc7.0.x/trunk/java/org/apache/coyote/AbstractProtocol.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/coyote/AbstractProtocol.java?rev=1306586&r1=1306585&r2=1306586&view=diff == --- tomcat/tc7.0.x/trunk/java/org/apache/coyote/AbstractProtocol.java (original) +++ tomcat/tc7.0.x/trunk/java/org/apache/coyote/AbstractProtocol.java Wed Mar 28 20:39:13 2012 @@ -263,9 +263,14 @@ public abstract class AbstractProtocol i } int port = getPort(); if (port == 0) { -// auto binding is in use so port is unknown at this point +// Auto binding is in use. Check if port is known name.append("auto-"); name.append(getNameIndex()); +port = getLocalPort(); +if (port != -1) { +name.append('-'); +name.append(port); +} } else { name.append(port); } Modified: tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml?rev=1306586&r1=1306585&r2=1306586&view=diff == --- tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml (original) +++ tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml Wed Mar 28 20:39:13 2012 @@ -173,6 +173,10 @@ 52926: Avoid NPE when an NIO Comet connection times out on one thread at the same time as it is closed on another thread. (markt) + +Include port number when known in connector name when loggin messages +from connectors that use automatic free port allocation. (markt) + - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1306589 - in /tomcat/tc7.0.x/trunk: ./ java/org/apache/tomcat/util/net/AbstractEndpoint.java webapps/docs/changelog.xml
Author: markt Date: Wed Mar 28 20:48:41 2012 New Revision: 1306589 URL: http://svn.apache.org/viewvc?rev=1306589&view=rev Log: Fix intermittent JMX deregistration test failure. Modified: tomcat/tc7.0.x/trunk/ (props changed) tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/net/AbstractEndpoint.java tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml Propchange: tomcat/tc7.0.x/trunk/ -- Merged /tomcat/trunk:r1306579 Modified: tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/net/AbstractEndpoint.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/net/AbstractEndpoint.java?rev=1306589&r1=1306588&r2=1306589&view=diff == --- tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/net/AbstractEndpoint.java (original) +++ tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/net/AbstractEndpoint.java Wed Mar 28 20:48:41 2012 @@ -470,6 +470,18 @@ public abstract class AbstractEndpoint { * Unlock the server socket accept using a bogus connection. */ protected void unlockAccept() { +// Only try to unlock the acceptor if it is necessary +boolean unlockRequired = false; +for (Acceptor acceptor : acceptors) { +if (acceptor.getState() == AcceptorState.RUNNING) { +unlockRequired = true; +break; +} +} +if (!unlockRequired) { +return; +} + java.net.Socket s = null; InetSocketAddress saddr = null; try { @@ -678,7 +690,7 @@ public abstract class AbstractEndpoint { * example, this can happen with the Acceptor thread if the ulimit for open * files is reached. * - * @param currentErrorDelay The current delay beign applied on failure + * @param currentErrorDelay The current delay being applied on failure * @return The delay to apply on the next failure */ protected int handleExceptionWithDelay(int currentErrorDelay) { Modified: tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml?rev=1306589&r1=1306588&r2=1306589&view=diff == --- tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml (original) +++ tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml Wed Mar 28 20:48:41 2012 @@ -177,6 +177,11 @@ Include port number when known in connector name when loggin messages from connectors that use automatic free port allocation. (markt) + +Don't try an unlock the acceptor thread if it is not locked. This is +unlikely to impact normal usage but it does fix some unit test issues. +(markt) + - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1306591 - in /tomcat/tc7.0.x/trunk: ./ test/org/apache/catalina/mbeans/TestRegistration.java
Author: markt Date: Wed Mar 28 20:49:57 2012 New Revision: 1306591 URL: http://svn.apache.org/viewvc?rev=1306591&view=rev Log: Tweak the test so it can easily be run multiple times in a row without failing. Modified: tomcat/tc7.0.x/trunk/ (props changed) tomcat/tc7.0.x/trunk/test/org/apache/catalina/mbeans/TestRegistration.java Propchange: tomcat/tc7.0.x/trunk/ -- Merged /tomcat/trunk:r1306580 Modified: tomcat/tc7.0.x/trunk/test/org/apache/catalina/mbeans/TestRegistration.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/test/org/apache/catalina/mbeans/TestRegistration.java?rev=1306591&r1=1306590&r2=1306591&view=diff == --- tomcat/tc7.0.x/trunk/test/org/apache/catalina/mbeans/TestRegistration.java (original) +++ tomcat/tc7.0.x/trunk/test/org/apache/catalina/mbeans/TestRegistration.java Wed Mar 28 20:49:57 2012 @@ -171,10 +171,11 @@ public class TestRegistration extends To } else { protocol = "bio"; } +String index = getTomcatInstance().getConnector().getProperty("nameIndex").toString(); ArrayList expected = new ArrayList(Arrays.asList(basicMBeanNames())); expected.addAll(Arrays.asList(hostMBeanNames("localhost"))); expected.addAll(Arrays.asList(contextMBeanNames("localhost", contextName))); -expected.addAll(Arrays.asList(connectorMBeanNames("auto-1", protocol))); +expected.addAll(Arrays.asList(connectorMBeanNames("auto-" + index, protocol))); expected.addAll(Arrays.asList(optionalMBeanNames("localhost"))); // Did we find all expected MBeans? - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
DO NOT REPLY [Bug 52974] NameNotFoundException is thrown when field/method is annotated with @Resource annotation
https://issues.apache.org/bugzilla/show_bug.cgi?id=52974 --- Comment #3 from Violeta Georgieva 2012-03-28 20:50:47 UTC --- Thanks and Regards Violeta -- Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
DO NOT REPLY [Bug 52998] New: Performance issue with ExpressionFactory.newInstance()
https://issues.apache.org/bugzilla/show_bug.cgi?id=52998 Bug #: 52998 Summary: Performance issue with ExpressionFactory.newInstance() Product: Tomcat 7 Version: 7.0.26 Platform: PC OS/Version: Windows XP Status: NEW Severity: normal Priority: P2 Component: Jasper AssignedTo: dev@tomcat.apache.org ReportedBy: knst.koli...@gmail.com Classification: Unclassified javax.el.ExpressionFactory.newInstance() implementation in Tomcat 7 does not cache created instance and performs class name discovery on every invocation. The discovery process involves looking for the file named "META-INF/services/javax.el.ExpressionFactory". So every invocation of the method involves looking for and maybe reading the file. This issue was reported on the dev list, see thread: [1] "Two performance problems (found during myfaces testing)", starting on 2012-03-08, - http://tomcat.markmail.org/thread/7bbvzmkvyvryvn44 - http://marc.info/?t=13312402122&r=1&w=2 The above thread [1] also references this one of myfaces: [2] "EL method invocation performance", 2010-08-25: - http://www.mail-archive.com/dev@myfaces.apache.org/msg48482.html -- My evaluation is that 1. This problem is specific for Tomcat 7. - The ExpressionFactory.newInstance() method was added in EL 2.2 and Tomcat 6 does not have it. 2. It hits javax.el.BeanELResolver#invoke() the most, as ExpressionFactory.newInstance() is called on each invocation. 3. There are 2 places where the factory instance is stored in a static field. This is good for performance, but breaks the discovery process and may cause consequences if implementation is bundled in a web application. It is a bug. The places: org.apache.jasper.runtime.JspApplicationContextImpl.expressionFactory org.apache.jasper.compiler.Validator$ValidateVisitor.EXPRESSION_FACTORY -- Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
DO NOT REPLY [Bug 52999] New: Performance issue with locking in ContainerBase.fireContainerEvent()
https://issues.apache.org/bugzilla/show_bug.cgi?id=52999 Bug #: 52999 Summary: Performance issue with locking in ContainerBase.fireContainerEvent() Product: Tomcat 7 Version: 7.0.26 Platform: PC OS/Version: Windows XP Status: NEW Severity: enhancement Priority: P2 Component: Catalina AssignedTo: dev@tomcat.apache.org ReportedBy: knst.koli...@gmail.com Classification: Unclassified This was reported on dev list [1]: > 2) org.apache.catalina.core.ContainerBase.fireContainerEvent; > That method contains critical section: > synchronized (listeners) { >list = listeners.toArray(list); > } > > Is is called pretty often with every put operation into request or > session map. That code in tomcat looks like a candidate for > CopyOnWriteArrayList > I confirm that I see fireContainerEvent() calls in many places in StandardSession. Moreover those are two nested loops: a loop in StandardSession over array of context.getApplicationEventListeners(); x copying the list of container listeners inside into array in context.fireContainerEvent(). I cannot confirm reported problem with request attributes - I do not see anything in the code that would send events from that access. Is it possible to solve it with a ReadWriteLock? Or it would be better to have a helper class that avoids copying the array over on every access (the said copy-on-write one)? I classify this as an enhancement request. [1] Thread "Two performance problems (found during myfaces testing)" on dev list, starting on 2012-03-08, - http://tomcat.markmail.org/thread/7bbvzmkvyvryvn44 - http://marc.info/?t=13312402122&r=1&w=2 -- Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: Two performance problems (found during myfaces testing)
2012/3/9 Konstantin Kolinko : > 2012/3/9 Martin Koci : >> Hi, >> >> we did performance tests in myfaces core project recently and we found >> two performance problems in tomcat (7.0.26): >> >> >> 1) javax.el.ExpressionFactory.newInstance() does not cache instance >> created with javax.el.ExpressionFactory.newInstance. - every invocation >> of this method reads service .properties file again and accesses disk. >> This was discussed a time ago [1], but I forgot to report it. > > +1. > >> >> 2) org.apache.catalina.core.ContainerBase.fireContainerEvent; >> That method contains critical section: >> synchronized (listeners) { >> list = listeners.toArray(list); >> } >> >> Is is called pretty often with every put operation into request or >> session map. > > I see fireContainerEvent() calls in StandardSession. > Moreover those are N x M loops: a loop in StandardSession over array > of context.getApplicationEventListeners(); x a loop inside of > context.fireContainerEvent(). > > +1 to file. > > I do not see such calls in relation to request. Where have you seen them? > >> That code in tomcat looks like a candidate for >> CopyOnWriteArrayList > > Will it eliminate a need for List -> Object[] conversions? > > Just a simple solution might be a ReadWriteLock. > >> Can I create a bugzilla ticket fot those two? >> >> Regards, >> >> Kočičák >> >> [1] http://www.mail-archive.com/dev@myfaces.apache.org/msg48482.html >> I added these two reported issues into Bugzilla: https://issues.apache.org/bugzilla/show_bug.cgi?id=52998 https://issues.apache.org/bugzilla/show_bug.cgi?id=52999 Best regards, Konstantin Kolinko - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[GUMP@vmgump]: Project tomcat-tc7.0.x-test (in module tomcat-7.0.x) failed
To whom it may engage... This is an automated request, but not an unsolicited one. For more information please visit http://gump.apache.org/nagged.html, and/or contact the folk at gene...@gump.apache.org. Project tomcat-tc7.0.x-test has an issue affecting its community integration. This issue affects 1 projects, and has been outstanding for 6 runs. The current state of this project is 'Failed', with reason 'Build Failed'. For reference only, the following projects are affected by this: - tomcat-tc7.0.x-test : Tomcat 7.x, a web server implementing Java Servlet 3.0, ... Full details are available at: http://vmgump.apache.org/gump/public/tomcat-7.0.x/tomcat-tc7.0.x-test/index.html That said, some information snippets are provided here. The following annotations (debug/informational/warning/error messages) were provided: -DEBUG- Dependency on tomcat-tc7.0.x-dbcp exists, no need to add for property tomcat-dbcp-src.jar. -DEBUG- Dependency on commons-daemon exists, no need to add for property commons-daemon.native.src.tgz. -DEBUG- Dependency on commons-daemon exists, no need to add for property tomcat-native.tar.gz. -DEBUG- Dependency on tomcat-tc7.0.x-dbcp exists, no need to add for property tomcat-dbcp.home. -INFO- Failed with reason build failed -INFO- Project Reports in: /srv/gump/public/workspace/tomcat-7.0.x/output/build/logs The following work was performed: http://vmgump.apache.org/gump/public/tomcat-7.0.x/tomcat-tc7.0.x-test/gump_work/build_tomcat-7.0.x_tomcat-tc7.0.x-test.html Work Name: build_tomcat-7.0.x_tomcat-tc7.0.x-test (Type: Build) Work ended in a state of : Failed Elapsed: 22 mins 8 secs Command Line: /usr/lib/jvm/java-6-openjdk/bin/java -Djava.awt.headless=true -Dbuild.sysclasspath=only org.apache.tools.ant.Main -Dgump.merge=/srv/gump/public/gump/work/merge.xml -Djunit.jar=/srv/gump/public/workspace/junit/dist/junit-29032012.jar -Dcommons-daemon.native.src.tgz=/srv/gump/public/workspace/apache-commons/daemon/dist/bin/commons-daemon-29032012-native-src.tar.gz -Dtomcat-native.tar.gz=/srv/gump/public/workspace/apache-commons/daemon/dist/bin/commons-daemon-29032012-native-src.tar.gz -Dexamples.sources.skip=true -Dtomcat-dbcp.home=/srv/gump/public/workspace/tomcat-7.0.x/tomcat-deps -Djdt.jar=/srv/gump/packages/eclipse/plugins/org.eclipse.jdt.core_3.4.2/jdtcore.jar -Dcommons-daemon.jar=/srv/gump/public/workspace/apache-commons/daemon/dist/commons-daemon-29032012.jar -Dtomcat-dbcp-src.jar=/srv/gump/public/workspace/tomcat-7.0.x/tomcat-deps/tomcat-dbcp-src.jar -Dtest.accesslog=true -Dcommons-pool.home=/srv/gump/public/workspace/commons-pool-1.x -Dcommons-dbcp.home=/ srv/gump/public/workspace/commons-dbcp-1.x -Dtomcat-dbcp.jar=/srv/gump/public/workspace/tomcat-7.0.x/tomcat-deps/tomcat-dbcp-29032012.jar test [Working Directory: /srv/gump/public/workspace/tomcat-7.0.x] CLASSPATH: /usr/lib/jvm/java-6-openjdk/lib/tools.jar:/srv/gump/public/workspace/tomcat-7.0.x/output/build/webapps/examples/WEB-INF/classes:/srv/gump/public/workspace/tomcat-7.0.x/output/testclasses:/srv/gump/public/workspace/ant/dist/lib/ant.jar:/srv/gump/public/workspace/ant/dist/lib/ant-launcher.jar:/srv/gump/public/workspace/ant/dist/lib/ant-jmf.jar:/srv/gump/public/workspace/ant/dist/lib/ant-junit.jar:/srv/gump/public/workspace/ant/dist/lib/ant-swing.jar:/srv/gump/public/workspace/ant/dist/lib/ant-apache-resolver.jar:/srv/gump/public/workspace/ant/dist/lib/ant-apache-xalan2.jar:/srv/gump/public/workspace/xml-commons/java/build/resolver.jar:/srv/gump/public/workspace/tomcat-7.0.x/output/build/bin/bootstrap.jar:/srv/gump/public/workspace/tomcat-7.0.x/output/build/bin/tomcat-juli.jar:/srv/gump/public/workspace/tomcat-7.0.x/output/build/lib/annotations-api.jar:/srv/gump/public/workspace/tomcat-7.0.x/output/build/lib/servlet-api.jar:/srv/gump/public/workspace/tomcat-7.0.x/outp ut/build/lib/jsp-api.jar:/srv/gump/public/workspace/tomcat-7.0.x/output/build/lib/el-api.jar:/srv/gump/public/workspace/tomcat-7.0.x/output/build/lib/catalina.jar:/srv/gump/public/workspace/tomcat-7.0.x/output/build/lib/catalina-ant.jar:/srv/gump/public/workspace/tomcat-7.0.x/output/build/lib/tomcat-coyote.jar:/srv/gump/public/workspace/tomcat-7.0.x/output/build/lib/jasper.jar:/srv/gump/public/workspace/tomcat-7.0.x/output/build/lib/jasper-el.jar:/srv/gump/public/workspace/tomcat-7.0.x/output/build/lib/catalina-tribes.jar:/srv/gump/public/workspace/tomcat-7.0.x/output/build/lib/catalina-ha.jar:/srv/gump/public/workspace/tomcat-7.0.x/output/build/lib/tomcat-api.jar:/srv/gump/public/workspace/tomcat-7.0.x/output/build/lib/tomcat-util.jar:/srv/gump/packages/javamail-1.4/mail.jar:/srv/gump/packages/javamail-1.4/lib/mailapi.jar:/srv/gump/packages/jaf-1.1ea/activation.jar:/srv/gump/packages/eclipse/plugins/org.eclipse.jdt.core_3.4.2/jdtcore.jar:/srv/gump/public/workspace/tomcat-7. 0.x/tomcat-deps/tomcat-dbcp-29032012.jar:/srv/gump/public/workspace/apache-commons/daemon/dist/commons-daemon-29032012.jar:/
svn commit: r1306716 - in /tomcat/trunk: build.properties.default build.xml
Author: costin Date: Thu Mar 29 04:46:56 2012 New Revision: 1306716 URL: http://svn.apache.org/viewvc?rev=1306716&view=rev Log: Build the tomcat-jni and tomcat-spdy as separate jars, so they can be used independently. Add a dependency to an apache-license optional interface to support TLS NPN on Java7. If no objections I'll add the classes that use it. Modified: tomcat/trunk/build.properties.default tomcat/trunk/build.xml Modified: tomcat/trunk/build.properties.default URL: http://svn.apache.org/viewvc/tomcat/trunk/build.properties.default?rev=1306716&r1=1306715&r2=1306716&view=diff == --- tomcat/trunk/build.properties.default (original) +++ tomcat/trunk/build.properties.default Thu Mar 29 04:46:56 2012 @@ -131,6 +131,12 @@ jdt.jar=${jdt.home}/ecj-${jdt.version}.j jdt.loc.1=http://archive.eclipse.org/eclipse/downloads/drops/${jdt.release}/ecj-${jdt.version}.jar jdt.loc.2=http://download.eclipse.org/eclipse/downloads/drops/${jdt.release}/ecj-${jdt.version}.jar +# NPN support +npn.version=8.1.2.v20120308 +npn.home=${base.path}/npn-${npn.version} +npn.jar=${npn.home}/npn-${npn.version}.jar +npn.loc=http://repo2.maven.org/maven2/org/mortbay/jetty/npn/npn-api/${npn.version}/npn-boot-${npn.version}.jar + # - Tomcat native library - tomcat-native.version=1.1.23 tomcat-native.home=${base.path}/tomcat-native-${tomcat-native.version} Modified: tomcat/trunk/build.xml URL: http://svn.apache.org/viewvc/tomcat/trunk/build.xml?rev=1306716&r1=1306715&r2=1306716&view=diff == --- tomcat/trunk/build.xml (original) +++ tomcat/trunk/build.xml Thu Mar 29 04:46:56 2012 @@ -92,6 +92,8 @@ + + @@ -164,6 +166,7 @@ + @@ -321,16 +324,25 @@ - + + + + + - + + + + + + @@ -673,6 +685,14 @@ filesDir="${tomcat.classes}" filesId="files.tomcat-coyote" /> + + + + + + + + + + +
Re: [VOTE] Release Apache Taglibs Parent POM 3
My non-binding +1 but one more PMC vote is needed please. Thanks Jeremy On Mar 28, 2012, at 8:35 AM, Filip Hanik (mailing lists) wrote: > > >> -Original Message- >> From: Jeremy Boynes [mailto:jer...@boynes.com] On Behalf Of Jeremy >> Boynes >> Sent: Wednesday, March 28, 2012 8:38 AM >> To: Tomcat Developers List >> Subject: Re: [VOTE] Release Apache Taglibs Parent POM 3 >> >> Request for more votes please, we only have one binding vote so far. > [Filip Hanik] > Add your own :) > > > > > - > To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org > For additional commands, e-mail: dev-h...@tomcat.apache.org > - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: svn commit: r1306130 - in /tomcat/trunk/java/org/apache/catalina/startup: LocalStrings.properties UserConfig.java
2012/3/29 Filip Hanik (mailing lists) : > > >> -Original Message- >> From: kfuj...@apache.org [mailto:kfuj...@apache.org] >> Sent: Tuesday, March 27, 2012 8:51 PM >> To: dev@tomcat.apache.org >> Subject: svn commit: r1306130 - in >> /tomcat/trunk/java/org/apache/catalina/startup: LocalStrings.properties >> UserConfig.java >> >> + for (Future result : results) { >> + try { >> + result.get(); >> + } catch (Exception e) { >> + >> host.getLogger().error(sm.getString("userConfig.deploy.threaded.error"), >> e); >> + } >> + } >> } > [Filip Hanik] > If results[0].get() fails, are you not going to wait for the others to > complete? > If results[0].get() fails, I am going to wait for the others to complete. Thus I implemented try-catch inside a loop. Is there wrong code in this rev? Or don't I understand your comment correctly? > > > > - > To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org > For additional commands, e-mail: dev-h...@tomcat.apache.org > -- Keiichi.Fujino - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: Jenkins configuration
A checkout of trunks is building on my Mac using Maven 3.0.3 but failing in a similar way to Jenkins with Maven 3.0.4 It works with 3.0.4 if I remove the -T3 so that it builds single threaded, but the last successful build #15 also used 3.0.4 and -T3 I propose to remove the -T3 in the configuration and try again with 3.0.4. I'm new to Jenkins so please advise if there are any issues with that. However, we are also getting errors about the effective path of parent files which I believe is caused because the aggregating pom in trunks is not actually the parent of the modules it contains. This is because the structure of taglibs was as four projects intended to be released independently (parent, standard, rdc and extended) and not intended to be built as one. I propose we keep that split in Jenkins and re-configure it into 4 projects matching what would be released. That would also remove the aggregator stub trunks. On Mar 26, 2012, at 10:37 PM, Olivier Lamy wrote: > I setup the build on Jenkins long ago. > Do you need some configuration change ? > > -- > Olivier > Le 27 mars 2012 03:38, "Jeremy Boynes" a écrit : > >> Thanks, request sent to Mladen as per that page. Do we know who set this >> up? >> >> On Mar 26, 2012, at 12:30 PM, Olivier Lamy wrote: >> >>> Hello, >>> See http://wiki.apache.org/general/Jenkins#How_do_I_get_an_account >>> >>> >>> >>> 2012/3/26 Jeremy Boynes : Who controls permissions in Jenkins (builds.a.o)? Please can you grant >> me build rights for Taglibs-All? >> >> >> - >> To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org >> For additional commands, e-mail: dev-h...@tomcat.apache.org >> >> - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
DO NOT REPLY [Bug 52318] Version in tomcat-jdbc POM is conflicted with Version in MANIFEST for JULI JAR
https://issues.apache.org/bugzilla/show_bug.cgi?id=52318 --- Comment #12 from pan4o 2012-03-29 06:33:10 UTC --- Ok, i undestand ... i am not that familiar with the build and run dependencies of the tomcat libraries. Please correct me if i am wrong: tomcat-jdbc in the version 7.0.22 can/should run with tomcat-juli in the version 6.0.18 but has a compile dependency to tomcat-juli in the version 7.0.22. The fix of this issue will be than: tomcat-jdbc MANIFEST: Import-Package: org.apache.juli.logging;version="[6.0, 7.1)" OR may be Import-Package: org.apache.juli.logging;version="[6.0, 8.0)" But be careful with that version range. This means tomcat-jdbc can run with all versions in [6.0.0, 7.1.0) of tomcat-juli. -- Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org