00:12.03 | *** join/#tomcat pradhand_ (~pradhand@142.177.120.78) |
00:17.10 | *** join/#tomcat classix (~salven@silenceisdefeat.com) |
00:41.52 | *** join/#tomcat luckman212_ (~luckman21@unaffiliated/luckman212) |
00:56.38 | *** join/#tomcat bazz (~bazz@black.feralhosting.com) |
01:10.50 | *** join/#tomcat deepy (~deepy@c83-248-186-255.bredband.comhem.se) |
01:25.21 | *** join/#tomcat pradhand_ (~pradhand@142.177.185.63) |
01:44.11 | *** join/#tomcat deepy (~deepy@c83-248-186-255.bredband.comhem.se) |
02:50.02 | *** join/#tomcat revattar (~revattar@c-98-248-187-174.hsd1.ca.comcast.net) |
02:52.12 | *** join/#tomcat classix (~salven@silenceisdefeat.com) |
03:02.06 | *** join/#tomcat revattar (~revattar@c-98-248-187-174.hsd1.ca.comcast.net) |
03:21.13 | *** join/#tomcat classix (~salven@silenceisdefeat.com) |
03:37.42 | *** join/#tomcat classix (~salven@silenceisdefeat.com) |
03:51.11 | *** join/#tomcat classix (~salven@silenceisdefeat.com) |
04:02.38 | *** join/#tomcat pradhand (~pradhand@142.177.90.43) |
04:19.42 | *** join/#tomcat jnhghy (~jalexandr@86.123.191.6) |
04:31.47 | *** join/#tomcat revattar (~revattar@c-98-248-187-174.hsd1.ca.comcast.net) |
04:33.57 | *** join/#tomcat classix (~salven@silenceisdefeat.com) |
04:44.20 | *** join/#tomcat yassine (~yassine@unaffiliated/yassine) |
05:02.06 | *** join/#tomcat revattar (~revattar@c-98-248-187-174.hsd1.ca.comcast.net) |
05:11.36 | *** join/#tomcat vigneshwaran (~vigneshwa@182.71.239.158) |
06:04.15 | *** join/#tomcat pradhand_ (~pradhand@142.177.41.159) |
06:09.59 | *** join/#tomcat pradhand (~pradhand@142.177.89.80) |
06:13.23 | *** join/#tomcat pradhand_ (~pradhand@142.177.123.50) |
06:24.00 | *** join/#tomcat pradhand_ (~pradhand@142.177.125.166) |
06:24.37 | *** join/#tomcat vigneshwaran (~vigneshwa@182.71.239.158) |
06:26.39 | *** join/#tomcat vanksi (~vanksi@ec2-176-34-84-91.eu-west-1.compute.amazonaws.com) |
06:33.43 | *** join/#tomcat chkal (~chkal@217.194.235.13) |
06:47.50 | *** join/#tomcat vigneshwaran (~vigneshwa@182.71.239.158) |
07:04.47 | *** join/#tomcat jamespage (~jamespage@culvain.gromper.net) |
07:04.47 | *** join/#tomcat jamespage (~jamespage@ubuntu/member/jamespage) |
07:25.22 | *** join/#tomcat robottinosino (~robottino@236.Red-83-50-110.dynamicIP.rima-tde.net) |
07:30.13 | *** join/#tomcat _Qman (~Qman@213.177.160.238) |
07:30.39 | *** join/#tomcat Descra (5bbb5d46@gateway/web/freenode/ip.91.187.93.70) |
07:49.23 | Descra | Hi, i m using BasicDataSources, i see the setRemoveAbandonedTimeout function, how does it work?? What's an abandonned connection? In my app i have sometimes (cause code bugs) some connections that remain active. How do I close them? |
07:49.47 | Descra | it s task of BasicDataSources? |
08:02.28 | *** join/#tomcat alcir (~alcir@fw.ftgm.it) |
08:12.45 | *** join/#tomcat t4nk676 (73712602@gateway/web/freenode/ip.115.113.38.2) |
08:13.06 | t4nk676 | HI |
08:13.24 | t4nk676 | I m using tomcat 6.0.36 with JDK1.6 on linux |
08:13.39 | t4nk676 | and while running tomcat m getting this error - "org.postgresql.util.PSQLException: FATAL: invalid value for parameter "TimeZone" " |
08:13.44 | t4nk676 | what is the issue ? |
08:13.47 | t4nk676 | plz help |
09:05.54 | *** join/#tomcat Reddy1 (~laxman@118.102.128.225) |
09:37.22 | *** join/#tomcat nevada-smith (~nevada-sm@S0106c8fb2641d848.vs.shawcable.net) |
10:03.12 | *** join/#tomcat nevada-smith (~nevada-sm@S0106c8fb2641d848.vs.shawcable.net) |
10:21.00 | *** join/#tomcat andre2g (~andre2g@dslb-088-074-218-068.pools.arcor-ip.net) |
11:17.47 | *** join/#tomcat nevada-smith (~nevada-sm@S0106c8fb2641d848.vs.shawcable.net) |
12:08.28 | *** join/#tomcat andre2gramm (~andre2g@dslb-088-074-218-068.pools.arcor-ip.net) |
13:02.25 | *** join/#tomcat TOoOo (4df2cae3@gateway/web/freenode/ip.77.242.202.227) |
13:09.53 | *** join/#tomcat devOpsEv (~devOpsEv@ismtp.dscicorp.com) |
13:13.18 | devOpsEv | hello all, I'm on tc 7.0.28.0, java 1.6.0u43, and CetOS 6.3. I have parallel deployment up and running on a single tomcat install and I'm wondering if there is a way to migrate sessions from old ver to new ver. I know session replication and migration is available using clustering but we only have the one server. |
13:13.47 | devOpsEv | s/CetOS/CentOS |
13:23.15 | *** join/#tomcat jieryn (~jieryn@pool-173-77-215-221.nycmny.fios.verizon.net) |
13:23.15 | *** join/#tomcat jieryn (~jieryn@jenkins/developer/jieryn) |
13:46.31 | yalu | is there a reference on how to secure org.apache.catalina.ha.tcp.SimpleTcpCluster? |
14:19.06 | *** join/#tomcat pucko_ (~andreas@212-181-98-222.customer.telia.com) |
14:19.06 | *** join/#tomcat JiYu (~jiyu@v3-1270.vlinux.de) |
14:19.06 | *** join/#tomcat surfdue (surfdue@unaffiliated/surfdue) |
14:19.06 | *** join/#tomcat karstensrage (cpt1138@gateway/shell/sh3lls.net/x-rdvtsbdbcxtmdfsp) |
14:47.47 | *** join/#tomcat deepy (~deepy@c83-248-186-255.bredband.comhem.se) |
15:19.38 | *** join/#tomcat yassine (~yassine@unaffiliated/yassine) |
15:34.19 | *** join/#tomcat pradhand_ (~pradhand@142.177.123.186) |
15:37.13 | *** join/#tomcat Romeo` (~Romi@dslb-188-104-130-240.pools.arcor-ip.net) |
15:37.13 | *** join/#tomcat Romeo` (~Romi@unaffiliated/romeo/x-000000001) |
15:40.56 | *** join/#tomcat jamespage_ (~jamespage@host86-153-50-162.range86-153.btcentralplus.com) |
16:18.41 | *** join/#tomcat JenniferB2 (c08a74e7@gateway/web/freenode/ip.192.138.116.231) |
16:20.22 | JenniferB2 | Hi folks... I am trying to access a directory in my application under teh WEB-INF folder ... but I am unable to in Tomcat ... neither my css files under /WebContent ... how can I access my files under WebContent or WEB-INF ? servletContext.getRealPath("/WEB-INF") returns null ... |
16:21.07 | *** join/#tomcat JenniferB2 (c08a74e7@gateway/web/freenode/ip.192.138.116.231) |
16:30.05 | *** join/#tomcat SJS (~stremler@174.46.232.2) |
16:30.06 | *** join/#tomcat SJS (~stremler@kernel-panic/member/ThunderChicken) |
17:13.09 | *** join/#tomcat gregor3005 (~Benutzern@85-125-11-10.static.xdsl-line.inode.at) |
17:16.50 | gregor3005 | hi, i try to follow the official setup documenation and i use centos 6 x86_64 and java oracle 1.7.0_17. i have the problem that i downloaded tomcat but there is no jsvc included in the downloaded core file. https://tomcat.apache.org/tomcat-7.0-doc/setup.html |
17:17.14 | gregor3005 | in commons-daemon-1.0.15-bin.tar.gz there is also no jsvc file |
17:18.43 | gregor3005 | tomcat version: 7.0.39 |
17:35.04 | *** join/#tomcat revattar (~revattar@50-0-117-34.dedicated.static.sonic.net) |
17:50.18 | whartung | I don't know what a "jsvc" is gregor3005 |
17:55.49 | *** join/#tomcat revattar (~revattar@50-0-117-34.dedicated.static.sonic.net) |
18:12.57 | *** join/#tomcat revattar (~revattar@50-0-117-34.dedicated.static.sonic.net) |
18:20.41 | *** join/#tomcat revattar (~revattar@50-0-117-34.dedicated.static.sonic.net) |
18:26.14 | gregor3005 | whartung: if you want help then take a look to the url that i referenced: https://tomcat.apache.org/tomcat-7.0-doc/setup.html |
18:27.43 | whartung | obviously I'm not familiar with this, did you do the ./configure; make; parts? |
18:28.24 | *** join/#tomcat revattar (~revattar@50-0-117-34.dedicated.static.sonic.net) |
18:30.34 | gregor3005 | whartung: there are no ./configure script in apache-tomcat-7.0.39.tar.gz |
18:32.13 | whartung | In the /bin directory there's a commons-daemon-native.tar.gz. That would contain the configure script |
18:32.14 | gregor3005 | i try the full source |
18:32.17 | *** join/#tomcat bazz (~bazz@black.feralhosting.com) |
18:33.06 | gregor3005 | ok, i try that first |
18:49.49 | gregor3005 | whartung: thx now i have jsvc :-) |
18:49.56 | whartung | yw |
19:08.21 | gregor3005 | now i have jsvc but i can't start it like described in the documenation, i tried: ./bin/jsvc -cp ./bin/bootstrap.jar:./bin/tomcat-juli.jar -outfile ./logs/catalina.out -errfile ./logs/catalina.err org.apache.catalina.startup.Bootstrap -java-home /usr/java/default -nodetach -debug |
19:12.02 | gregor3005 | i got: Speicherzugriffsfehler |
19:23.25 | gregor3005 | i use the normal start script, that work |
19:24.13 | devOpsEv | anyone have a suggestion for session migration on a single tomcat instance using parallel deployment? tc 7.0.28, jv 1.6.0_43 centOS6.3 |
19:24.42 | devOpsEv | ideally, after new ver is deployed, the next request from the user would be answered by the newest version of the app |
19:29.04 | LzrdKing | interesting, i did NOT need to use "<Listener className="org.apache.catalina.mbeans.JmxRemoteLifecycleListener"> to monitor JMX |
19:30.56 | LzrdKing | but i see no catalina beans with jmxterm (but zabbix did, and jmxterm still doesn't see them with the listener) |
19:31.08 | LzrdKing | so what the heck does the listener do? |
19:32.23 | devOpsEv | LzrdKing: doesn't it just help when your Tomcat is behind a firewall? |
19:32.25 | LzrdKing | "The JMX Remote Lifecycle Listener fixes the ports used by the JMX/RMI Server making things much simpler if you need to connect jconsole or a similar tool to a remote Tomcat instance that is running behind a firewall." is that IT? it just sets the ports? but i was able to do that with -Dcom.sun.management.jmxremote.port |
19:32.46 | LzrdKing | devOpsEv: i thought it did... more... |
19:33.12 | devOpsEv | http://tomcat.apache.org/tomcat-6.0-doc/config/listeners.html#JMX_Remote_Lifecycle_Listener_-_org.apache.catalina.mbeans.JmxRemoteLifecycleListener |
19:33.24 | devOpsEv | tomcat 7.0 says the same |
19:34.04 | LzrdKing | is it that rmiServerPortPlatform that it fixes? |
19:34.29 | devOpsEv | if there's a firewall between you and your tomcat |
19:34.34 | LzrdKing | dunno, been using jmx in tomcat for a couple years, and i always thought it exposed information too |
19:34.38 | devOpsEv | it lets you fix the ports so you can port forward through your fw |
19:35.21 | devOpsEv | otherwise you'll get connection refused because your jmx port might not match your firewall port and it thinks you're a hacker |
19:40.50 | LzrdKing | i guess if i have two tomcat instances, i'd need a second port for the other one |
19:41.07 | LzrdKing | well, its a production box, so that aint gonna happen :P |
19:41.10 | LzrdKing | not right now |
19:42.17 | LzrdKing | hah, i think these two servers are ready, and i told everyine i'd have them ready by the 19th... its too early to say they are ready! |
19:46.36 | LzrdKing | i gave myself a week and a half, and took one day |
19:50.23 | devOpsEv | LzrdKing: so slack off for two weeks |
19:50.39 | devOpsEv | LzrdKing: and every time someone asks you about them, just tell them you've having a hell of a time |
19:51.34 | *** join/#tomcat ccorn (~ccorn@i52104.upc-i.chello.nl) |
19:56.23 | LzrdKing | err... no, i have other stuff too |
19:56.35 | whartung | devOpsEv: I haven't used the new app deployment features of tomcat. As I understand it, if the user already has a session it will use the old app, and only new users use the new app. |
19:56.57 | devOpsEv | whartung: right, that is how it works, but that is problematic in a production environment |
19:57.26 | whartung | do you have long term users? Why not let then migrate when they log back in? |
19:58.34 | devOpsEv | whartung: that's what I said but my boss is against it. sessions timeout after 4 hours but if we deploy a hotfix, usually it's because the old version had some poor code. other problems arise if we change the sql queries and database entries for newer versions |
19:58.45 | devOpsEv | then old versions potentially won't work at all |
20:00.30 | devOpsEv | the biggest problem right now is it's considered disruptive if we force them to migrate with our current setup |
20:00.38 | devOpsEv | we invalidate the session and they have to log in again |
20:00.52 | devOpsEv | then they think there's a problem with the app |
20:01.19 | whartung | but by the same token, there's no guarantee (generically) that the old session is compatible with the new session, and there's no (apparently) mechanism to alert the application to do a session migration, plus on top of that sessions are most likely tied to the actual applications, making migration even more problematic internally with tomcat. |
20:02.15 | whartung | you might be better off using a cluster and a load balancer and doing some chicanery there where you deploy to the new leg, let it sync up sessions, then flick The Big Switch on the load balanacer to direct new traffic to the new leg |
20:02.30 | whartung | but even then you'd still need some kind of session migration strategy |
20:02.40 | devOpsEv | I was hoping there was a way to just get the session from the manager app on old version and give it to the manager app on the new version |
20:02.42 | whartung | depends on how tomcat identifies applications within a cluster |
20:02.59 | devOpsEv | something in the code that I can call or something |
20:03.03 | whartung | yea, class loader shenanigans would also complicated that. |
20:03.26 | whartung | you'd have to leverage the cluster replication through serialization tech to do that properly. |
20:03.39 | whartung | …assuming the new session has all of the classes of the old session … >.< |
20:04.22 | devOpsEv | well |
20:04.25 | devOpsEv | the fortunate thing is |
20:04.29 | devOpsEv | we DO serialize our sessions |
20:04.42 | devOpsEv | so that if we restart the server users don't need to reauthenticate |
20:05.02 | whartung | sure |
20:05.42 | whartung | I mean, the simple response is "no, tomcat won't let you do this", and I don't think it's a "easy fix" to make it do so since session migration isn't really part and parcel to their rolling deployment strategy. |
20:05.51 | devOpsEv | right |
20:05.56 | whartung | at least not currently |
20:06.08 | whartung | "patches welcome" as they say in the open source community... |
20:06.31 | devOpsEv | but I have a feeling it can be done in some manner. maybe I need to stop approaching this from the "what is the simplest" method strategy and deal with the fact that it could be messy and complicated |
20:06.51 | whartung | well the load balancing and cluster thing could do it I think |
20:06.56 | whartung | and tomcat wouldn't be the wiser |
20:07.07 | whartung | but that's a multiple machine solution |
20:07.15 | whartung | which is I guess not what you have now |
20:07.21 | devOpsEv | right and I'm only on one server with only one instance of tomcat |
20:07.27 | whartung | right |
20:07.55 | whartung | normally, sessions are serialized during shutdown, not in flight |
20:08.02 | devOpsEv | right |
20:08.10 | devOpsEv | yeah that's how we handle it |
20:08.12 | whartung | (I dunno the complexity of snapshotting a session in flight) |
20:08.44 | whartung | what happens if you get a request while capturing the session -- hilarity ensues no doubt |
20:09.06 | *** join/#tomcat revattar (~revattar@50-0-117-34.dedicated.static.sonic.net) |
20:09.35 | devOpsEv | I'm thinking we might be able to do something with the manager api |
20:11.25 | whartung | how much surgery are you willing to do to tomcat? I'm betting (I do not know) you can't do this, in any form, with the stock code base. Is the manager api that granular? |
20:11.44 | devOpsEv | http://tomcat.apache.org/tomcat-7.0-doc/api/org/apache/catalina/session/ManagerBase.html |
20:13.32 | devOpsEv | that's the manager base |
20:13.54 | whartung | nothing there seems to a) associate a session with a specific application (nor a specific instance of an application if they distinguish them as such), b) serialized the session, c) ties a session to a specific client |
20:14.11 | devOpsEv | right |
20:14.14 | devOpsEv | but there's a sub manager |
20:14.17 | devOpsEv | StandardManager |
20:14.19 | *** join/#tomcat canilao (~canilao@50-77-141-170-static.hfc.comcastbusiness.net) |
20:14.26 | devOpsEv | that does serialization |
20:14.51 | devOpsEv | there's also PersistentManagerBase |
20:15.30 | devOpsEv | DeltaManager |
20:15.33 | devOpsEv | for clustering |
20:16.06 | devOpsEv | I've read that DeltaManager can be used for session replication/migration between two versions of the same app but couldn't find any documentation for that implementation, only for clustering/load balancing/failover |
20:16.46 | whartung | basically you need to serialize the session out of the the app, dissociate the session ID from the app, reasscoiate the session id with app_prime, and then marshal the session back in to the system. |
20:17.10 | devOpsEv | noted |
20:17.26 | whartung | and how you get the class path for app_prime when it reloads the session, I have no idea |
20:17.41 | devOpsEv | well that's simple enough |
20:17.43 | devOpsEv | we're using ROOT |
20:17.55 | whartung | no, that's not simple enough |
20:18.02 | whartung | each WAR has it's own classpath |
20:18.05 | devOpsEv | and the version number is easy enough to obtain |
20:18.14 | devOpsEv | ROOT##0001.war |
20:18.20 | devOpsEv | ROOT##0002.war |
20:18.21 | devOpsEv | etc |
20:18.33 | whartung | which is a combination of the systems class path and the libs/classes within the individual WAR. |
20:18.53 | whartung | so, you need the class loader for each specific web app in order to load the session back in |
20:20.05 | devOpsEv | it's the same webapp, just a different version number. not sure where the problem ir or otherwise I don't understand the problem you're describing |
20:20.50 | whartung | no, it's not the same web app. It's a different web app that happens to have a bunch of classes all named the same and look really realy similar. But to the system, those are distinct and DIFFERENT classes. |
20:20.59 | whartung | A class in java is identified by it's name AND it's classloader |
20:21.21 | *** join/#tomcat Liir (~franck@unaffiliated/liir) |
20:21.26 | whartung | the web apps have different class loaders, that's why you have to serialize the stuff in the first place. |
20:21.43 | whartung | and can't just "move" the data in memory. |
20:22.01 | devOpsEv | Okay, I understand. I'm not a developer but I do have some basic programming knowledge and skills (mostly python :P) I support the devs here and maintain the tomcat server, logging, system health, etc. this was a project my boss gave me to research. |
20:22.51 | whartung | yea, this is not just a system issue. The way the JVM works is part and parcel and fundamental to the hoops you have to jump through to make it work (more reason to use the load balanacer) :) |
20:23.20 | whartung | just run it in a VM, overload the system during upgrades by spooling up a new one, switch everyone over via the LB, the kill the other VM. |
20:23.43 | whartung | the system will swap and groan and moan during the transition, but... |
20:24.00 | whartung | or set up a maintenance window and simply bounce it |
20:24.05 | whartung | (extra ez way) |
20:25.09 | devOpsEv | we actually just moved from physical server to logical server on a SAN, unfortunately i don't get to play with the SAN or the VM software, just have access to log into the actual VM |
20:25.28 | whartung | just trying to make it easier for you |
20:25.30 | whartung | how many users? |
20:25.40 | whartung | public or internal? |
20:25.55 | whartung | human or automated clients? |
20:25.57 | devOpsEv | maintenance window is too much, we only support an app for our internal users (about 75) during business hours... we do hot fixes and take the app down during the day |
20:26.05 | devOpsEv | my boss wants to minimize THAT, hence parallel deployment |
20:26.09 | devOpsEv | human, internal |
20:26.50 | whartung | I don't know what your app is, so I don't know what the "long" part of your deployment is. But you can easily narrow it down to "costing" no more than a server restart. |
20:27.40 | devOpsEv | heh |
20:27.52 | devOpsEv | downtime on deploys is ~30 seconds at most |
20:27.56 | whartung | and the cost of a server restart is saving out the current sessions, and the start up cost of the server. |
21:06.57 | *** part/#tomcat gregor3005 (~Benutzern@85-125-11-10.static.xdsl-line.inode.at) |
21:57.48 | *** join/#tomcat bazz (~bazz@black.feralhosting.com) |
22:03.10 | *** join/#tomcat canilao (~canilao@50-77-141-170-static.hfc.comcastbusiness.net) |
22:04.38 | canilao | Hi, I'm trying to install a grails app on tomcat6 but I get this odd error: SEVERE: The web application [/contacts-0.1] registered the JDBC driver [org.h2.Driver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered. |
22:04.58 | canilao | anyone know about this memory leak detection thing? |
22:05.02 | evil_andy | yeah |
22:05.04 | evil_andy | tomcat6? |
22:05.07 | canilao | yes |
22:05.28 | evil_andy | someone correct me if I'm wrong, but tomcat6 can detect memory leaks, but it can't fix them. tomcat7 can detect AND fix memory leaks |
22:05.34 | evil_andy | does your application fail to start? |
22:05.43 | canilao | yes fails to start |
22:05.49 | evil_andy | what are the errors before that? |
22:06.08 | canilao | let me get them |
22:06.11 | evil_andy | Ok |
22:06.34 | evil_andy | if you just throw them on a pastebin somewhere I'll take a look |
22:06.42 | canilao | ok |
22:06.51 | evil_andy | be sure to remove any information you don't want in there though :) |
22:08.14 | canilao | I think this is ok: http://pastebin.com/ahnKzLta |
22:08.16 | canilao | thanks |
22:08.18 | canilao | :) |
22:09.26 | evil_andy | Hmm... what's in your Config.groovy file? |
22:09.36 | evil_andy | rather, do you have your logs set to debug? |
22:09.49 | canilao | probably not :) |
22:09.51 | evil_andy | SEVERE: Error listenerStart that's the actual error (though not the cause) |
22:10.08 | canilao | let me take a look at the config |
22:10.34 | evil_andy | I'm opening up my config too to see what I did |
23:22.48 | *** join/#tomcat nevada-smith (~nevada-sm@S0106c8fb2641d848.vs.shawcable.net) |
23:26.27 | *** join/#tomcat acidjnk22 (havenone@p57B8C676.dip.t-dialin.net) |
23:39.26 | *** join/#tomcat smakatak (~jsword@108-194-22-242.lightspeed.cicril.sbcglobal.net) |
23:40.34 | smakatak | i have tomcat running on a linux box at webfaction. it looks fine, and i can access the different links on the page. but then after clicking a couple of the links i get a 502 bad gateway. any idea what thats about? |
23:40.56 | smakatak | i have to run a shutdown and startup to get the home page to load again |
23:41.18 | smakatak | this happens after clicking two links deep |