IRC log for #tomcat on 20130411

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.23DescraHi, 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.47Descrait 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.06t4nk676HI
08:13.24t4nk676I m using tomcat 6.0.36 with JDK1.6 on linux
08:13.39t4nk676and while running tomcat m getting this error - "org.postgresql.util.PSQLException: FATAL: invalid value for parameter "TimeZone" "
08:13.44t4nk676what is the issue ?
08:13.47t4nk676plz 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.18devOpsEvhello 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.47devOpsEvs/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.31yaluis 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.22JenniferB2Hi 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.50gregor3005hi, 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.14gregor3005in commons-daemon-1.0.15-bin.tar.gz there is also no jsvc file
17:18.43gregor3005tomcat version:  7.0.39
17:35.04*** join/#tomcat revattar (~revattar@50-0-117-34.dedicated.static.sonic.net)
17:50.18whartungI 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.14gregor3005whartung: 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.43whartungobviously 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.34gregor3005whartung: there are no ./configure script in apache-tomcat-7.0.39.tar.gz
18:32.13whartungIn the /bin directory there's a commons-daemon-native.tar.gz. That would contain the configure script
18:32.14gregor3005i try the full source
18:32.17*** join/#tomcat bazz (~bazz@black.feralhosting.com)
18:33.06gregor3005ok, i try that first
18:49.49gregor3005whartung: thx now i have jsvc :-)
18:49.56whartungyw
19:08.21gregor3005now 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.02gregor3005i got: Speicherzugriffsfehler
19:23.25gregor3005i use the normal start script, that work
19:24.13devOpsEvanyone 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.42devOpsEvideally, after new ver is deployed, the next request from the user would be answered by the newest version of the app
19:29.04LzrdKinginteresting, i did NOT need to use "<Listener className="org.apache.catalina.mbeans.JmxRemoteLifecycleListener"> to monitor JMX
19:30.56LzrdKingbut i see no catalina beans with jmxterm (but zabbix did, and jmxterm still doesn't see them with the listener)
19:31.08LzrdKingso what the heck does the listener do?
19:32.23devOpsEvLzrdKing:  doesn't it just help when your Tomcat is behind a firewall?
19:32.25LzrdKing"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.46LzrdKingdevOpsEv: i thought it did... more...
19:33.12devOpsEvhttp://tomcat.apache.org/tomcat-6.0-doc/config/listeners.html#JMX_Remote_Lifecycle_Listener_-_org.apache.catalina.mbeans.JmxRemoteLifecycleListener
19:33.24devOpsEvtomcat 7.0 says the same
19:34.04LzrdKingis it that rmiServerPortPlatform that it fixes?
19:34.29devOpsEvif there's a firewall between you and your tomcat
19:34.34LzrdKingdunno, been using jmx in tomcat for a couple years, and i always thought it exposed information too
19:34.38devOpsEvit lets you fix the ports so you can port forward through your fw
19:35.21devOpsEvotherwise you'll get connection refused because your jmx port might not match your firewall port and it thinks you're a hacker
19:40.50LzrdKingi guess if i have two tomcat instances, i'd need a second port for the other one
19:41.07LzrdKingwell, its a production box, so that aint gonna happen :P
19:41.10LzrdKingnot right now
19:42.17LzrdKinghah, 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.36LzrdKingi gave myself a week and a half, and took one day
19:50.23devOpsEvLzrdKing: so slack off for two weeks
19:50.39devOpsEvLzrdKing:  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.23LzrdKingerr... no, i have other stuff too
19:56.35whartungdevOpsEv: 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.57devOpsEvwhartung: right, that is how it works, but that is problematic in a production environment
19:57.26whartungdo you have long term users? Why not let then migrate when they log back in?
19:58.34devOpsEvwhartung: 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.45devOpsEvthen old versions potentially won't work at all
20:00.30devOpsEvthe biggest problem right now is it's considered disruptive if we force them to migrate with our current setup
20:00.38devOpsEvwe invalidate the session and they have to log in again
20:00.52devOpsEvthen they think there's a problem with the app
20:01.19whartungbut 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.15whartungyou 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.30whartungbut even then you'd still need some kind of session migration strategy
20:02.40devOpsEvI 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.42whartungdepends on how tomcat identifies applications within a cluster
20:02.59devOpsEvsomething in the code that I can call or something
20:03.03whartungyea, class loader shenanigans would also complicated that.
20:03.26whartungyou'd have to leverage the cluster replication through serialization tech to do that properly.
20:03.39whartung…assuming the new session has all of the classes of the old session … >.<
20:04.22devOpsEvwell
20:04.25devOpsEvthe fortunate thing is
20:04.29devOpsEvwe DO serialize our sessions
20:04.42devOpsEvso that if we restart the server users don't need to reauthenticate
20:05.02whartungsure
20:05.42whartungI 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.51devOpsEvright
20:05.56whartungat least not currently
20:06.08whartung"patches welcome" as they say in the open source community...
20:06.31devOpsEvbut 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.51whartungwell the load balancing and cluster thing could do it I think
20:06.56whartungand tomcat wouldn't be the wiser
20:07.07whartungbut that's a multiple machine solution
20:07.15whartungwhich is I guess not what you have now
20:07.21devOpsEvright and I'm only on one server with only one instance of tomcat
20:07.27whartungright
20:07.55whartungnormally, sessions are serialized during shutdown, not in flight
20:08.02devOpsEvright
20:08.10devOpsEvyeah that's how we handle it
20:08.12whartung(I dunno the complexity of snapshotting a session in flight)
20:08.44whartungwhat 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.35devOpsEvI'm thinking we might be able to do something with the manager api
20:11.25whartunghow 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.44devOpsEvhttp://tomcat.apache.org/tomcat-7.0-doc/api/org/apache/catalina/session/ManagerBase.html
20:13.32devOpsEvthat's the manager base
20:13.54whartungnothing 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.11devOpsEvright
20:14.14devOpsEvbut there's a sub manager
20:14.17devOpsEvStandardManager
20:14.19*** join/#tomcat canilao (~canilao@50-77-141-170-static.hfc.comcastbusiness.net)
20:14.26devOpsEvthat does serialization
20:14.51devOpsEvthere's also PersistentManagerBase
20:15.30devOpsEvDeltaManager
20:15.33devOpsEvfor clustering
20:16.06devOpsEvI'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.46whartungbasically 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.10devOpsEvnoted
20:17.26whartungand how you get the class path for app_prime when it reloads the session, I have no idea
20:17.41devOpsEvwell that's simple enough
20:17.43devOpsEvwe're using ROOT
20:17.55whartungno, that's not simple enough
20:18.02whartungeach WAR has it's own classpath
20:18.05devOpsEvand the version number is easy enough to obtain
20:18.14devOpsEvROOT##0001.war
20:18.20devOpsEvROOT##0002.war
20:18.21devOpsEvetc
20:18.33whartungwhich is a combination of the systems class path and the libs/classes within the individual WAR.
20:18.53whartungso, you need the class loader for each specific web app in order to load the session back in
20:20.05devOpsEvit'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.50whartungno, 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.59whartungA class in java is identified by it's name AND it's classloader
20:21.21*** join/#tomcat Liir (~franck@unaffiliated/liir)
20:21.26whartungthe web apps have different class loaders, that's why you have to serialize the stuff in the first place.
20:21.43whartungand can't just "move" the data in memory.
20:22.01devOpsEvOkay, 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.51whartungyea, 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.20whartungjust 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.43whartungthe system will swap and groan and moan during the transition, but...
20:24.00whartungor set up a maintenance window and simply bounce it
20:24.05whartung(extra ez way)
20:25.09devOpsEvwe 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.28whartungjust trying to make it easier for you
20:25.30whartunghow many users?
20:25.40whartungpublic or internal?
20:25.55whartunghuman or automated clients?
20:25.57devOpsEvmaintenance 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.05devOpsEvmy boss wants to minimize THAT, hence parallel deployment
20:26.09devOpsEvhuman, internal
20:26.50whartungI 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.40devOpsEvheh
20:27.52devOpsEvdowntime on deploys is ~30 seconds at most
20:27.56whartungand 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.38canilaoHi, 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.58canilaoanyone know about this memory leak detection thing?
22:05.02evil_andyyeah
22:05.04evil_andytomcat6?
22:05.07canilaoyes
22:05.28evil_andysomeone 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.34evil_andydoes your application fail to start?
22:05.43canilaoyes fails to start
22:05.49evil_andywhat are the errors before that?
22:06.08canilaolet me get them
22:06.11evil_andyOk
22:06.34evil_andyif you just throw them on a pastebin somewhere I'll take a look
22:06.42canilaook
22:06.51evil_andybe sure to remove any information you don't want in there though :)
22:08.14canilaoI think this is ok: http://pastebin.com/ahnKzLta
22:08.16canilaothanks
22:08.18canilao:)
22:09.26evil_andyHmm... what's in your Config.groovy file?
22:09.36evil_andyrather, do you have your logs set to debug?
22:09.49canilaoprobably not :)
22:09.51evil_andySEVERE: Error listenerStart that's the actual error (though not the cause)
22:10.08canilaolet me take a look at the config
22:10.34evil_andyI'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.34smakataki 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.56smakataki have to run a shutdown and startup to get the home page to load again
23:41.18smakatakthis happens after clicking two links deep

Generated by irclog2html.pl Modified by Tim Riker to work with infobot.