Re: Clustering problems
Read the doc and configure greater waitForAck timeouts and more pooled worker. Sender ... ackTimeout=5 maxPoolSocketLimit=40 .. I only used fastasyncqueue mode in my production system! Sender className=org.apache.catalina.cluster.tcp.ReplicationTransmitter replicationMode=fastasyncqueue doTransmitterProcessingStats=true doProcessingStats=true doWaitAckStats=true queueTimeWait=true queueDoStats=true queueCheckLock=true waitForAck=false keepAliveTimeout=8 keepAliveMaxRequestCount=-1/ Peter Randy Paries schrieb: Hello I have two tomcat servers (flanders and krusty) Their server.xmls are below they have two nic cards. The incoming http requests come in via the 192.168 ips and go out the real ips 66.208 the 192.168 nics are on a gigbit network When my servers get really busy i messages in the log file (see below) Once this happens my httpd starts backing up and it gets real ugly fast. I have to stop both instances and restart them Does my config look ok? any suggestions? Thanks Randy From log file Aug 25, 2005 3:22:36 PM org.apache.catalina.cluster.tcp.SimpleTcpCluster memberDisappeared INFO: Received member disappeared:org.apache.catalina.cluster.mcast.McastMember[tcp://192.168.0.20 4:4001,192.168.0.204,4001, a live=47087979] Aug 25, 2005 3:22:37 PM org.apache.catalina.cluster.tcp.SimpleTcpCluster memberAdded INFO: Replication member added:org.apache.catalina.cluster.mcast.McastMember[tcp://192.168.0.204:4001 ,192.168.0.204,4001, aliv e=47092679] Aug 25, 2005 3:22:51 PM org.apache.catalina.cluster.tcp.SocketSender waitForAck WARNING: Wasn't able to read acknowledgement from server[/192.168.0.204:4001] in 15000 ms. Disconnecting socket, and trying ag ain. Aug 25, 2005 3:22:51 PM org.apache.catalina.cluster.tcp.ReplicationTransmitter sendMessageData WARNING: Unable to send replicated message, is server down? java.net.SocketTimeoutException: Read timed out at java.net.SocketInputStream.socketRead0(Native Method) at java.net.SocketInputStream.read(SocketInputStream.java:129) at java.net.SocketInputStream.read(SocketInputStream.java:182) at org.apache.catalina.cluster.tcp.SocketSender.waitForAck(SocketSender.java:13 4) at org.apache.catalina.cluster.tcp.SocketSender.sendMessage(SocketSender.java:1 25) at org.apache.catalina.cluster.tcp.PooledSocketSender.sendMessage(PooledSocketS ender.java:119) at org.apache.catalina.cluster.tcp.ReplicationTransmitter.sendMessageData(Repli cationTransmitter.java:117) at org.apache.catalina.cluster.tcp.ReplicationTransmitter.sendMessage(Replicati onTransmitter.java:149) at org.apache.catalina.cluster.tcp.SimpleTcpCluster.send(SimpleTcpCluster.java: 409) at org.apache.catalina.cluster.tcp.SimpleTcpCluster.send(SimpleTcpCluster.java: 417) at org.apache.catalina.cluster.tcp.ReplicationValve.invoke(ReplicationValve.jav a:202) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex t.java:102) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java :109) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex t.java:104) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929) at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160) at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:296) at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:372) at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:694) at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:626) at org.apache.jk.common.SocketConnection.runIt(ChannelSocket.java:807) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.jav a:644) at java.lang.Thread.run(Thread.java:534) Aug 25, 2005 3:22:51 PM org.apache.catalina.cluster.tcp.SocketSender waitForAck WARNING: Wasn't able to read acknowledgement from server[/192.168.0.204:4001] in 15000 ms. Disconnecting socket, and trying ag ain. Aug 25, 2005 3:22:51 PM org.apache.catalina.cluster.tcp.SocketSender waitForAck WARNING: Wasn't able to read acknowledgement from server[/192.168.0.204:4001] in 15000 ms. Disconnecting
Re: Clustering and the useDirtyFlag
Dennis wrote: I've been working with a cluster of tomcat servers and wanted to change the useDirtyFlag to false so that the session is replicated after every request whether or not it was changed. Here is my modified server.xml fragment: ---CUT--- Cluster className=org.apache.catalina.cluster.tcp.SimpleTcpCluster managerClassName=org.apache.catalina.cluster.session.DeltaManager expireSessionsOnShutdown=false useDirtyFlag=false ---END CUT--- To answer my own problem.. DeltaManager ignores the useDirtyFlag. I changed it to SimpleTcpReplicationManager and got the desired effect. Possibly DeltaManager has a bug because the session, although changed, was not replicated. After restarting the servers in the cluster, I noticed that the behavior was the same as with the flag set to true. Objects in the session quickly become out of sync across the multiple servers because they are getting modifed but setAttribute is not being called. I searched around google and the mail archive a bit but didn't find any references to people having trouble with this. Before I started digging in the clustering code, I thought I'd see if anyone has any idea as to whether or not I have the correct expectation of the useDirtyFlag or if there might be some other problem. I'm using Tomcat 5.5.9. Thanks Dennis - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: clustering questions
So the proper location for a Cluster element is inside a Host element? Host Does this mean I need to have a separate Cluster element for each virtual host? yes, unfortunately, the better solution is to do the virtual hosting in your apache server. That way you only need one cluster config. Filip Mark Eggers wrote: I'm looking at clustering and have a few questions. 1. In the documentation, the Cluster element is shown as a child of the Engine element. In the example server.xml the Cluster element is shown in the Host element. When I put the Cluster element in the Host element, I get clustering messages in catalina.out. I don't get this if I put the Cluster element in the Engine element. So the proper location for a Cluster element is inside a Host element? 2. There is a statement concerning number of threads would be optimal if it matched the number of nodes. I am fronting Tomcat with Apache/mod_jk. Would the number of nodes be the maximum clients I have configured for Apache times the number of Apache servers that can hit this Tomcat server? I am looking at having several virtual hosts running under one Tomcat instance. Does this mean I need to have a separate Cluster element for each virtual host? Thanks for helping me get started on this. /mde/ __ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: clustering questions
Hey Mark, Mark Eggers schrieb: I'm looking at clustering and have a few questions. 1. In the documentation, the Cluster element is shown as a child of the Engine element. In the example server.xml the Cluster element is shown in the Host element. When I put the Cluster element in the Host element, I get clustering messages in catalina.out. I don't get this if I put the Cluster element in the Engine element. So the proper location for a Cluster element is inside a Host element? Currently clustering work only inside host element. Per catalina design we can also have a cluster inside an engine or context. I hope in future we can add the cluster also inside the engine. It look like a server.xml option and small changes inside code! For backup a virtual hosting szenario this feature was useful. I add this topic to the cluster todo list. I also start to wrote a better cluster documentation for 5.5.10 (look inside cvs head) and help are very welcome :-) 2. There is a statement concerning number of threads would be optimal if it matched the number of nodes. This statement means the number of cluster backup nodes! I am fronting Tomcat with Apache/mod_jk. Would the number of nodes be the maximum clients I have configured for Apache times the number of Apache servers that can hit this Tomcat server? I am looking at having several virtual hosts running under one Tomcat instance. Does this mean I need to have a separate Cluster element for each virtual host? Today, this is true, but in my real life, I have only one or two heavy application services per tomcat instance that works inside a cluster. Let us know your use case? Thanks for helping me get started on this. /mde/ __ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Clustering without farmwardeployer
Two suggestions: 1. Make sure the farm war deployer is really turned off, and by the way, the farm war deployer doesn't deploy into webapps, instead into the dir you specify in server.xml 2. Check your scripts again, chances are you are the one redeploying your own old code. Filip Todd Huss wrote: We have a Tomcat cluster setup across 9 servers with clustering for session replication. However, we are not using the farmwardeployer because we have our own script that we use to shutdown each tomcat, deploy a fix version, and then start it up again so we don't incur any downtime. However, we're seeing some very unusual behavior. After shutting down one node, deleting contents of webapps and work directories, dropping in a new war, and restarting, the new files that get exploded in the webapps directory are not those of the war dropped into the webapps directory. They are instead the files from the previous war which is no longer on the local filesystem. It leads me to believe that even though we have the farmwardeployer turned off, that when we start tomcat in clustered mode, rather than exploding the local war, it's getting the contents of the war from another node. Any ideas? Thanks, Todd - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Clustering Tomcat
It looks like your machine is unable to send a multicast message. It will be an operating system configuration. Ta Matt -Original Message- From: Ben [mailto:[EMAIL PROTECTED] Sent: 21 May 2005 02:11 To: Tomcat Subject: Clustering Tomcat Hi I'm trying to configure clustering of 2 Tomcat servers on a single CentOS 4 machine. When I start the first Tomcat, I get error messages like this in the catalina.out log file: org.apache.catalina.cluster.mcast.McastServiceImpl$SenderThread run WARNING: Unable to send mcast message. java.net.SocketException: Operation not permitted at jrockit.net.SocketNativeIO.send(Ljava.io.FileDescriptor;[BIILjava.net.InetAddress;II)I(Unknown Source) at java.net.PlainDatagramSocketImpl.send(Ljava.net.DatagramPacket;[BI)V(Unknown Source) at java.net.PlainDatagramSocketImpl.send(Ljava.net.DatagramPacket;)V(Unknown Source) at java.net.DatagramSocket.send(DatagramSocket.java:612) at org.apache.catalina.cluster.mcast.McastServiceImpl.send(McastServiceImpl.java:228) at org.apache.catalina.cluster.mcast.McastServiceImpl$SenderThread.run(McastServiceImpl.java:264) I am using JRockit 5.0_02 and Tomcat 5.5.9. Where can I find more information about this error? Thanks, Ben - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Clustering Tomcat
It was my firewall. The servers are working now, however I get these error messages when I stop and start one of the two Tomcat instances: May 21, 2005 5:09:20 PM org.apache.catalina.cluster.tcp.SimpleTcpCluster send SEVERE: Unable to send message through cluster sender. java.io.IOException: Sender not available. Make sure sender information is available to the ReplicationTransmitter. at org.apache.catalina.cluster.tcp.ReplicationTransmitter.sendMessageData(ReplicationTransmitter.java:641) at org.apache.catalina.cluster.tcp.ReplicationTransmitter.sendMessage(ReplicationTransmitter.java:331) at org.apache.catalina.cluster.tcp.SimpleTcpCluster.send(SimpleTcpCluster.java:463) at org.apache.catalina.cluster.session.DeltaManager.messageReceived(DeltaManager.java:860) at org.apache.catalina.cluster.session.DeltaManager.messageDataReceived(DeltaManager.java:724) at org.apache.catalina.cluster.tcp.SimpleTcpCluster.messageDataReceived(SimpleTcpCluster.java:658) at org.apache.catalina.cluster.io.ObjectReader.execute(ObjectReader.java:103) at org.apache.catalina.cluster.tcp.TcpReplicationThread.drainChannel(TcpReplicationThread.java:129) at org.apache.catalina.cluster.tcp.TcpReplicationThread.run(TcpReplicationThread.java:67) May 21, 2005 5:09:24 PM org.apache.catalina.cluster.tcp.DataSender init Thanks Ben On 5/22/05, Dale, Matt [EMAIL PROTECTED] wrote: It looks like your machine is unable to send a multicast message. It will be an operating system configuration. Ta Matt -Original Message- From: Ben [mailto:[EMAIL PROTECTED] Sent: 21 May 2005 02:11 To: Tomcat Subject: Clustering Tomcat Hi I'm trying to configure clustering of 2 Tomcat servers on a single CentOS 4 machine. When I start the first Tomcat, I get error messages like this in the catalina.out log file: org.apache.catalina.cluster.mcast.McastServiceImpl$SenderThread run WARNING: Unable to send mcast message. java.net.SocketException: Operation not permitted at jrockit.net.SocketNativeIO.send(Ljava.io.FileDescriptor;[BIILjava.net.InetAddress;II)I(Unknown Source) at java.net.PlainDatagramSocketImpl.send(Ljava.net.DatagramPacket;[BI)V(Unknown Source) at java.net.PlainDatagramSocketImpl.send(Ljava.net.DatagramPacket;)V(Unknown Source) at java.net.DatagramSocket.send(DatagramSocket.java:612) at org.apache.catalina.cluster.mcast.McastServiceImpl.send(McastServiceImpl.java:228) at org.apache.catalina.cluster.mcast.McastServiceImpl$SenderThread.run(McastServiceImpl.java:264) I am using JRockit 5.0_02 and Tomcat 5.5.9. Where can I find more information about this error? Thanks, Ben - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Clustering troubles.
Forgot to mention: Java runtime is jre1.5.0_02 Rod Fitzsimmons Frey wrote: I'm setting up a 2-node Tomcat cluster with jk_mod doing the loadbalancing. The loadbalancing went without a hitch, or at least without hitches that maillist archives couldn't untie. But now I'd like to have in-memory session replication between the two tomcat nodes. I uncommented the cluster element in the server.xml file on each node, but clustering didn't magically happen as I hoped it would: no replication takes place. ... etc - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Clustering application scope replication
Hey, with the next tomcat 5.5.10 release you can add a ClusterListener and LifecycleListener to your cluster config to realize those ServletContext attributes replication things. Look at the current cvs head and test it. ClusterListener className=org.apache.catalina.cluster.session.ClusterSessionListener / ClusterListener className=your class / Listener className=your class / Your LifecycleListener receive the manager/context un/registration event. BEFORE_MANAGERREGISTER_EVENT AFTER_MANAGERREGISTER_EVENT BEFORE_MANAGERUNREGISTER_EVENT AFTER_MANAGERUNREGISTER_EVENT ClusterListener are receive the messages. (look at ClusterSessionListener or JvmRouteSessionIDBinderListener) You must define your own ClusterMessage implementation (SessionMessageImpl or SessionIDMessage) Your code contribution is very welcome :-) Peter Will Hartung schrieb: From: Joakim Ahlén [EMAIL PROTECTED] Sent: Friday, April 22, 2005 5:54 AM Hi! We have a cluster of two tomcat 5.5.9-machines using session replication. However, we also have data in application scope (set with getServletContext().setAttribute(...)) which as far as i have found in the docs, is not replicated. You need a cluster aware caching solution. Session replication is more for failover and such. Look at something like OSCache and its ilk to get the functionality that you need. Regards, Will Hartung ([EMAIL PROTECTED]) - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Clustering application scope replication
I hope you have download and use my cluster patches for 5.5.9 http://issues.apache.org/bugzilla/show_bug.cgi?id=34389 when you implement the feature ServletContext attribute replication feature I support you. ( s. other mail) Peter Joakim Ahlén schrieb: Hi! We have a cluster of two tomcat 5.5.9-machines using session replication. However, we also have data in application scope (set with getServletContext().setAttribute(...)) which as far as i have found in the docs, is not replicated. Is there any way to accomplish this with tomcat? If not, is there any plan to develop support for it? Do other application servers have support for this? Hope you can help me. Regards Joakim - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Clustering application scope replication
The servlet spec says this data is local to a given JVM. I suppose a servlet engine could expand beyond the spec, but I'd be surprised if Tomcat did here. Joakim Ahlén wrote: Hi! We have a cluster of two tomcat 5.5.9-machines using session replication. However, we also have data in application scope (set with getServletContext().setAttribute(...)) which as far as i have found in the docs, is not replicated. Is there any way to accomplish this with tomcat? If not, is there any plan to develop support for it? Do other application servers have support for this? Hope you can help me. Regards Joakim - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Clustering application scope replication
Ok, too bad. Is there any way of storing objects if we want them in cluster scope? An ugly hack would be to use one single HttpSession with a special session-id to store global objects, and somehow fetch objects from within this HttpSession from inside requests that belongs to other sessions. I can't see how this could be done though, since request.getSession() can't fetch other sessions than its own. This would probably also have to include some tomcat specific magic which i wouldn't want. Any help is appreciated on how to handle this problem! Thanks Joakim On Fri, Apr 22, 2005 at 08:07:21AM -0500, Jess Holle wrote: The servlet spec says this data is local to a given JVM. I suppose a servlet engine could expand beyond the spec, but I'd be surprised if Tomcat did here. Joakim Ahlén wrote: Hi! We have a cluster of two tomcat 5.5.9-machines using session replication. However, we also have data in application scope (set with getServletContext().setAttribute(...)) which as far as i have found in the docs, is not replicated. Is there any way to accomplish this with tomcat? If not, is there any plan to develop support for it? Do other application servers have support for this? Hope you can help me. Regards Joakim - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Clustering application scope replication
Hi For your needs, you can use session replication (http://jakarta.apache.org/tomcat/tomcat-5.5-doc/cluster-howto.html) or your own mechanisms and tables with datas in a database ... Regards. On Fri, 22 Apr 2005 15:15:54 +0200 Joakim Ahlén [EMAIL PROTECTED] wrote: Ok, too bad. Is there any way of storing objects if we want them in cluster scope? An ugly hack would be to use one single HttpSession with a special session-id to store global objects, and somehow fetch objects from within this HttpSession from inside requests that belongs to other sessions. I can't see how this could be done though, since request.getSession() can't fetch other sessions than its own. This would probably also have to include some tomcat specific magic which i wouldn't want. Any help is appreciated on how to handle this problem! Thanks Joakim On Fri, Apr 22, 2005 at 08:07:21AM -0500, Jess Holle wrote: The servlet spec says this data is local to a given JVM. I suppose a servlet engine could expand beyond the spec, but I'd be surprised if Tomcat did here. Joakim Ahlén wrote: Hi! We have a cluster of two tomcat 5.5.9-machines using session replication. However, we also have data in application scope (set with getServletContext().setAttribute(...)) which as far as i have found in the docs, is not replicated. Is there any way to accomplish this with tomcat? If not, is there any plan to develop support for it? Do other application servers have support for this? Hope you can help me. Regards Joakim - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Clustering application scope replication
How does Tomcat know what to serialize? Does it just use the Reflection package and serialize out -everything- that implements java.io.Serializable? -ryan -Original Message- From: Lionel Farbos [mailto:[EMAIL PROTECTED] Sent: Friday, April 22, 2005 9:11 AM To: Tomcat Users List Cc: [EMAIL PROTECTED] Subject: Re: Clustering application scope replication Hi For your needs, you can use session replication (http://jakarta.apache.org/tomcat/tomcat-5.5-doc/cluster-howto.html) or your own mechanisms and tables with datas in a database ... Regards. On Fri, 22 Apr 2005 15:15:54 +0200 Joakim Ahlén [EMAIL PROTECTED] wrote: Ok, too bad. Is there any way of storing objects if we want them in cluster scope? An ugly hack would be to use one single HttpSession with a special session-id to store global objects, and somehow fetch objects from within this HttpSession from inside requests that belongs to other sessions. I can't see how this could be done though, since request.getSession() can't fetch other sessions than its own. This would probably also have to include some tomcat specific magic which i wouldn't want. Any help is appreciated on how to handle this problem! Thanks Joakim On Fri, Apr 22, 2005 at 08:07:21AM -0500, Jess Holle wrote: The servlet spec says this data is local to a given JVM. I suppose a servlet engine could expand beyond the spec, but I'd be surprised if Tomcat did here. Joakim Ahlén wrote: Hi! We have a cluster of two tomcat 5.5.9-machines using session replication. However, we also have data in application scope (set with getServletContext().setAttribute(...)) which as far as i have found in the docs, is not replicated. Is there any way to accomplish this with tomcat? If not, is there any plan to develop support for it? Do other application servers have support for this? Hope you can help me. Regards Joakim - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Clustering application scope replication
From: Joakim Ahlén [EMAIL PROTECTED] Sent: Friday, April 22, 2005 5:54 AM Hi! We have a cluster of two tomcat 5.5.9-machines using session replication. However, we also have data in application scope (set with getServletContext().setAttribute(...)) which as far as i have found in the docs, is not replicated. You need a cluster aware caching solution. Session replication is more for failover and such. Look at something like OSCache and its ilk to get the functionality that you need. Regards, Will Hartung ([EMAIL PROTECTED]) - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Clustering application scope replication
From: J. Ryan Earl [EMAIL PROTECTED] Sent: Friday, April 22, 2005 7:44 AM How does Tomcat know what to serialize? Does it just use the Reflection package and serialize out -everything- that implements java.io.Serializable? When you do a setAttribute(key, object), it serializes the object out for replication, so, both your key and object needs to be serializable. It uses the generic Java writeObject method. This is why you need to use setAttribute to ensure your changes are replicated, and why you can not just change an object directly and expect it to be replicated. So, if you are storing, say, a long ArrayList of objects in your session (like, say, query results), you must use setAttribute(yourList) each time you make a change to anything in the list, and then it serializes the ENTIRE list for replication, not just your changes. (And thus we see some of the limits of replication, at least some of the things you need to be aware of.) Regards, Will Hartung ([EMAIL PROTECTED]) - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Clustering application scope replication
As it is explained in the doc : All your session attributes must implement java.io.Serializable On Fri, 22 Apr 2005 09:44:01 -0500 J. Ryan Earl [EMAIL PROTECTED] wrote: How does Tomcat know what to serialize? Does it just use the Reflection package and serialize out -everything- that implements java.io.Serializable? -ryan -Original Message- From: Lionel Farbos [mailto:[EMAIL PROTECTED] Sent: Friday, April 22, 2005 9:11 AM To: Tomcat Users List Cc: [EMAIL PROTECTED] Subject: Re: Clustering application scope replication Hi For your needs, you can use session replication (http://jakarta.apache.org/tomcat/tomcat-5.5-doc/cluster-howto.html) or your own mechanisms and tables with datas in a database ... Regards. On Fri, 22 Apr 2005 15:15:54 +0200 Joakim Ahlén [EMAIL PROTECTED] wrote: Ok, too bad. Is there any way of storing objects if we want them in cluster scope? An ugly hack would be to use one single HttpSession with a special session-id to store global objects, and somehow fetch objects from within this HttpSession from inside requests that belongs to other sessions. I can't see how this could be done though, since request.getSession() can't fetch other sessions than its own. This would probably also have to include some tomcat specific magic which i wouldn't want. Any help is appreciated on how to handle this problem! Thanks Joakim On Fri, Apr 22, 2005 at 08:07:21AM -0500, Jess Holle wrote: The servlet spec says this data is local to a given JVM. I suppose a servlet engine could expand beyond the spec, but I'd be surprised if Tomcat did here. Joakim Ahlén wrote: Hi! We have a cluster of two tomcat 5.5.9-machines using session replication. However, we also have data in application scope (set with getServletContext().setAttribute(...)) which as far as i have found in the docs, is not replicated. Is there any way to accomplish this with tomcat? If not, is there any plan to develop support for it? Do other application servers have support for this? Hope you can help me. Regards Joakim - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Clustering application scope replication
I've read that document many times, and that does not answer my question. -ryan -Original Message- From: Lionel Farbos [mailto:[EMAIL PROTECTED] Sent: Friday, April 22, 2005 9:50 AM To: Tomcat Users List Cc: [EMAIL PROTECTED] Subject: Re: Clustering application scope replication As it is explained in the doc : All your session attributes must implement java.io.Serializable On Fri, 22 Apr 2005 09:44:01 -0500 J. Ryan Earl [EMAIL PROTECTED] wrote: How does Tomcat know what to serialize? Does it just use the Reflection package and serialize out -everything- that implements java.io.Serializable? -ryan -Original Message- From: Lionel Farbos [mailto:[EMAIL PROTECTED] Sent: Friday, April 22, 2005 9:11 AM To: Tomcat Users List Cc: [EMAIL PROTECTED] Subject: Re: Clustering application scope replication Hi For your needs, you can use session replication (http://jakarta.apache.org/tomcat/tomcat-5.5-doc/cluster-howto.html) or your own mechanisms and tables with datas in a database ... Regards. On Fri, 22 Apr 2005 15:15:54 +0200 Joakim Ahlén [EMAIL PROTECTED] wrote: Ok, too bad. Is there any way of storing objects if we want them in cluster scope? An ugly hack would be to use one single HttpSession with a special session-id to store global objects, and somehow fetch objects from within this HttpSession from inside requests that belongs to other sessions. I can't see how this could be done though, since request.getSession() can't fetch other sessions than its own. This would probably also have to include some tomcat specific magic which i wouldn't want. Any help is appreciated on how to handle this problem! Thanks Joakim On Fri, Apr 22, 2005 at 08:07:21AM -0500, Jess Holle wrote: The servlet spec says this data is local to a given JVM. I suppose a servlet engine could expand beyond the spec, but I'd be surprised if Tomcat did here. Joakim Ahlén wrote: Hi! We have a cluster of two tomcat 5.5.9-machines using session replication. However, we also have data in application scope (set with getServletContext().setAttribute(...)) which as far as i have found in the docs, is not replicated. Is there any way to accomplish this with tomcat? If not, is there any plan to develop support for it? Do other application servers have support for this? Hope you can help me. Regards Joakim - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Clustering application scope replication
Let me rephrase the question, how does Tomcat determine what is a session attribute. What if there are classes that implement java.io.Serializable that have nothing to do with session attributes? -ryan -Original Message- From: J. Ryan Earl [mailto:[EMAIL PROTECTED] Sent: Friday, April 22, 2005 10:19 AM To: Lionel Farbos; Tomcat Users List Subject: RE: Clustering application scope replication I've read that document many times, and that does not answer my question. -ryan -Original Message- From: Lionel Farbos [mailto:[EMAIL PROTECTED] Sent: Friday, April 22, 2005 9:50 AM To: Tomcat Users List Cc: [EMAIL PROTECTED] Subject: Re: Clustering application scope replication As it is explained in the doc : All your session attributes must implement java.io.Serializable On Fri, 22 Apr 2005 09:44:01 -0500 J. Ryan Earl [EMAIL PROTECTED] wrote: How does Tomcat know what to serialize? Does it just use the Reflection package and serialize out -everything- that implements java.io.Serializable? -ryan -Original Message- From: Lionel Farbos [mailto:[EMAIL PROTECTED] Sent: Friday, April 22, 2005 9:11 AM To: Tomcat Users List Cc: [EMAIL PROTECTED] Subject: Re: Clustering application scope replication Hi For your needs, you can use session replication (http://jakarta.apache.org/tomcat/tomcat-5.5-doc/cluster-howto.html) or your own mechanisms and tables with datas in a database ... Regards. On Fri, 22 Apr 2005 15:15:54 +0200 Joakim Ahlén [EMAIL PROTECTED] wrote: Ok, too bad. Is there any way of storing objects if we want them in cluster scope? An ugly hack would be to use one single HttpSession with a special session-id to store global objects, and somehow fetch objects from within this HttpSession from inside requests that belongs to other sessions. I can't see how this could be done though, since request.getSession() can't fetch other sessions than its own. This would probably also have to include some tomcat specific magic which i wouldn't want. Any help is appreciated on how to handle this problem! Thanks Joakim On Fri, Apr 22, 2005 at 08:07:21AM -0500, Jess Holle wrote: The servlet spec says this data is local to a given JVM. I suppose a servlet engine could expand beyond the spec, but I'd be surprised if Tomcat did here. Joakim Ahlén wrote: Hi! We have a cluster of two tomcat 5.5.9-machines using session replication. However, we also have data in application scope (set with getServletContext().setAttribute(...)) which as far as i have found in the docs, is not replicated. Is there any way to accomplish this with tomcat? If not, is there any plan to develop support for it? Do other application servers have support for this? Hope you can help me. Regards Joakim - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Clustering application scope replication
Only objects that you put in the session would be a session attribute. Any other classes are irrelevant whether they are serializable or not. Ta Matt -Original Message- From: J. Ryan Earl [mailto:[EMAIL PROTECTED] Sent: 22 April 2005 16:24 To: Tomcat Users List; Lionel Farbos Subject: RE: Clustering application scope replication Let me rephrase the question, how does Tomcat determine what is a session attribute. What if there are classes that implement java.io.Serializable that have nothing to do with session attributes? -ryan -Original Message- From: J. Ryan Earl [mailto:[EMAIL PROTECTED] Sent: Friday, April 22, 2005 10:19 AM To: Lionel Farbos; Tomcat Users List Subject: RE: Clustering application scope replication I've read that document many times, and that does not answer my question. -ryan -Original Message- From: Lionel Farbos [mailto:[EMAIL PROTECTED] Sent: Friday, April 22, 2005 9:50 AM To: Tomcat Users List Cc: [EMAIL PROTECTED] Subject: Re: Clustering application scope replication As it is explained in the doc : All your session attributes must implement java.io.Serializable On Fri, 22 Apr 2005 09:44:01 -0500 J. Ryan Earl [EMAIL PROTECTED] wrote: How does Tomcat know what to serialize? Does it just use the Reflection package and serialize out -everything- that implements java.io.Serializable? -ryan -Original Message- From: Lionel Farbos [mailto:[EMAIL PROTECTED] Sent: Friday, April 22, 2005 9:11 AM To: Tomcat Users List Cc: [EMAIL PROTECTED] Subject: Re: Clustering application scope replication Hi For your needs, you can use session replication (http://jakarta.apache.org/tomcat/tomcat-5.5-doc/cluster-howto.html) or your own mechanisms and tables with datas in a database ... Regards. On Fri, 22 Apr 2005 15:15:54 +0200 Joakim Ahlén [EMAIL PROTECTED] wrote: Ok, too bad. Is there any way of storing objects if we want them in cluster scope? An ugly hack would be to use one single HttpSession with a special session-id to store global objects, and somehow fetch objects from within this HttpSession from inside requests that belongs to other sessions. I can't see how this could be done though, since request.getSession() can't fetch other sessions than its own. This would probably also have to include some tomcat specific magic which i wouldn't want. Any help is appreciated on how to handle this problem! Thanks Joakim On Fri, Apr 22, 2005 at 08:07:21AM -0500, Jess Holle wrote: The servlet spec says this data is local to a given JVM. I suppose a servlet engine could expand beyond the spec, but I'd be surprised if Tomcat did here. Joakim Ahlén wrote: Hi! We have a cluster of two tomcat 5.5.9-machines using session replication. However, we also have data in application scope (set with getServletContext().setAttribute(...)) which as far as i have found in the docs, is not replicated. Is there any way to accomplish this with tomcat? If not, is there any plan to develop support for it? Do other application servers have support for this? Hope you can help me. Regards Joakim - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: clustering without loadbalancing
On 4/14/05, Gaurav Bansal [EMAIL PROTECTED] wrote: I want to form a two node cluster of Tomcat servers which can failover but there should be no load balancing. But it should support session replication. I assume that you want to do it with Apache and have mod_jk handle the distribution of requests to Tomcat as well? -Dave - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: clustering without loadbalancing
is apache necessary for this and where can i get the details regarding this becoz i m new to tomcat --- David Rees [EMAIL PROTECTED] wrote: On 4/14/05, Gaurav Bansal [EMAIL PROTECTED] wrote: I want to form a two node cluster of Tomcat servers which can failover but there should be no load balancing. But it should support session replication. I assume that you want to do it with Apache and have mod_jk handle the distribution of requests to Tomcat as well? -Dave Yahoo! India Matrimony: Find your life partner online Go to: http://yahoo.shaadi.com/india-matrimony - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: clustering without loadbalancing
From: Gaurav Bansal [mailto:[EMAIL PROTECTED] is apache necessary for this No - in fact, it merely introduces another single point of failure, which I assume is what you want to avoid. However, you need *something* that will choose whether the primary or standby instance receives any given request from the user. You could use any appropriate approach - changing IP addresses, one or more front-end gateways that detect failed requests, whatever meets your requirements. - Peter - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: clustering without loadbalancing
I am using mod_jk2, and in its workers2.properties file, you can specify level attribute for channel.socket quote from http://jakarta.apache.org/tomcat/connectors-doc-archive/jk2/jk2/configwebcom.html as description to level attribute: Worker Priority. Valid values are 0-3. The functioning workers with the lowest level will be checked for the lowest lb_value, and if found will be run. The upper level workers are only checked upon failure of all workers on ALL of the levels below them. This is very useful for implementing failover withing a cluster. You could set the tomcat server local on the same machine as the apache instance to level 0 and all of the other workers to level 1. This would cause apache to only use the external tomcats when the local tomcat is down. Basically, something like: [channel.socket:machineone:8009] port=8009 host=xxx.xxx.xxx.xxx level=1 [channel.socket:machinetwo:8009] port=8009 host=xxx.xxx.xxx.xxx level=2 in your workers2.properties file all quest will go to machineone unless it is not availuable, then all request will go to machinetwo. Cheers Hang --- Gaurav Bansal [EMAIL PROTECTED] wrote: I want to form a two node cluster of Tomcat servers which can failover but there should be no load balancing. But it should support session replication. This should be in such a way that all request are coming to one server(active one) and other is completely free(passive one). so if this active server fails it should be able to make the failover to the other passive server with session replication. I wan't to do it on linux. P.S.-sorry for the last HTML msg. Gaurav Bansal Yahoo! India Matrimony: Find your life partner online Go to: http://yahoo.shaadi.com/india-matrimony - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] __ Do you Yahoo!? Yahoo! Small Business - Try our new resources site! http://smallbusiness.yahoo.com/resources/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Clustering question
Yes this is a problem. All objects contained within a serializable object must in turn be serializable themselves. -Original Message- From: Steven Pannell [mailto:[EMAIL PROTECTED] Sent: 01 April 2005 12:33 To: 'tomcat-user@jakarta.apache.org' Subject: Clustering question Hi, I have setup two tomcat 5.5.7 servers which are clustered. Everything is working and the basic session is replication. However, when I add my own custom java object to the session this is not replicated. I have made it Serializable but this object also contains other java objects which are not serializable. Is this a problem? Is there anything special I need to consider to get my custom session objects to replicate?? Thanks, Steve. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[OT] Serialization (was RE: Clustering question)
From: Dale, Matt [mailto:[EMAIL PROTECTED] Yes this is a problem. All objects contained within a serializable object must in turn be serializable themselves. Or marked as 'transient'. This omits them from serialization. - Peter - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Clustering question
Not all the objects inside your class must be serializable. Set all the objects you don't want to persist as transient. [ For instance, I don't want to persist a data connection [in this way] or a logger ] Viorel Dragomir . .. --- - Original Message - From: Dale, Matt To: Tomcat Users List Sent: Friday, April 01, 2005 13:38 Subject: RE: Clustering question Yes this is a problem. All objects contained within a serializable object must in turn be serializable themselves. -Original Message- From: Steven Pannell [mailto:[EMAIL PROTECTED] Sent: 01 April 2005 12:33 To: 'tomcat-user@jakarta.apache.org' Subject: Clustering question Hi, I have setup two tomcat 5.5.7 servers which are clustered. Everything is working and the basic session is replication. However, when I add my own custom java object to the session this is not replicated. I have made it Serializable but this object also contains other java objects which are not serializable. Is this a problem? Is there anything special I need to consider to get my custom session objects to replicate?? Thanks, Steve. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE : Clustering question
Or they can be transient i.e. not serialized in a serialization process Sébastien Letélié -Message d'origine- De : [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] De la part de Dale, Matt Envoyé : vendredi 1 avril 2005 13:38 À : Tomcat Users List Objet : RE: Clustering question Yes this is a problem. All objects contained within a serializable object must in turn be serializable themselves. -Original Message- From: Steven Pannell [mailto:[EMAIL PROTECTED] Sent: 01 April 2005 12:33 To: 'tomcat-user@jakarta.apache.org' Subject: Clustering question Hi, I have setup two tomcat 5.5.7 servers which are clustered. Everything is working and the basic session is replication. However, when I add my own custom java object to the session this is not replicated. I have made it Serializable but this object also contains other java objects which are not serializable. Is this a problem? Is there anything special I need to consider to get my custom session objects to replicate?? Thanks, Steve. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: [OT] Serialization (was RE: Clustering question)
Peter Crowther wrote: From: Dale, Matt [mailto:[EMAIL PROTECTED] Yes this is a problem. All objects contained within a serializable object must in turn be serializable themselves. Or marked as 'transient'. This omits them from serialization. If you mark them as transient, you may need need to implement a method (ReadObject I believe) that properly initializes the transient variables/objects. There is an earlier post on this list where I describe how to do this. I had a similar problem in that many of my classes had a Commons Logger object stored in them. This had to be re-instatiated correctly when the object was replicated. HTH - Richard - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: clustering help
How do you distinguish between the two servers in your URL? For the clustering to work you need to hit both through a single entry point such as a load balancer. This is because the session id is stored as a cookie which is stuck to a hostname, an inherent cookie behaivour. If when you hit the second server you just change the hostname in your URL then this is never going to work. Ta Matt -Original Message- From: Nandish Rudra [mailto:[EMAIL PROTECTED] Sent: 02 December 2004 22:40 To: 'Tomcat Users List' Subject: RE: clustering help I have two jsp's for the same app on ebot servers(the code that sets and retrieves the session is below). When i hit the jsp on the first server a session is created and the id returned. Now i pass this as a parameter to the second jsp and it retrieves the session associated with this id from the second server and i can set the attribute value. server 1: % session.setAttribute(killer, ant); out.println(The session id generated is +session.getId()); % server 2: % String id = request.getParameter(id); HttpSession _session = request.getSession().getSessionContext().getSession(id); if(_session == null){ out.println(session not available id: +id); return; } String test = (String) _session.getValue(killer); out.println(The killer value of session with ID + id + is +test); % Regards, Nandish Rudra -Original Message- From: Filip Hanik - Dev [mailto:[EMAIL PROTECTED] Sent: Thursday, December 02, 2004 5:23 PM To: Tomcat Users List Subject: Re: clustering help the logs are showing that everything is replicating fine. you can't change the browser url when switching to the other server, how are you testing if it works or not? Filip - Original Message - From: Dale, Matt [EMAIL PROTECTED] To: Tomcat Users List [EMAIL PROTECTED] Sent: Thursday, December 02, 2004 4:10 PM Subject: RE: clustering help do you have the distributable/ tag in your applications web.xml? -Original Message- From: Nandish Rudra [mailto:[EMAIL PROTECTED] Sent: 02 December 2004 22:08 To: Tomcat Users List (E-mail) Subject: clustering help Hello, I an running tomcat 5.0.28 on redhat 9 and having some clustering problem. Here are the clusternig part of server.xml and the logs. The server.xml on both machines have the same cluster element values (see below). The application is with all jsp's. Sessions are created but not replicated across the machines. Can anyone please help me with this? server.xml: Cluster className=org.apache.catalina.cluster.tcp.SimpleTcpCluster managerClassName=org.apache.catalina.cluster.session.DeltaManager expireSessionsOnShutdown=false useDirtyFlag=true printToScreen=true Membership className=org.apache.catalina.cluster.mcast.McastService name=webres-qa-cluster mcastAddr=228.0.0.4 mcastPort=45565 mcastFrequency=500 mcastDropTime=3000 printToScreen=true debug=10/ Receiver className=org.apache.catalina.cluster.tcp.ReplicationListener tcpListenAddress=auto tcpListenPort=4002 tcpSelectorTimeout=100 tcpThreadCount=6 printToScreen=true/ Sender className=org.apache.catalina.cluster.tcp.ReplicationTransmitter replicationMode=synchronous/ Valve className=org.apache.catalina.cluster.tcp.ReplicationValve filter=.*\.gif;.*\.js;.*\.jpg;.*\.htm;.*\.html;.*\.txt;/ !-- Deployer className=org.apache.catalina.cluster.deploy.FarmWarDeployer tempDir=/tmp/war-temp/ deployDir=/tmp/war-deploy/ watchDir=/tmp/war-listen/ watchEnabled=true/ -- /Cluster logs: Dec 2, 2004 4:54:50 PM org.apache.coyote.http11.Http11Protocol init INFO: Initializing Coyote HTTP/1.1 on http-8080 Dec 2, 2004 4:54:50 PM org.apache.catalina.startup.Catalina load INFO: Initialization processed in 2378 ms Dec 2, 2004 4:54:51 PM org.apache.catalina.core.StandardService start INFO: Starting service Catalina Dec 2, 2004 4:54:51 PM org.apache.catalina.core.StandardEngine start INFO: Starting Servlet Engine: Apache Tomcat/5.0.28 Dec 2, 2004 4:54:51 PM org.apache.catalina.core.StandardHost start INFO: XML validation disabled Dec 2, 2004 4:54:51 PM org.apache.catalina.cluster.tcp.SimpleTcpCluster start INFO: Cluster is about to start Dec 2, 2004 4:54:51 PM org.apache.catalina.cluster.mcast.McastService start INFO: Sleeping for 2000 secs to establish cluster membership Dec 2, 2004 4:54:51 PM org.apache.catalina.cluster.tcp.SimpleTcpCluster memberAdded INFO: Replication member added:org.apache.catalina.cluster.mcast.McastMember[tcp://192.168.1.104:4002 ,192.168.1.104,4002, alive=27652] Dec 2, 2004 4:54:53 PM org.apache.catalina.core.StandardHost getDeployer INFO: Create Host deployer for direct
Re: clustering help
that still didn't answer the question, see Matt's email Filip - Original Message - From: Nandish Rudra [EMAIL PROTECTED] To: 'Tomcat Users List' [EMAIL PROTECTED] Sent: Thursday, December 02, 2004 4:39 PM Subject: RE: clustering help I have two jsp's for the same app on ebot servers(the code that sets and retrieves the session is below). When i hit the jsp on the first server a session is created and the id returned. Now i pass this as a parameter to the second jsp and it retrieves the session associated with this id from the second server and i can set the attribute value. server 1: % session.setAttribute(killer, ant); out.println(The session id generated is +session.getId()); % server 2: % String id = request.getParameter(id); HttpSession _session = request.getSession().getSessionContext().getSession(id); if(_session == null){ out.println(session not available id: +id); return; } String test = (String) _session.getValue(killer); out.println(The killer value of session with ID + id + is +test); % Regards, Nandish Rudra -Original Message- From: Filip Hanik - Dev [mailto:[EMAIL PROTECTED] Sent: Thursday, December 02, 2004 5:23 PM To: Tomcat Users List Subject: Re: clustering help the logs are showing that everything is replicating fine. you can't change the browser url when switching to the other server, how are you testing if it works or not? Filip - Original Message - From: Dale, Matt [EMAIL PROTECTED] To: Tomcat Users List [EMAIL PROTECTED] Sent: Thursday, December 02, 2004 4:10 PM Subject: RE: clustering help do you have the distributable/ tag in your applications web.xml? -Original Message- From: Nandish Rudra [mailto:[EMAIL PROTECTED] Sent: 02 December 2004 22:08 To: Tomcat Users List (E-mail) Subject: clustering help Hello, I an running tomcat 5.0.28 on redhat 9 and having some clustering problem. Here are the clusternig part of server.xml and the logs. The server.xml on both machines have the same cluster element values (see below). The application is with all jsp's. Sessions are created but not replicated across the machines. Can anyone please help me with this? server.xml: Cluster className=org.apache.catalina.cluster.tcp.SimpleTcpCluster managerClassName=org.apache.catalina.cluster.session.DeltaManager expireSessionsOnShutdown=false useDirtyFlag=true printToScreen=true Membership className=org.apache.catalina.cluster.mcast.McastService name=webres-qa-cluster mcastAddr=228.0.0.4 mcastPort=45565 mcastFrequency=500 mcastDropTime=3000 printToScreen=true debug=10/ Receiver className=org.apache.catalina.cluster.tcp.ReplicationListener tcpListenAddress=auto tcpListenPort=4002 tcpSelectorTimeout=100 tcpThreadCount=6 printToScreen=true/ Sender className=org.apache.catalina.cluster.tcp.ReplicationTransmitter replicationMode=synchronous/ Valve className=org.apache.catalina.cluster.tcp.ReplicationValve filter=.*\.gif;.*\.js;.*\.jpg;.*\.htm;.*\.html;.*\.txt;/ !-- Deployer className=org.apache.catalina.cluster.deploy.FarmWarDeployer tempDir=/tmp/war-temp/ deployDir=/tmp/war-deploy/ watchDir=/tmp/war-listen/ watchEnabled=true/ -- /Cluster logs: Dec 2, 2004 4:54:50 PM org.apache.coyote.http11.Http11Protocol init INFO: Initializing Coyote HTTP/1.1 on http-8080 Dec 2, 2004 4:54:50 PM org.apache.catalina.startup.Catalina load INFO: Initialization processed in 2378 ms Dec 2, 2004 4:54:51 PM org.apache.catalina.core.StandardService start INFO: Starting service Catalina Dec 2, 2004 4:54:51 PM org.apache.catalina.core.StandardEngine start INFO: Starting Servlet Engine: Apache Tomcat/5.0.28 Dec 2, 2004 4:54:51 PM org.apache.catalina.core.StandardHost start INFO: XML validation disabled Dec 2, 2004 4:54:51 PM org.apache.catalina.cluster.tcp.SimpleTcpCluster start INFO: Cluster is about to start Dec 2, 2004 4:54:51 PM org.apache.catalina.cluster.mcast.McastService start INFO: Sleeping for 2000 secs to establish cluster membership Dec 2, 2004 4:54:51 PM org.apache.catalina.cluster.tcp.SimpleTcpCluster memberAdded INFO: Replication member added:org.apache.catalina.cluster.mcast.McastMember[tcp://192.168.1.104:4002 ,192.168.1.104,4002, alive=27652] Dec 2, 2004 4:54:53 PM org.apache.catalina.core.StandardHost getDeployer INFO: Create Host deployer for direct deployment ( non-jmx ) Dec 2, 2004 4:54:53 PM org.apache.catalina.core.StandardHostDeployer install INFO: Processing Context configuration file URL file:/usr/local/jakarta-tomcat-5.0.28/conf/Catalina/localhost/admin.xml Dec 2, 2004 4:54:54 PM org.apache.struts.util.PropertyMessageResources init INFO
RE: clustering help
do you have the distributable/ tag in your applications web.xml? -Original Message- From: Nandish Rudra [mailto:[EMAIL PROTECTED] Sent: 02 December 2004 22:08 To: Tomcat Users List (E-mail) Subject: clustering help Hello, I an running tomcat 5.0.28 on redhat 9 and having some clustering problem. Here are the clusternig part of server.xml and the logs. The server.xml on both machines have the same cluster element values (see below). The application is with all jsp's. Sessions are created but not replicated across the machines. Can anyone please help me with this? server.xml: Cluster className=org.apache.catalina.cluster.tcp.SimpleTcpCluster managerClassName=org.apache.catalina.cluster.session.DeltaManager expireSessionsOnShutdown=false useDirtyFlag=true printToScreen=true Membership className=org.apache.catalina.cluster.mcast.McastService name=webres-qa-cluster mcastAddr=228.0.0.4 mcastPort=45565 mcastFrequency=500 mcastDropTime=3000 printToScreen=true debug=10/ Receiver className=org.apache.catalina.cluster.tcp.ReplicationListener tcpListenAddress=auto tcpListenPort=4002 tcpSelectorTimeout=100 tcpThreadCount=6 printToScreen=true/ Sender className=org.apache.catalina.cluster.tcp.ReplicationTransmitter replicationMode=synchronous/ Valve className=org.apache.catalina.cluster.tcp.ReplicationValve filter=.*\.gif;.*\.js;.*\.jpg;.*\.htm;.*\.html;.*\.txt;/ !-- Deployer className=org.apache.catalina.cluster.deploy.FarmWarDeployer tempDir=/tmp/war-temp/ deployDir=/tmp/war-deploy/ watchDir=/tmp/war-listen/ watchEnabled=true/ -- /Cluster logs: Dec 2, 2004 4:54:50 PM org.apache.coyote.http11.Http11Protocol init INFO: Initializing Coyote HTTP/1.1 on http-8080 Dec 2, 2004 4:54:50 PM org.apache.catalina.startup.Catalina load INFO: Initialization processed in 2378 ms Dec 2, 2004 4:54:51 PM org.apache.catalina.core.StandardService start INFO: Starting service Catalina Dec 2, 2004 4:54:51 PM org.apache.catalina.core.StandardEngine start INFO: Starting Servlet Engine: Apache Tomcat/5.0.28 Dec 2, 2004 4:54:51 PM org.apache.catalina.core.StandardHost start INFO: XML validation disabled Dec 2, 2004 4:54:51 PM org.apache.catalina.cluster.tcp.SimpleTcpCluster start INFO: Cluster is about to start Dec 2, 2004 4:54:51 PM org.apache.catalina.cluster.mcast.McastService start INFO: Sleeping for 2000 secs to establish cluster membership Dec 2, 2004 4:54:51 PM org.apache.catalina.cluster.tcp.SimpleTcpCluster memberAdded INFO: Replication member added:org.apache.catalina.cluster.mcast.McastMember[tcp://192.168.1.104:4002 ,192.168.1.104,4002, alive=27652] Dec 2, 2004 4:54:53 PM org.apache.catalina.core.StandardHost getDeployer INFO: Create Host deployer for direct deployment ( non-jmx ) Dec 2, 2004 4:54:53 PM org.apache.catalina.core.StandardHostDeployer install INFO: Processing Context configuration file URL file:/usr/local/jakarta-tomcat-5.0.28/conf/Catalina/localhost/admin.xml Dec 2, 2004 4:54:54 PM org.apache.struts.util.PropertyMessageResources init INFO: Initializing, config='org.apache.struts.util.LocalStrings', returnNull=true Dec 2, 2004 4:54:54 PM org.apache.struts.util.PropertyMessageResources init INFO: Initializing, config='org.apache.struts.action.ActionResources', returnNull=true Dec 2, 2004 4:54:55 PM org.apache.struts.util.PropertyMessageResources init INFO: Initializing, config='org.apache.webapp.admin.ApplicationResources', returnNull=true Dec 2, 2004 4:54:57 PM org.apache.catalina.core.StandardHostDeployer install INFO: Processing Context configuration file URL file:/usr/local/jakarta-tomcat-5.0.28/conf/Catalina/localhost/balancer.xml Dec 2, 2004 4:54:57 PM org.apache.catalina.core.StandardHostDeployer install INFO: Processing Context configuration file URL file:/usr/local/jakarta-tomcat-5.0.28/conf/Catalina/localhost/manager.xml Dec 2, 2004 4:54:58 PM org.apache.catalina.core.StandardHostDeployer install INFO: Installing web application at context path from URL file:/usr/local/jakarta-tomcat/webapps/ROOT Creating ClusterManager for context using class org.apache.catalina.cluster.session.DeltaManager (Root Context) Dec 2, 2004 4:54:58 PM org.apache.catalina.cluster.session.DeltaManager start INFO: Starting clustering manager...: Dec 2, 2004 4:54:58 PM org.apache.catalina.cluster.session.DeltaManager start WARNING: Manager[], requesting session state from org.apache.catalina.cluster.mcast.McastMember[tcp://192.168.1.104:4002,192.1 68.1.104,4002, alive=34282]. This operation will timeout if no session state has been received within 60 seconds Dec 2, 2004 4:54:58 PM
Re: clustering help
the logs are showing that everything is replicating fine. you can't change the browser url when switching to the other server, how are you testing if it works or not? Filip - Original Message - From: Dale, Matt [EMAIL PROTECTED] To: Tomcat Users List [EMAIL PROTECTED] Sent: Thursday, December 02, 2004 4:10 PM Subject: RE: clustering help do you have the distributable/ tag in your applications web.xml? -Original Message- From: Nandish Rudra [mailto:[EMAIL PROTECTED] Sent: 02 December 2004 22:08 To: Tomcat Users List (E-mail) Subject: clustering help Hello, I an running tomcat 5.0.28 on redhat 9 and having some clustering problem. Here are the clusternig part of server.xml and the logs. The server.xml on both machines have the same cluster element values (see below). The application is with all jsp's. Sessions are created but not replicated across the machines. Can anyone please help me with this? server.xml: Cluster className=org.apache.catalina.cluster.tcp.SimpleTcpCluster managerClassName=org.apache.catalina.cluster.session.DeltaManager expireSessionsOnShutdown=false useDirtyFlag=true printToScreen=true Membership className=org.apache.catalina.cluster.mcast.McastService name=webres-qa-cluster mcastAddr=228.0.0.4 mcastPort=45565 mcastFrequency=500 mcastDropTime=3000 printToScreen=true debug=10/ Receiver className=org.apache.catalina.cluster.tcp.ReplicationListener tcpListenAddress=auto tcpListenPort=4002 tcpSelectorTimeout=100 tcpThreadCount=6 printToScreen=true/ Sender className=org.apache.catalina.cluster.tcp.ReplicationTransmitter replicationMode=synchronous/ Valve className=org.apache.catalina.cluster.tcp.ReplicationValve filter=.*\.gif;.*\.js;.*\.jpg;.*\.htm;.*\.html;.*\.txt;/ !-- Deployer className=org.apache.catalina.cluster.deploy.FarmWarDeployer tempDir=/tmp/war-temp/ deployDir=/tmp/war-deploy/ watchDir=/tmp/war-listen/ watchEnabled=true/ -- /Cluster logs: Dec 2, 2004 4:54:50 PM org.apache.coyote.http11.Http11Protocol init INFO: Initializing Coyote HTTP/1.1 on http-8080 Dec 2, 2004 4:54:50 PM org.apache.catalina.startup.Catalina load INFO: Initialization processed in 2378 ms Dec 2, 2004 4:54:51 PM org.apache.catalina.core.StandardService start INFO: Starting service Catalina Dec 2, 2004 4:54:51 PM org.apache.catalina.core.StandardEngine start INFO: Starting Servlet Engine: Apache Tomcat/5.0.28 Dec 2, 2004 4:54:51 PM org.apache.catalina.core.StandardHost start INFO: XML validation disabled Dec 2, 2004 4:54:51 PM org.apache.catalina.cluster.tcp.SimpleTcpCluster start INFO: Cluster is about to start Dec 2, 2004 4:54:51 PM org.apache.catalina.cluster.mcast.McastService start INFO: Sleeping for 2000 secs to establish cluster membership Dec 2, 2004 4:54:51 PM org.apache.catalina.cluster.tcp.SimpleTcpCluster memberAdded INFO: Replication member added:org.apache.catalina.cluster.mcast.McastMember[tcp://192.168.1.104:4002 ,192.168.1.104,4002, alive=27652] Dec 2, 2004 4:54:53 PM org.apache.catalina.core.StandardHost getDeployer INFO: Create Host deployer for direct deployment ( non-jmx ) Dec 2, 2004 4:54:53 PM org.apache.catalina.core.StandardHostDeployer install INFO: Processing Context configuration file URL file:/usr/local/jakarta-tomcat-5.0.28/conf/Catalina/localhost/admin.xml Dec 2, 2004 4:54:54 PM org.apache.struts.util.PropertyMessageResources init INFO: Initializing, config='org.apache.struts.util.LocalStrings', returnNull=true Dec 2, 2004 4:54:54 PM org.apache.struts.util.PropertyMessageResources init INFO: Initializing, config='org.apache.struts.action.ActionResources', returnNull=true Dec 2, 2004 4:54:55 PM org.apache.struts.util.PropertyMessageResources init INFO: Initializing, config='org.apache.webapp.admin.ApplicationResources', returnNull=true Dec 2, 2004 4:54:57 PM org.apache.catalina.core.StandardHostDeployer install INFO: Processing Context configuration file URL file:/usr/local/jakarta-tomcat-5.0.28/conf/Catalina/localhost/balancer.xml Dec 2, 2004 4:54:57 PM org.apache.catalina.core.StandardHostDeployer install INFO: Processing Context configuration file URL file:/usr/local/jakarta-tomcat-5.0.28/conf/Catalina/localhost/manager.xml Dec 2, 2004 4:54:58 PM org.apache.catalina.core.StandardHostDeployer install INFO: Installing web application at context path from URL file:/usr/local/jakarta-tomcat/webapps/ROOT Creating ClusterManager for context using class org.apache.catalina.cluster.session.DeltaManager (Root Context) Dec 2, 2004 4:54:58 PM org.apache.catalina.cluster.session.DeltaManager start INFO: Starting clustering manager...: Dec 2, 2004 4:54:58 PM
RE: clustering help
Yes i do. Regards, Nandish Rudra ECI Conference Call Services, LLC -Original Message- From: Dale, Matt [mailto:[EMAIL PROTECTED] Sent: Thursday, December 02, 2004 5:11 PM To: Tomcat Users List Subject: RE: clustering help do you have the distributable/ tag in your applications web.xml? -Original Message- From: Nandish Rudra [mailto:[EMAIL PROTECTED] Sent: 02 December 2004 22:08 To: Tomcat Users List (E-mail) Subject: clustering help Hello, I an running tomcat 5.0.28 on redhat 9 and having some clustering problem. Here are the clusternig part of server.xml and the logs. The server.xml on both machines have the same cluster element values (see below). The application is with all jsp's. Sessions are created but not replicated across the machines. Can anyone please help me with this? server.xml: Cluster className=org.apache.catalina.cluster.tcp.SimpleTcpCluster managerClassName=org.apache.catalina.cluster.session.DeltaManager expireSessionsOnShutdown=false useDirtyFlag=true printToScreen=true Membership className=org.apache.catalina.cluster.mcast.McastService name=webres-qa-cluster mcastAddr=228.0.0.4 mcastPort=45565 mcastFrequency=500 mcastDropTime=3000 printToScreen=true debug=10/ Receiver className=org.apache.catalina.cluster.tcp.ReplicationListener tcpListenAddress=auto tcpListenPort=4002 tcpSelectorTimeout=100 tcpThreadCount=6 printToScreen=true/ Sender className=org.apache.catalina.cluster.tcp.ReplicationTransmitter replicationMode=synchronous/ Valve className=org.apache.catalina.cluster.tcp.ReplicationValve filter=.*\.gif;.*\.js;.*\.jpg;.*\.htm;.*\.html;.*\.txt;/ !-- Deployer className=org.apache.catalina.cluster.deploy.FarmWarDeployer tempDir=/tmp/war-temp/ deployDir=/tmp/war-deploy/ watchDir=/tmp/war-listen/ watchEnabled=true/ -- /Cluster logs: Dec 2, 2004 4:54:50 PM org.apache.coyote.http11.Http11Protocol init INFO: Initializing Coyote HTTP/1.1 on http-8080 Dec 2, 2004 4:54:50 PM org.apache.catalina.startup.Catalina load INFO: Initialization processed in 2378 ms Dec 2, 2004 4:54:51 PM org.apache.catalina.core.StandardService start INFO: Starting service Catalina Dec 2, 2004 4:54:51 PM org.apache.catalina.core.StandardEngine start INFO: Starting Servlet Engine: Apache Tomcat/5.0.28 Dec 2, 2004 4:54:51 PM org.apache.catalina.core.StandardHost start INFO: XML validation disabled Dec 2, 2004 4:54:51 PM org.apache.catalina.cluster.tcp.SimpleTcpCluster start INFO: Cluster is about to start Dec 2, 2004 4:54:51 PM org.apache.catalina.cluster.mcast.McastService start INFO: Sleeping for 2000 secs to establish cluster membership Dec 2, 2004 4:54:51 PM org.apache.catalina.cluster.tcp.SimpleTcpCluster memberAdded INFO: Replication member added:org.apache.catalina.cluster.mcast.McastMember[tcp://192.168.1.104:4002 ,192.168.1.104,4002, alive=27652] Dec 2, 2004 4:54:53 PM org.apache.catalina.core.StandardHost getDeployer INFO: Create Host deployer for direct deployment ( non-jmx ) Dec 2, 2004 4:54:53 PM org.apache.catalina.core.StandardHostDeployer install INFO: Processing Context configuration file URL file:/usr/local/jakarta-tomcat-5.0.28/conf/Catalina/localhost/admin.xml Dec 2, 2004 4:54:54 PM org.apache.struts.util.PropertyMessageResources init INFO: Initializing, config='org.apache.struts.util.LocalStrings', returnNull=true Dec 2, 2004 4:54:54 PM org.apache.struts.util.PropertyMessageResources init INFO: Initializing, config='org.apache.struts.action.ActionResources', returnNull=true Dec 2, 2004 4:54:55 PM org.apache.struts.util.PropertyMessageResources init INFO: Initializing, config='org.apache.webapp.admin.ApplicationResources', returnNull=true Dec 2, 2004 4:54:57 PM org.apache.catalina.core.StandardHostDeployer install INFO: Processing Context configuration file URL file:/usr/local/jakarta-tomcat-5.0.28/conf/Catalina/localhost/balancer.xml Dec 2, 2004 4:54:57 PM org.apache.catalina.core.StandardHostDeployer install INFO: Processing Context configuration file URL file:/usr/local/jakarta-tomcat-5.0.28/conf/Catalina/localhost/manager.xml Dec 2, 2004 4:54:58 PM org.apache.catalina.core.StandardHostDeployer install INFO: Installing web application at context path from URL file:/usr/local/jakarta-tomcat/webapps/ROOT Creating ClusterManager for context using class org.apache.catalina.cluster.session.DeltaManager (Root Context) Dec 2, 2004 4:54:58 PM org.apache.catalina.cluster.session.DeltaManager start INFO: Starting clustering manager...: Dec 2, 2004 4:54:58 PM org.apache.catalina.cluster.session.DeltaManager start WARNING: Manager
RE: clustering help
I have two jsp's for the same app on ebot servers(the code that sets and retrieves the session is below). When i hit the jsp on the first server a session is created and the id returned. Now i pass this as a parameter to the second jsp and it retrieves the session associated with this id from the second server and i can set the attribute value. server 1: % session.setAttribute(killer, ant); out.println(The session id generated is +session.getId()); % server 2: % String id = request.getParameter(id); HttpSession _session = request.getSession().getSessionContext().getSession(id); if(_session == null){ out.println(session not available id: +id); return; } String test = (String) _session.getValue(killer); out.println(The killer value of session with ID + id + is +test); % Regards, Nandish Rudra -Original Message- From: Filip Hanik - Dev [mailto:[EMAIL PROTECTED] Sent: Thursday, December 02, 2004 5:23 PM To: Tomcat Users List Subject: Re: clustering help the logs are showing that everything is replicating fine. you can't change the browser url when switching to the other server, how are you testing if it works or not? Filip - Original Message - From: Dale, Matt [EMAIL PROTECTED] To: Tomcat Users List [EMAIL PROTECTED] Sent: Thursday, December 02, 2004 4:10 PM Subject: RE: clustering help do you have the distributable/ tag in your applications web.xml? -Original Message- From: Nandish Rudra [mailto:[EMAIL PROTECTED] Sent: 02 December 2004 22:08 To: Tomcat Users List (E-mail) Subject: clustering help Hello, I an running tomcat 5.0.28 on redhat 9 and having some clustering problem. Here are the clusternig part of server.xml and the logs. The server.xml on both machines have the same cluster element values (see below). The application is with all jsp's. Sessions are created but not replicated across the machines. Can anyone please help me with this? server.xml: Cluster className=org.apache.catalina.cluster.tcp.SimpleTcpCluster managerClassName=org.apache.catalina.cluster.session.DeltaManager expireSessionsOnShutdown=false useDirtyFlag=true printToScreen=true Membership className=org.apache.catalina.cluster.mcast.McastService name=webres-qa-cluster mcastAddr=228.0.0.4 mcastPort=45565 mcastFrequency=500 mcastDropTime=3000 printToScreen=true debug=10/ Receiver className=org.apache.catalina.cluster.tcp.ReplicationListener tcpListenAddress=auto tcpListenPort=4002 tcpSelectorTimeout=100 tcpThreadCount=6 printToScreen=true/ Sender className=org.apache.catalina.cluster.tcp.ReplicationTransmitter replicationMode=synchronous/ Valve className=org.apache.catalina.cluster.tcp.ReplicationValve filter=.*\.gif;.*\.js;.*\.jpg;.*\.htm;.*\.html;.*\.txt;/ !-- Deployer className=org.apache.catalina.cluster.deploy.FarmWarDeployer tempDir=/tmp/war-temp/ deployDir=/tmp/war-deploy/ watchDir=/tmp/war-listen/ watchEnabled=true/ -- /Cluster logs: Dec 2, 2004 4:54:50 PM org.apache.coyote.http11.Http11Protocol init INFO: Initializing Coyote HTTP/1.1 on http-8080 Dec 2, 2004 4:54:50 PM org.apache.catalina.startup.Catalina load INFO: Initialization processed in 2378 ms Dec 2, 2004 4:54:51 PM org.apache.catalina.core.StandardService start INFO: Starting service Catalina Dec 2, 2004 4:54:51 PM org.apache.catalina.core.StandardEngine start INFO: Starting Servlet Engine: Apache Tomcat/5.0.28 Dec 2, 2004 4:54:51 PM org.apache.catalina.core.StandardHost start INFO: XML validation disabled Dec 2, 2004 4:54:51 PM org.apache.catalina.cluster.tcp.SimpleTcpCluster start INFO: Cluster is about to start Dec 2, 2004 4:54:51 PM org.apache.catalina.cluster.mcast.McastService start INFO: Sleeping for 2000 secs to establish cluster membership Dec 2, 2004 4:54:51 PM org.apache.catalina.cluster.tcp.SimpleTcpCluster memberAdded INFO: Replication member added:org.apache.catalina.cluster.mcast.McastMember[tcp://192.168.1.104:4002 ,192.168.1.104,4002, alive=27652] Dec 2, 2004 4:54:53 PM org.apache.catalina.core.StandardHost getDeployer INFO: Create Host deployer for direct deployment ( non-jmx ) Dec 2, 2004 4:54:53 PM org.apache.catalina.core.StandardHostDeployer install INFO: Processing Context configuration file URL file:/usr/local/jakarta-tomcat-5.0.28/conf/Catalina/localhost/admin.xml Dec 2, 2004 4:54:54 PM org.apache.struts.util.PropertyMessageResources init INFO: Initializing, config='org.apache.struts.util.LocalStrings', returnNull=true Dec 2, 2004 4:54:54 PM org.apache.struts.util.PropertyMessageResources init INFO: Initializing, config='org.apache.struts.action.ActionResources', returnNull=true Dec 2, 2004 4:54
Re: Clustering in Tomcat
I don't know the answer to that, but here's a Cluster/Session Replication HOWTO, in case it might help. http://jakarta.apache.org/tomcat/tomcat-5.0-doc/cluster-howto.html Regards, Faisal On Thu, 25 Nov 2004 09:36:52 +0530, Gaurav Vaish [EMAIL PROTECTED] wrote: Hi, I am facing an issue with Tomcat Clustering. With the details provided on the website, I implemented it. The session (session-ID) is not lost when the machine serving it goes down however all session-data (attributes in session) is lost. What can be the issues? To start with, I had two Tomcat on the same machine with only their port numbers changes (4001 and 4002 for cluster). -- Happy Hacking, Gaurav Vaish http://gallery.mastergaurav.org --- - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- There are many ways of going forward, but there is only one way of standing still. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Clustering in Tomcat
Have you got the distributable/ tag in your context's web.xml? Do all the objects in your session implement Serializable? -Original Message- From: Gaurav Vaish [mailto:[EMAIL PROTECTED] Sent: 25 November 2004 04:07 To: Tomcat Users List Subject: Clustering in Tomcat Hi, I am facing an issue with Tomcat Clustering. With the details provided on the website, I implemented it. The session (session-ID) is not lost when the machine serving it goes down however all session-data (attributes in session) is lost. What can be the issues? To start with, I had two Tomcat on the same machine with only their port numbers changes (4001 and 4002 for cluster). -- Happy Hacking, Gaurav Vaish http://gallery.mastergaurav.org --- - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] Any opinions expressed in this E-mail may be those of the individual and not necessarily the company. This E-mail and any files transmitted with it are confidential and solely for the use of the intended recipient. If you are not the intended recipient or the person responsible for delivering to the intended recipient, be advised that you have received this E-mail in error and that any use or copying is strictly prohibited. If you have received this E-mail in error please notify the beCogent postmaster at [EMAIL PROTECTED] Unless expressly stated, opinions in this email are those of the individual sender and not beCogent Ltd. You must take full responsibility for virus checking this email and any attachments. Please note that the content of this email or any of its attachments may contain data that falls within the scope of the Data Protection Acts and that you must ensure that any handling or processing of such data by you is fully compliant with the terms and provisions of the Data Protection Act 1984 and 1998. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Clustering in Tomcat
Thanks everybody for your help. It's working fine now. The problem was with pooling. One server had pooling while the other did not. Cheers, Gaurav On Thu, 25 Nov 2004 10:33:21 -, Dale, Matt [EMAIL PROTECTED] wrote: Have you got the distributable/ tag in your context's web.xml? Do all the objects in your session implement Serializable? -Original Message- From: Gaurav Vaish [mailto:[EMAIL PROTECTED] Sent: 25 November 2004 04:07 To: Tomcat Users List Subject: Clustering in Tomcat Hi, I am facing an issue with Tomcat Clustering. With the details provided on the website, I implemented it. The session (session-ID) is not lost when the machine serving it goes down however all session-data (attributes in session) is lost. What can be the issues? To start with, I had two Tomcat on the same machine with only their port numbers changes (4001 and 4002 for cluster). -- Happy Hacking, Gaurav Vaish http://gallery.mastergaurav.org --- - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Clustering and Load balancing
Hi, There is a load of information in the tomcat documentation. Your post is a bit vague about what you actually want to know. I'd suggest reading the documentation then coming back here if you have any more specific questions or problems. But a hint to get you on the road. There is a clustering section in your server.xml, uncomment this on a couple of machines and add the distributable/ tag to the web.xml in a webapp and you'll have a cluster. Ta Matt -Original Message- From: Vinayagam [mailto:[EMAIL PROTECTED] Sent: 10 November 2004 04:41 To: Tomcat Users List Cc: [EMAIL PROTECTED] Subject: Clustering and Load balancing Hi All! Can any one help me abt clustering and Loadbalancing using Tomcat 5.0/later. We have an application, Which is run on Tomcat 4.0. Now we are going to run this application in Tomcat 5.0. Also we are going to implements the clustering technology to our appl. So that i need som help, How to do this. Thanx Regards Vinayagam Any opinions expressed in this E-mail may be those of the individual and not necessarily the company. This E-mail and any files transmitted with it are confidential and solely for the use of the intended recipient. If you are not the intended recipient or the person responsible for delivering to the intended recipient, be advised that you have received this E-mail in error and that any use or copying is strictly prohibited. If you have received this E-mail in error please notify the beCogent postmaster at [EMAIL PROTECTED] Unless expressly stated, opinions in this email are those of the individual sender and not beCogent Ltd. You must take full responsibility for virus checking this email and any attachments. Please note that the content of this email or any of its attachments may contain data that falls within the scope of the Data Protection Acts and that you must ensure that any handling or processing of such data by you is fully compliant with the terms and provisions of the Data Protection Act 1984 and 1998. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE : Clustering and Load balancing
You have to follow the rules included in the document (http://jakarta.apache.org/tomcat/tomcat-5.0-doc/cluster-howto.html ) . All your session attributes must implement java.io.Serializable . Uncomment the Cluster element in server.xml Define multicast address and port for your cluster communication (for cluster heart beat). Define tcp parameter (tcpListenAddress/tcpListenport) for each host of your cluster (for session replication). . Uncomment the Valve(ReplicationValve) element in server.xml . If your Tomcat instances are running on the same machine, make sure the tcpListenPort attribute is unique for each instance. . Make sure your web.xml has the distributable/ element Use, for example, Apache and the native connector JK to implement the load balancing. -Message d'origine- De : Vinayagam [mailto:[EMAIL PROTECTED] Envoyé : mercredi 10 novembre 2004 05:41 À : Tomcat Users List Cc : [EMAIL PROTECTED] Objet : Clustering and Load balancing Hi All! Can any one help me abt clustering and Loadbalancing using Tomcat 5.0/later. We have an application, Which is run on Tomcat 4.0. Now we are going to run this application in Tomcat 5.0. Also we are going to implements the clustering technology to our appl. So that i need som help, How to do this. Thanx Regards Vinayagam - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Clustering and session replication
Filip, To discard any problems in application settings, we copied an entire application from production (clustered tomcat 5.0.25) to the cluster that's having problems (5.0.28). We verified context settings and load balancing. The first time the application is used after a tomcat restart, it works well (load balancing and session replication). But after reloading the application in any node (i.e. context reloads), the log will show the warnings and timeout errors that I described before. Session replication fails from that point on. From the little I understand, I think clustering is doing its job, the problem is it cannot find the context manager for that application (despite both nodes have distributable/ in web.xml). However, the context is properly configured because we can access dbcp pools and mail connections defined within. Ivan. -Original Message- From: Filip Hanik - Dev [mailto:[EMAIL PROTECTED] Sent: Wednesday, September 29, 2004 5:14 PM To: Tomcat Users List Subject: Re: Clustering and session replication let me reiterate org.apache.catalina.cluster.tcp.SimpleTcpCluster messageDataReceived WARNING: Context manager doesn't exist:/nahrgisdev that means there is no clustered context under this name. If it works from server 1 to 2 but not from 2 to 1, then you need to look over your configuration again. The good news is it worked for you in one direction, you have to focus on the above error message, that message and that message alone is the reason the requesting server times out Filip - Original Message - From: Ivan Vasquez [EMAIL PROTECTED] To: Tomcat Users List [EMAIL PROTECTED] Sent: Wednesday, September 29, 2004 3:54 PM Subject: RE: Clustering and session replication Filip, Thanks for your reply. Each app has identical web.xml files: ?xml version=1.0 encoding=ISO-8859-1? !-- Required in order to have default EL support -- web-app xmlns=http://java.sun.com/xml/ns/j2ee; xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance; xsi:schemaLocation=http://java.sun.com/xml/ns/j2ee web-app_2_4.xsd version=2.4 distributable/ !-- General description of your web application -- display-nameNAHRGIS Clustered/display-name description NAHRGIS GIS Application /description ... The context, with datasources and other resources, works as expected (but it lives in conf/Catalina/localhost/nahrgisdev.xml, not in server.xml). The cluster is set as follows: Cluster className=org.apache.catalina.cluster.tcp.SimpleTcpCluster managerClassName=org.apache.catalina.cluster.session.DeltaManager expireSessionsOnShutdown=false useDirtyFlag=false Membership className=org.apache.catalina.cluster.mcast.McastService mcastAddr=228.0.0.4 mcastPort=45564 mcastFrequency=500 mcastDropTime=3000/ Receiver className=org.apache.catalina.cluster.tcp.ReplicationListener tcpListenAddress=10.0.0.1 tcpListenPort=4001 tcpSelectorTimeout=100 tcpThreadCount=6/ Sender className=org.apache.catalina.cluster.tcp.ReplicationTransmitter replicationMode=pooled/ Valve className=org.apache.catalina.cluster.tcp.ReplicationValve filter=.*\.gif;.*\.js;.*\.jpg;.*\.htm;.*\.html;.*\.txt;/ Deployer className=org.apache.catalina.cluster.deploy.FarmWarDeployer tempDir=/tmp/war-temp/ deployDir=/tmp/war-deploy/ watchDir=/tmp/war-listen/ watchEnabled=false/ /Cluster After further testing, one node consistently times out upon reload: requesting session state from org.apache.catalina.cluster.mcast.McastMember[tcp://10.0.0.2:4001,10.0.0 .2,4001 ... SEVERE: Manager[/nahrgisdev], No session state received, timing out While the other one gets it in 100 or so ms. Respectfully, Ivan. -Original Message- From: Filip Hanik - Dev [mailto:[EMAIL PROTECTED] Sent: Wednesday, September 29, 2004 4:17 PM To: Tomcat Users List Subject: Re: Clustering and session replication org.apache.catalina.cluster.tcp.SimpleTcpCluster messageDataReceived WARNING: Context manager doesn't exist:/nahrgisdev this is telling you that the server that spits out this message does not have a distributable/ context configured by the name nahrgisdev all the servers in the cluster must have the all the distributable/ webapps configured identically Filip - Original Message - From: Ivan Vasquez [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Wednesday, September 29, 2004 3:03 PM Subject: Clustering and session replication We are having some problems with a cluster of 2x Tomcat 5.0.28 (JDK 1.4.2) regarding session replication. The problem manifests after a distributable application is reloaded. From that point on, a successful login to our application causes the same page to be reloaded by the other node (mod_jk is load balancing) as if no progress was being done. A new session ID is generated every time by either node. Every time it happens, the log shows
Re: Clustering and session replication
ok, so when the context is reloaded you are saying it doesn't work. sounds like that upon a context reload the new context does not get a ClusterManager, and instead gets the StandardManager assigned. File a bug in bugzilla, and we will take care of it We never reload our contexts in production so that is why I haven't seen what you are seeing Filip - Original Message - From: Ivan Vasquez [EMAIL PROTECTED] To: Tomcat Users List [EMAIL PROTECTED] Cc: Brian Lawrence [EMAIL PROTECTED] Sent: Thursday, September 30, 2004 10:05 AM Subject: RE: Clustering and session replication Filip, To discard any problems in application settings, we copied an entire application from production (clustered tomcat 5.0.25) to the cluster that's having problems (5.0.28). We verified context settings and load balancing. The first time the application is used after a tomcat restart, it works well (load balancing and session replication). But after reloading the application in any node (i.e. context reloads), the log will show the warnings and timeout errors that I described before. Session replication fails from that point on. From the little I understand, I think clustering is doing its job, the problem is it cannot find the context manager for that application (despite both nodes have distributable/ in web.xml). However, the context is properly configured because we can access dbcp pools and mail connections defined within. Ivan. -Original Message- From: Filip Hanik - Dev [mailto:[EMAIL PROTECTED] Sent: Wednesday, September 29, 2004 5:14 PM To: Tomcat Users List Subject: Re: Clustering and session replication let me reiterate org.apache.catalina.cluster.tcp.SimpleTcpCluster messageDataReceived WARNING: Context manager doesn't exist:/nahrgisdev that means there is no clustered context under this name. If it works from server 1 to 2 but not from 2 to 1, then you need to look over your configuration again. The good news is it worked for you in one direction, you have to focus on the above error message, that message and that message alone is the reason the requesting server times out Filip - Original Message - From: Ivan Vasquez [EMAIL PROTECTED] To: Tomcat Users List [EMAIL PROTECTED] Sent: Wednesday, September 29, 2004 3:54 PM Subject: RE: Clustering and session replication Filip, Thanks for your reply. Each app has identical web.xml files: ?xml version=1.0 encoding=ISO-8859-1? !-- Required in order to have default EL support -- web-app xmlns=http://java.sun.com/xml/ns/j2ee; xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance; xsi:schemaLocation=http://java.sun.com/xml/ns/j2ee web-app_2_4.xsd version=2.4 distributable/ !-- General description of your web application -- display-nameNAHRGIS Clustered/display-name description NAHRGIS GIS Application /description ... The context, with datasources and other resources, works as expected (but it lives in conf/Catalina/localhost/nahrgisdev.xml, not in server.xml). The cluster is set as follows: Cluster className=org.apache.catalina.cluster.tcp.SimpleTcpCluster managerClassName=org.apache.catalina.cluster.session.DeltaManager expireSessionsOnShutdown=false useDirtyFlag=false Membership className=org.apache.catalina.cluster.mcast.McastService mcastAddr=228.0.0.4 mcastPort=45564 mcastFrequency=500 mcastDropTime=3000/ Receiver className=org.apache.catalina.cluster.tcp.ReplicationListener tcpListenAddress=10.0.0.1 tcpListenPort=4001 tcpSelectorTimeout=100 tcpThreadCount=6/ Sender className=org.apache.catalina.cluster.tcp.ReplicationTransmitter replicationMode=pooled/ Valve className=org.apache.catalina.cluster.tcp.ReplicationValve filter=.*\.gif;.*\.js;.*\.jpg;.*\.htm;.*\.html;.*\.txt;/ Deployer className=org.apache.catalina.cluster.deploy.FarmWarDeployer tempDir=/tmp/war-temp/ deployDir=/tmp/war-deploy/ watchDir=/tmp/war-listen/ watchEnabled=false/ /Cluster After further testing, one node consistently times out upon reload: requesting session state from org.apache.catalina.cluster.mcast.McastMember[tcp://10.0.0.2:4001,10.0.0 .2,4001 ... SEVERE: Manager[/nahrgisdev], No session state received, timing out While the other one gets it in 100 or so ms. Respectfully, Ivan. -Original Message- From: Filip Hanik - Dev [mailto:[EMAIL PROTECTED] Sent: Wednesday, September 29, 2004 4:17 PM To: Tomcat Users List Subject: Re: Clustering and session replication org.apache.catalina.cluster.tcp.SimpleTcpCluster messageDataReceived WARNING: Context manager doesn't exist:/nahrgisdev this is telling you that the server that spits out this message does not have a distributable/ context configured by the name nahrgisdev all the servers in the cluster must have the all the distributable/ webapps configured identically Filip - Original Message - From: Ivan Vasquez [EMAIL
RE: Clustering and session replication
Filip, We will file a bug. In the meantime we will try 5.0.25 as it appears it doesn't have the problem. Thanks a lot. Ivan. -Original Message- From: Filip Hanik - Dev [mailto:[EMAIL PROTECTED] Sent: Thursday, September 30, 2004 11:39 AM To: Tomcat Users List Subject: Re: Clustering and session replication ok, so when the context is reloaded you are saying it doesn't work. sounds like that upon a context reload the new context does not get a ClusterManager, and instead gets the StandardManager assigned. File a bug in bugzilla, and we will take care of it We never reload our contexts in production so that is why I haven't seen what you are seeing Filip - Original Message - From: Ivan Vasquez [EMAIL PROTECTED] To: Tomcat Users List [EMAIL PROTECTED] Cc: Brian Lawrence [EMAIL PROTECTED] Sent: Thursday, September 30, 2004 10:05 AM Subject: RE: Clustering and session replication Filip, To discard any problems in application settings, we copied an entire application from production (clustered tomcat 5.0.25) to the cluster that's having problems (5.0.28). We verified context settings and load balancing. The first time the application is used after a tomcat restart, it works well (load balancing and session replication). But after reloading the application in any node (i.e. context reloads), the log will show the warnings and timeout errors that I described before. Session replication fails from that point on. From the little I understand, I think clustering is doing its job, the problem is it cannot find the context manager for that application (despite both nodes have distributable/ in web.xml). However, the context is properly configured because we can access dbcp pools and mail connections defined within. Ivan. -Original Message- From: Filip Hanik - Dev [mailto:[EMAIL PROTECTED] Sent: Wednesday, September 29, 2004 5:14 PM To: Tomcat Users List Subject: Re: Clustering and session replication let me reiterate org.apache.catalina.cluster.tcp.SimpleTcpCluster messageDataReceived WARNING: Context manager doesn't exist:/nahrgisdev that means there is no clustered context under this name. If it works from server 1 to 2 but not from 2 to 1, then you need to look over your configuration again. The good news is it worked for you in one direction, you have to focus on the above error message, that message and that message alone is the reason the requesting server times out Filip - Original Message - From: Ivan Vasquez [EMAIL PROTECTED] To: Tomcat Users List [EMAIL PROTECTED] Sent: Wednesday, September 29, 2004 3:54 PM Subject: RE: Clustering and session replication Filip, Thanks for your reply. Each app has identical web.xml files: ?xml version=1.0 encoding=ISO-8859-1? !-- Required in order to have default EL support -- web-app xmlns=http://java.sun.com/xml/ns/j2ee; xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance; xsi:schemaLocation=http://java.sun.com/xml/ns/j2ee web-app_2_4.xsd version=2.4 distributable/ !-- General description of your web application -- display-nameNAHRGIS Clustered/display-name description NAHRGIS GIS Application /description ... The context, with datasources and other resources, works as expected (but it lives in conf/Catalina/localhost/nahrgisdev.xml, not in server.xml). The cluster is set as follows: Cluster className=org.apache.catalina.cluster.tcp.SimpleTcpCluster managerClassName=org.apache.catalina.cluster.session.DeltaManager expireSessionsOnShutdown=false useDirtyFlag=false Membership className=org.apache.catalina.cluster.mcast.McastService mcastAddr=228.0.0.4 mcastPort=45564 mcastFrequency=500 mcastDropTime=3000/ Receiver className=org.apache.catalina.cluster.tcp.ReplicationListener tcpListenAddress=10.0.0.1 tcpListenPort=4001 tcpSelectorTimeout=100 tcpThreadCount=6/ Sender className=org.apache.catalina.cluster.tcp.ReplicationTransmitter replicationMode=pooled/ Valve className=org.apache.catalina.cluster.tcp.ReplicationValve filter=.*\.gif;.*\.js;.*\.jpg;.*\.htm;.*\.html;.*\.txt;/ Deployer className=org.apache.catalina.cluster.deploy.FarmWarDeployer tempDir=/tmp/war-temp/ deployDir=/tmp/war-deploy/ watchDir=/tmp/war-listen/ watchEnabled=false/ /Cluster After further testing, one node consistently times out upon reload: requesting session state from org.apache.catalina.cluster.mcast.McastMember[tcp://10.0.0.2:4001,10.0.0 .2,4001 ... SEVERE: Manager[/nahrgisdev], No session state received, timing out While the other one gets it in 100 or so ms. Respectfully, Ivan. -Original Message- From: Filip Hanik - Dev [mailto:[EMAIL PROTECTED] Sent: Wednesday, September 29, 2004 4:17 PM To: Tomcat Users List Subject: Re: Clustering and session replication org.apache.catalina.cluster.tcp.SimpleTcpCluster messageDataReceived WARNING: Context manager doesn't exist
Re: Clustering and session replication
oh, really, not a problem in 5.0.25, very interesting, please add that to the comments as the actual cluster code didn't change between those versions if my memory serves me right Filip - Original Message - From: Ivan Vasquez [EMAIL PROTECTED] To: Tomcat Users List [EMAIL PROTECTED] Sent: Thursday, September 30, 2004 10:49 AM Subject: RE: Clustering and session replication Filip, We will file a bug. In the meantime we will try 5.0.25 as it appears it doesn't have the problem. Thanks a lot. Ivan. -Original Message- From: Filip Hanik - Dev [mailto:[EMAIL PROTECTED] Sent: Thursday, September 30, 2004 11:39 AM To: Tomcat Users List Subject: Re: Clustering and session replication ok, so when the context is reloaded you are saying it doesn't work. sounds like that upon a context reload the new context does not get a ClusterManager, and instead gets the StandardManager assigned. File a bug in bugzilla, and we will take care of it We never reload our contexts in production so that is why I haven't seen what you are seeing Filip - Original Message - From: Ivan Vasquez [EMAIL PROTECTED] To: Tomcat Users List [EMAIL PROTECTED] Cc: Brian Lawrence [EMAIL PROTECTED] Sent: Thursday, September 30, 2004 10:05 AM Subject: RE: Clustering and session replication Filip, To discard any problems in application settings, we copied an entire application from production (clustered tomcat 5.0.25) to the cluster that's having problems (5.0.28). We verified context settings and load balancing. The first time the application is used after a tomcat restart, it works well (load balancing and session replication). But after reloading the application in any node (i.e. context reloads), the log will show the warnings and timeout errors that I described before. Session replication fails from that point on. From the little I understand, I think clustering is doing its job, the problem is it cannot find the context manager for that application (despite both nodes have distributable/ in web.xml). However, the context is properly configured because we can access dbcp pools and mail connections defined within. Ivan. -Original Message- From: Filip Hanik - Dev [mailto:[EMAIL PROTECTED] Sent: Wednesday, September 29, 2004 5:14 PM To: Tomcat Users List Subject: Re: Clustering and session replication let me reiterate org.apache.catalina.cluster.tcp.SimpleTcpCluster messageDataReceived WARNING: Context manager doesn't exist:/nahrgisdev that means there is no clustered context under this name. If it works from server 1 to 2 but not from 2 to 1, then you need to look over your configuration again. The good news is it worked for you in one direction, you have to focus on the above error message, that message and that message alone is the reason the requesting server times out Filip - Original Message - From: Ivan Vasquez [EMAIL PROTECTED] To: Tomcat Users List [EMAIL PROTECTED] Sent: Wednesday, September 29, 2004 3:54 PM Subject: RE: Clustering and session replication Filip, Thanks for your reply. Each app has identical web.xml files: ?xml version=1.0 encoding=ISO-8859-1? !-- Required in order to have default EL support -- web-app xmlns=http://java.sun.com/xml/ns/j2ee; xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance; xsi:schemaLocation=http://java.sun.com/xml/ns/j2ee web-app_2_4.xsd version=2.4 distributable/ !-- General description of your web application -- display-nameNAHRGIS Clustered/display-name description NAHRGIS GIS Application /description ... The context, with datasources and other resources, works as expected (but it lives in conf/Catalina/localhost/nahrgisdev.xml, not in server.xml). The cluster is set as follows: Cluster className=org.apache.catalina.cluster.tcp.SimpleTcpCluster managerClassName=org.apache.catalina.cluster.session.DeltaManager expireSessionsOnShutdown=false useDirtyFlag=false Membership className=org.apache.catalina.cluster.mcast.McastService mcastAddr=228.0.0.4 mcastPort=45564 mcastFrequency=500 mcastDropTime=3000/ Receiver className=org.apache.catalina.cluster.tcp.ReplicationListener tcpListenAddress=10.0.0.1 tcpListenPort=4001 tcpSelectorTimeout=100 tcpThreadCount=6/ Sender className=org.apache.catalina.cluster.tcp.ReplicationTransmitter replicationMode=pooled/ Valve className=org.apache.catalina.cluster.tcp.ReplicationValve filter=.*\.gif;.*\.js;.*\.jpg;.*\.htm;.*\.html;.*\.txt;/ Deployer className=org.apache.catalina.cluster.deploy.FarmWarDeployer tempDir=/tmp/war-temp/ deployDir=/tmp/war-deploy/ watchDir=/tmp/war-listen/ watchEnabled=false/ /Cluster After further testing, one node consistently times out upon reload: requesting session state from org.apache.catalina.cluster.mcast.McastMember[tcp://10.0.0.2:4001,10.0.0 .2,4001 ... SEVERE: Manager[/nahrgisdev], No session state
RE: Clustering and session replication
Indeed, looking at the changelogs we see that clustering was not changed in those versions. That and the error messages lead me to think that it has to do with the context manager not surviving reloads, not clustering in itself. IMHO anyway... Thanks Filip. Ivan. -Original Message- From: Filip Hanik - Dev [mailto:[EMAIL PROTECTED] Sent: Thursday, September 30, 2004 12:11 PM To: Tomcat Users List Subject: Re: Clustering and session replication oh, really, not a problem in 5.0.25, very interesting, please add that to the comments as the actual cluster code didn't change between those versions if my memory serves me right Filip - Original Message - From: Ivan Vasquez [EMAIL PROTECTED] To: Tomcat Users List [EMAIL PROTECTED] Sent: Thursday, September 30, 2004 10:49 AM Subject: RE: Clustering and session replication Filip, We will file a bug. In the meantime we will try 5.0.25 as it appears it doesn't have the problem. Thanks a lot. Ivan. -Original Message- From: Filip Hanik - Dev [mailto:[EMAIL PROTECTED] Sent: Thursday, September 30, 2004 11:39 AM To: Tomcat Users List Subject: Re: Clustering and session replication ok, so when the context is reloaded you are saying it doesn't work. sounds like that upon a context reload the new context does not get a ClusterManager, and instead gets the StandardManager assigned. File a bug in bugzilla, and we will take care of it We never reload our contexts in production so that is why I haven't seen what you are seeing Filip - Original Message - From: Ivan Vasquez [EMAIL PROTECTED] To: Tomcat Users List [EMAIL PROTECTED] Cc: Brian Lawrence [EMAIL PROTECTED] Sent: Thursday, September 30, 2004 10:05 AM Subject: RE: Clustering and session replication Filip, To discard any problems in application settings, we copied an entire application from production (clustered tomcat 5.0.25) to the cluster that's having problems (5.0.28). We verified context settings and load balancing. The first time the application is used after a tomcat restart, it works well (load balancing and session replication). But after reloading the application in any node (i.e. context reloads), the log will show the warnings and timeout errors that I described before. Session replication fails from that point on. From the little I understand, I think clustering is doing its job, the problem is it cannot find the context manager for that application (despite both nodes have distributable/ in web.xml). However, the context is properly configured because we can access dbcp pools and mail connections defined within. Ivan. -Original Message- From: Filip Hanik - Dev [mailto:[EMAIL PROTECTED] Sent: Wednesday, September 29, 2004 5:14 PM To: Tomcat Users List Subject: Re: Clustering and session replication let me reiterate org.apache.catalina.cluster.tcp.SimpleTcpCluster messageDataReceived WARNING: Context manager doesn't exist:/nahrgisdev that means there is no clustered context under this name. If it works from server 1 to 2 but not from 2 to 1, then you need to look over your configuration again. The good news is it worked for you in one direction, you have to focus on the above error message, that message and that message alone is the reason the requesting server times out Filip - Original Message - From: Ivan Vasquez [EMAIL PROTECTED] To: Tomcat Users List [EMAIL PROTECTED] Sent: Wednesday, September 29, 2004 3:54 PM Subject: RE: Clustering and session replication Filip, Thanks for your reply. Each app has identical web.xml files: ?xml version=1.0 encoding=ISO-8859-1? !-- Required in order to have default EL support -- web-app xmlns=http://java.sun.com/xml/ns/j2ee; xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance; xsi:schemaLocation=http://java.sun.com/xml/ns/j2ee web-app_2_4.xsd version=2.4 distributable/ !-- General description of your web application -- display-nameNAHRGIS Clustered/display-name description NAHRGIS GIS Application /description ... The context, with datasources and other resources, works as expected (but it lives in conf/Catalina/localhost/nahrgisdev.xml, not in server.xml). The cluster is set as follows: Cluster className=org.apache.catalina.cluster.tcp.SimpleTcpCluster managerClassName=org.apache.catalina.cluster.session.DeltaManager expireSessionsOnShutdown=false useDirtyFlag=false Membership className=org.apache.catalina.cluster.mcast.McastService mcastAddr=228.0.0.4 mcastPort=45564 mcastFrequency=500 mcastDropTime=3000/ Receiver className=org.apache.catalina.cluster.tcp.ReplicationListener tcpListenAddress=10.0.0.1 tcpListenPort=4001 tcpSelectorTimeout=100 tcpThreadCount=6/ Sender className=org.apache.catalina.cluster.tcp.ReplicationTransmitter replicationMode=pooled/ Valve className=org.apache.catalina.cluster.tcp.ReplicationValve filter=.*\.gif;.*\.js;.*\.jpg;.*\.htm;.*\.html;.*\.txt;/ Deployer className
Re: Clustering and session replication
org.apache.catalina.cluster.tcp.SimpleTcpCluster messageDataReceived WARNING: Context manager doesn't exist:/nahrgisdev this is telling you that the server that spits out this message does not have a distributable/ context configured by the name nahrgisdev all the servers in the cluster must have the all the distributable/ webapps configured identically Filip - Original Message - From: Ivan Vasquez [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Wednesday, September 29, 2004 3:03 PM Subject: Clustering and session replication We are having some problems with a cluster of 2x Tomcat 5.0.28 (JDK 1.4.2) regarding session replication. The problem manifests after a distributable application is reloaded. From that point on, a successful login to our application causes the same page to be reloaded by the other node (mod_jk is load balancing) as if no progress was being done. A new session ID is generated every time by either node. Every time it happens, the log shows: org.apache.catalina.cluster.tcp.SimpleTcpCluster messageDataReceived WARNING: Context manager doesn't exist:/nahrgisdev On application reload, a node shows this error Sep 29, 2004 3:47:26 PM org.apache.catalina.cluster.session.DeltaManager start WARNING: Manager[/nahrgisdev], requesting session state from org.apache.catalina.cluster.mcast.McastMember[tcp://128.192.104.11:4001, 128.192.104.11,4001, alive=253140]. This operation will timeout if no session state has been received within 60 seconds Sep 29, 2004 3:48:26 PM org.apache.catalina.cluster.session.DeltaManager start SEVERE: Manager[/nahrgisdev], No session state received, timing out. However, we can telnet the other side on that port. Internal NICs are not configured for the cluster because initially we thought they were the problem. The application's context is stored in conf/Catalina/localhost/nahrgisdev.xml. Of course, the application works well in a non-clustered environment. Thanks for any advice, Ivan. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Clustering and session replication
Filip, Thanks for your reply. Each app has identical web.xml files: ?xml version=1.0 encoding=ISO-8859-1? !-- Required in order to have default EL support -- web-app xmlns=http://java.sun.com/xml/ns/j2ee; xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance; xsi:schemaLocation=http://java.sun.com/xml/ns/j2ee web-app_2_4.xsd version=2.4 distributable/ !-- General description of your web application -- display-nameNAHRGIS Clustered/display-name description NAHRGIS GIS Application /description ... The context, with datasources and other resources, works as expected (but it lives in conf/Catalina/localhost/nahrgisdev.xml, not in server.xml). The cluster is set as follows: Cluster className=org.apache.catalina.cluster.tcp.SimpleTcpCluster managerClassName=org.apache.catalina.cluster.session.DeltaManager expireSessionsOnShutdown=false useDirtyFlag=false Membership className=org.apache.catalina.cluster.mcast.McastService mcastAddr=228.0.0.4 mcastPort=45564 mcastFrequency=500 mcastDropTime=3000/ Receiver className=org.apache.catalina.cluster.tcp.ReplicationListener tcpListenAddress=10.0.0.1 tcpListenPort=4001 tcpSelectorTimeout=100 tcpThreadCount=6/ Sender className=org.apache.catalina.cluster.tcp.ReplicationTransmitter replicationMode=pooled/ Valve className=org.apache.catalina.cluster.tcp.ReplicationValve filter=.*\.gif;.*\.js;.*\.jpg;.*\.htm;.*\.html;.*\.txt;/ Deployer className=org.apache.catalina.cluster.deploy.FarmWarDeployer tempDir=/tmp/war-temp/ deployDir=/tmp/war-deploy/ watchDir=/tmp/war-listen/ watchEnabled=false/ /Cluster After further testing, one node consistently times out upon reload: requesting session state from org.apache.catalina.cluster.mcast.McastMember[tcp://10.0.0.2:4001,10.0.0 .2,4001 ... SEVERE: Manager[/nahrgisdev], No session state received, timing out While the other one gets it in 100 or so ms. Respectfully, Ivan. -Original Message- From: Filip Hanik - Dev [mailto:[EMAIL PROTECTED] Sent: Wednesday, September 29, 2004 4:17 PM To: Tomcat Users List Subject: Re: Clustering and session replication org.apache.catalina.cluster.tcp.SimpleTcpCluster messageDataReceived WARNING: Context manager doesn't exist:/nahrgisdev this is telling you that the server that spits out this message does not have a distributable/ context configured by the name nahrgisdev all the servers in the cluster must have the all the distributable/ webapps configured identically Filip - Original Message - From: Ivan Vasquez [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Wednesday, September 29, 2004 3:03 PM Subject: Clustering and session replication We are having some problems with a cluster of 2x Tomcat 5.0.28 (JDK 1.4.2) regarding session replication. The problem manifests after a distributable application is reloaded. From that point on, a successful login to our application causes the same page to be reloaded by the other node (mod_jk is load balancing) as if no progress was being done. A new session ID is generated every time by either node. Every time it happens, the log shows: org.apache.catalina.cluster.tcp.SimpleTcpCluster messageDataReceived WARNING: Context manager doesn't exist:/nahrgisdev On application reload, a node shows this error Sep 29, 2004 3:47:26 PM org.apache.catalina.cluster.session.DeltaManager start WARNING: Manager[/nahrgisdev], requesting session state from org.apache.catalina.cluster.mcast.McastMember[tcp://128.192.104.11:4001, 128.192.104.11,4001, alive=253140]. This operation will timeout if no session state has been received within 60 seconds Sep 29, 2004 3:48:26 PM org.apache.catalina.cluster.session.DeltaManager start SEVERE: Manager[/nahrgisdev], No session state received, timing out. However, we can telnet the other side on that port. Internal NICs are not configured for the cluster because initially we thought they were the problem. The application's context is stored in conf/Catalina/localhost/nahrgisdev.xml. Of course, the application works well in a non-clustered environment. Thanks for any advice, Ivan. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Clustering and session replication
let me reiterate org.apache.catalina.cluster.tcp.SimpleTcpCluster messageDataReceived WARNING: Context manager doesn't exist:/nahrgisdev that means there is no clustered context under this name. If it works from server 1 to 2 but not from 2 to 1, then you need to look over your configuration again. The good news is it worked for you in one direction, you have to focus on the above error message, that message and that message alone is the reason the requesting server times out Filip - Original Message - From: Ivan Vasquez [EMAIL PROTECTED] To: Tomcat Users List [EMAIL PROTECTED] Sent: Wednesday, September 29, 2004 3:54 PM Subject: RE: Clustering and session replication Filip, Thanks for your reply. Each app has identical web.xml files: ?xml version=1.0 encoding=ISO-8859-1? !-- Required in order to have default EL support -- web-app xmlns=http://java.sun.com/xml/ns/j2ee; xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance; xsi:schemaLocation=http://java.sun.com/xml/ns/j2ee web-app_2_4.xsd version=2.4 distributable/ !-- General description of your web application -- display-nameNAHRGIS Clustered/display-name description NAHRGIS GIS Application /description ... The context, with datasources and other resources, works as expected (but it lives in conf/Catalina/localhost/nahrgisdev.xml, not in server.xml). The cluster is set as follows: Cluster className=org.apache.catalina.cluster.tcp.SimpleTcpCluster managerClassName=org.apache.catalina.cluster.session.DeltaManager expireSessionsOnShutdown=false useDirtyFlag=false Membership className=org.apache.catalina.cluster.mcast.McastService mcastAddr=228.0.0.4 mcastPort=45564 mcastFrequency=500 mcastDropTime=3000/ Receiver className=org.apache.catalina.cluster.tcp.ReplicationListener tcpListenAddress=10.0.0.1 tcpListenPort=4001 tcpSelectorTimeout=100 tcpThreadCount=6/ Sender className=org.apache.catalina.cluster.tcp.ReplicationTransmitter replicationMode=pooled/ Valve className=org.apache.catalina.cluster.tcp.ReplicationValve filter=.*\.gif;.*\.js;.*\.jpg;.*\.htm;.*\.html;.*\.txt;/ Deployer className=org.apache.catalina.cluster.deploy.FarmWarDeployer tempDir=/tmp/war-temp/ deployDir=/tmp/war-deploy/ watchDir=/tmp/war-listen/ watchEnabled=false/ /Cluster After further testing, one node consistently times out upon reload: requesting session state from org.apache.catalina.cluster.mcast.McastMember[tcp://10.0.0.2:4001,10.0.0 .2,4001 ... SEVERE: Manager[/nahrgisdev], No session state received, timing out While the other one gets it in 100 or so ms. Respectfully, Ivan. -Original Message- From: Filip Hanik - Dev [mailto:[EMAIL PROTECTED] Sent: Wednesday, September 29, 2004 4:17 PM To: Tomcat Users List Subject: Re: Clustering and session replication org.apache.catalina.cluster.tcp.SimpleTcpCluster messageDataReceived WARNING: Context manager doesn't exist:/nahrgisdev this is telling you that the server that spits out this message does not have a distributable/ context configured by the name nahrgisdev all the servers in the cluster must have the all the distributable/ webapps configured identically Filip - Original Message - From: Ivan Vasquez [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Wednesday, September 29, 2004 3:03 PM Subject: Clustering and session replication We are having some problems with a cluster of 2x Tomcat 5.0.28 (JDK 1.4.2) regarding session replication. The problem manifests after a distributable application is reloaded. From that point on, a successful login to our application causes the same page to be reloaded by the other node (mod_jk is load balancing) as if no progress was being done. A new session ID is generated every time by either node. Every time it happens, the log shows: org.apache.catalina.cluster.tcp.SimpleTcpCluster messageDataReceived WARNING: Context manager doesn't exist:/nahrgisdev On application reload, a node shows this error Sep 29, 2004 3:47:26 PM org.apache.catalina.cluster.session.DeltaManager start WARNING: Manager[/nahrgisdev], requesting session state from org.apache.catalina.cluster.mcast.McastMember[tcp://128.192.104.11:4001, 128.192.104.11,4001, alive=253140]. This operation will timeout if no session state has been received within 60 seconds Sep 29, 2004 3:48:26 PM org.apache.catalina.cluster.session.DeltaManager start SEVERE: Manager[/nahrgisdev], No session state received, timing out. However, we can telnet the other side on that port. Internal NICs are not configured for the cluster because initially we thought they were the problem. The application's context is stored in conf/Catalina/localhost/nahrgisdev.xml. Of course, the application works well in a non-clustered environment. Thanks for any advice, Ivan. - To unsubscribe, e
Re: Clustering and session replication
make sure this 10.0.0.2 server has the context correctly configured and started up Filip - Original Message - From: Ivan Vasquez [EMAIL PROTECTED] To: Tomcat Users List [EMAIL PROTECTED] Sent: Wednesday, September 29, 2004 3:54 PM Subject: RE: Clustering and session replication Filip, Thanks for your reply. Each app has identical web.xml files: ?xml version=1.0 encoding=ISO-8859-1? !-- Required in order to have default EL support -- web-app xmlns=http://java.sun.com/xml/ns/j2ee; xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance; xsi:schemaLocation=http://java.sun.com/xml/ns/j2ee web-app_2_4.xsd version=2.4 distributable/ !-- General description of your web application -- display-nameNAHRGIS Clustered/display-name description NAHRGIS GIS Application /description ... The context, with datasources and other resources, works as expected (but it lives in conf/Catalina/localhost/nahrgisdev.xml, not in server.xml). The cluster is set as follows: Cluster className=org.apache.catalina.cluster.tcp.SimpleTcpCluster managerClassName=org.apache.catalina.cluster.session.DeltaManager expireSessionsOnShutdown=false useDirtyFlag=false Membership className=org.apache.catalina.cluster.mcast.McastService mcastAddr=228.0.0.4 mcastPort=45564 mcastFrequency=500 mcastDropTime=3000/ Receiver className=org.apache.catalina.cluster.tcp.ReplicationListener tcpListenAddress=10.0.0.1 tcpListenPort=4001 tcpSelectorTimeout=100 tcpThreadCount=6/ Sender className=org.apache.catalina.cluster.tcp.ReplicationTransmitter replicationMode=pooled/ Valve className=org.apache.catalina.cluster.tcp.ReplicationValve filter=.*\.gif;.*\.js;.*\.jpg;.*\.htm;.*\.html;.*\.txt;/ Deployer className=org.apache.catalina.cluster.deploy.FarmWarDeployer tempDir=/tmp/war-temp/ deployDir=/tmp/war-deploy/ watchDir=/tmp/war-listen/ watchEnabled=false/ /Cluster After further testing, one node consistently times out upon reload: requesting session state from org.apache.catalina.cluster.mcast.McastMember[tcp://10.0.0.2:4001,10.0.0 .2,4001 ... SEVERE: Manager[/nahrgisdev], No session state received, timing out While the other one gets it in 100 or so ms. Respectfully, Ivan. -Original Message- From: Filip Hanik - Dev [mailto:[EMAIL PROTECTED] Sent: Wednesday, September 29, 2004 4:17 PM To: Tomcat Users List Subject: Re: Clustering and session replication org.apache.catalina.cluster.tcp.SimpleTcpCluster messageDataReceived WARNING: Context manager doesn't exist:/nahrgisdev this is telling you that the server that spits out this message does not have a distributable/ context configured by the name nahrgisdev all the servers in the cluster must have the all the distributable/ webapps configured identically Filip - Original Message - From: Ivan Vasquez [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Wednesday, September 29, 2004 3:03 PM Subject: Clustering and session replication We are having some problems with a cluster of 2x Tomcat 5.0.28 (JDK 1.4.2) regarding session replication. The problem manifests after a distributable application is reloaded. From that point on, a successful login to our application causes the same page to be reloaded by the other node (mod_jk is load balancing) as if no progress was being done. A new session ID is generated every time by either node. Every time it happens, the log shows: org.apache.catalina.cluster.tcp.SimpleTcpCluster messageDataReceived WARNING: Context manager doesn't exist:/nahrgisdev On application reload, a node shows this error Sep 29, 2004 3:47:26 PM org.apache.catalina.cluster.session.DeltaManager start WARNING: Manager[/nahrgisdev], requesting session state from org.apache.catalina.cluster.mcast.McastMember[tcp://128.192.104.11:4001, 128.192.104.11,4001, alive=253140]. This operation will timeout if no session state has been received within 60 seconds Sep 29, 2004 3:48:26 PM org.apache.catalina.cluster.session.DeltaManager start SEVERE: Manager[/nahrgisdev], No session state received, timing out. However, we can telnet the other side on that port. Internal NICs are not configured for the cluster because initially we thought they were the problem. The application's context is stored in conf/Catalina/localhost/nahrgisdev.xml. Of course, the application works well in a non-clustered environment. Thanks for any advice, Ivan. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED
Re: Clustering and Virtual Hosts
Computer 1: You don't want to have the same multicast address. this address is what decides group membership. There is no point in two contexts from two different virtual host to be part of the same group, it will do nothing but cause over head. So give each virtual host their own mcast address. Now since all virtual hosts are on the same computer, you would want to set different tcpListenPort attributes as a port can only be used by one server socket on a machine. Filip - Original Message - From: Leonard Sitongia [EMAIL PROTECTED] To: Tomcat Users List [EMAIL PROTECTED] Sent: Tuesday, September 07, 2004 12:49 PM Subject: Clustering and Virtual Hosts Hi, The server.xml in Tomcat 5 has Cluster inside of Host. Right now, I'm running one host in the Tomcat configuration on each of two computers. server.xml in tomcat running on a computer named c1 has a Host named c1, and computer c2 has a host named c2. I'm planning to create several virtual hosts that will be clustered across two computers. The virtual hosts, of course, have the same IP address. Can I simply duplicate the Cluster definition in each of the Host sections in the multiple virtual hosts that I define in each computer? In other words: Computer 1: Host name=vhost1 ... Cluster ... /Cluster Host Host name=vhost2 ... Cluster ... /Cluster Host Computer 2: Host name=vhost1 ... Cluster ... /Cluster Host Host name=vhost2 ... Cluster ... /Cluster Host Where all the information in the Cluster/ element is the same for each virtual host on each computer. Seems like I end up with four virtual hosts that are all talking on the same TCP and multicast connections. Do I need to define a different tcpListenAddress / tcpListenPort for each virtual host? Thanks for your help! ==Leonard E. Sitongia VETS / Scientific Computing Division National Center for Atmospheric Research P.O. Box 3000 Boulder CO 80307 USA [EMAIL PROTECTED]voice: (303)497-2454 fax: (303)497-1829 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Clustering/high availability without JDK1.4
Hey Chris, I thing you can use a javagroup solution. Look at http://www.jgroups.org/javagroupsnew/docs/index.html Little bit old but usefull implementation from Filip Tomcat-jg... http://sourceforge.net/projects/tomcat-jg regards peter Chris Todd schrieb: Is there any way to achieve high availability (that is, Tomcat clustering/session replication) in Tomcat 4 without using JDK 1.4? I ask because I need to run Tomcat on OpenBSD 3.5, which only has JDK 1.3 available. The docs I've read for Tomcat 5 (and Filip Hanik's back-ported replication for Tomcat 4) indicate JDK 1.4 is necessary for session replication. Regards, Chris - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Clustering/high availability without JDK1.4
Hi, The notes for patchset 5 and 6 suggest you can pretty much use FreeBSD JDK 1.4 without a problem, it passes compatibility tests for JDK 1.4.2 etc: http://www.freebsd.org/java/dists/14.html. Yoav Shapira Millennium Research Informatics -Original Message- From: Chris Todd [mailto:[EMAIL PROTECTED] Sent: Monday, July 12, 2004 10:39 PM To: [EMAIL PROTECTED] Subject: Clustering/high availability without JDK1.4 Is there any way to achieve high availability (that is, Tomcat clustering/session replication) in Tomcat 4 without using JDK 1.4? I ask because I need to run Tomcat on OpenBSD 3.5, which only has JDK 1.3 available. The docs I've read for Tomcat 5 (and Filip Hanik's back-ported replication for Tomcat 4) indicate JDK 1.4 is necessary for session replication. Regards, Chris - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] This e-mail, including any attachments, is a confidential business communication, and may contain information that is confidential, proprietary and/or privileged. This e-mail is intended only for the individual(s) to whom it is addressed, and may not be saved, copied, printed, disclosed or used by anyone else. If you are not the(an) intended recipient, please immediately delete this e-mail from your computer system and notify the sender. Thank you. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Clustering/high availability without JDK1.4
Yoav, Thanks for the suggestion, but this port of Java does not work on OpenBSD due to unresolved threading issues. The only option on OpenBSD for the time being is to use the Linux JDK1.3 in Linux emulation mode. But thanks to Peter Rossbach for suggesting I look at Jgroups, which I will do. Regards, Chris -Original Message- From: Shapira, Yoav [mailto:[EMAIL PROTECTED] Sent: Tuesday, July 13, 2004 9:23 AM To: Tomcat Users List; [EMAIL PROTECTED] Subject: RE: Clustering/high availability without JDK1.4 Hi, The notes for patchset 5 and 6 suggest you can pretty much use FreeBSD JDK 1.4 without a problem, it passes compatibility tests for JDK 1.4.2 etc: http://www.freebsd.org/java/dists/14.html. Yoav Shapira Millennium Research Informatics -Original Message- From: Chris Todd [mailto:[EMAIL PROTECTED] Sent: Monday, July 12, 2004 10:39 PM To: [EMAIL PROTECTED] Subject: Clustering/high availability without JDK1.4 Is there any way to achieve high availability (that is, Tomcat clustering/session replication) in Tomcat 4 without using JDK 1.4? I ask because I need to run Tomcat on OpenBSD 3.5, which only has JDK 1.3 available. The docs I've read for Tomcat 5 (and Filip Hanik's back-ported replication for Tomcat 4) indicate JDK 1.4 is necessary for session replication. Regards, Chris - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Clustering on Tomcat 5.0.26 with DeltaManager
you should also see a stack trace, please post that one to the list, that should give us all the info we need. Most likely is that one of your attributes are not serializable Filip - Original Message - From: Matt Smith [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Wednesday, June 09, 2004 12:05 PM Subject: Clustering on Tomcat 5.0.26 with DeltaManager Any info on the following would be appreciated, cannot see the exception being generated. I have the logging level set to debug. I am using a filter to wrap the session, but I the valve should never see this so I would not expect a ClassCastException. Is there any way to tell the logging in tomcat to dump the exception??? In my log, I am seeing the following StandardContext[]2004-06-06 21:39:25,347 ERROR [http-80-Processor24] org.apache.catalina.cluster.session.DeltaManager - Unable to serialize delta request Looking at the Delta Manager, somewhere here is the problem, in request Completed... try { DeltaSession session = (DeltaSession) findSession(sessionId); DeltaRequest deltaRequest = session.getDeltaRequest(); SessionMessage msg = null; if (deltaRequest.getSize() 0) { byte[] data = unloadDeltaRequest(deltaRequest); msg = new SessionMessageImpl(name, SessionMessage.EVT_SESSION_DELTA, data, sessionId, sessionId+System.currentTimeMillis()); session.resetDeltaRequest(); } else if ( !session.isPrimarySession() ) { msg = new SessionMessageImpl(getName(), SessionMessage.EVT_SESSION_ACCESSED, null, sessionId, sessionId+System.currentTimeMillis()); } session.setPrimarySession(true); //check to see if we need to send out an access message if ( (msg == null) ) { long replDelta = System.currentTimeMillis() - session.getLastTimeReplicated(); if ( replDelta (getMaxInactiveInterval()*1000) ) { msg = new SessionMessageImpl(getName(), SessionMessage.EVT_SESSION_ACCESSED, null, sessionId, sessionId+System.currentTimeMillis()); } } //update last replicated time if ( msg != null ) session.setLastTimeReplicated(System.currentTimeMillis()); return msg; } catch (IOException x) { log.error(Unable to serialize delta request, x); return null; } Thanks, m. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Clustering on Tomcat 5.0.26 with DeltaManager
That is what I am wondering about ... I have the level set to debug, but no stack trace is being logged ... I could probably determine the issue if I could see the stack trace. Here is the log with the messages just prior, and the messages just after. There are no more messages from Processor23 StandardContext[]2004-06-07 07:56:50,948 DEBUG [http-80-Processor24] kodo.DataCache - Cache hit while looking up key 370. StandardContext[]2004-06-07 07:56:50,953 DEBUG [http-80-Processor24] Logs.com.incursiontech.ipscp.jdbc.PreparedStatementWrapper - [EMAIL PROTECTED] SQL::[EMAIL PROTECTED]: SELECT t0._version, t0.count, t0.end, t1.id, t1._class, t1._version, t2.id, t2._class, t2._version, t2.description, t2.name, t1.current, t1.description, t1.name, t0.start FROM PegCountBucket t0 LEFT OUTER JOIN PegCount t1 ON t0.peg = t1.id LEFT OUTER JOIN PegCategory t2 ON t1.category = t2.id WHERE t0.id = 370 FOR UPDATE] StandardContext[]2004-06-07 07:56:51,006 ERROR [http-80-Processor23] org.apache.catalina.cluster.session.DeltaManager - Unable to serialize delta request StandardContext[]2004-06-07 07:56:51,010 DEBUG [http-80-Processor24] kodo.jdbc.SQL - t 32697810, conn 24577207 [57 ms] executing prepstmnt 11370703 SELECT t0._version, t0.count, t0.end, t1.id, t1._class, t1._version, t2.id, t2._class, t2._version, t2.description, t2.name, t1.current, t1.description, t1.name, t0.start FROM PegCountBucket t0 LEFT OUTER JOIN PegCount t1 ON t0.peg = t1.id LEFT OUTER JOIN PegCategory t2 ON t1.category = t2.id WHERE t0.id = ? FOR UPDATE [params=(long) 370] StandardContext[]2004-06-07 07:56:51,018 DEBUG [http-80-Processor24] kodo.DataCache - Cache hit while looking up key 19. m. -Original Message- From: Filip Hanik - Dev [mailto:[EMAIL PROTECTED] Sent: Wednesday, June 09, 2004 12:13 PM To: Tomcat Users List; [EMAIL PROTECTED] Subject: Re: Clustering on Tomcat 5.0.26 with DeltaManager you should also see a stack trace, please post that one to the list, that should give us all the info we need. Most likely is that one of your attributes are not serializable Filip - Original Message - From: Matt Smith [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Wednesday, June 09, 2004 12:05 PM Subject: Clustering on Tomcat 5.0.26 with DeltaManager Any info on the following would be appreciated, cannot see the exception being generated. I have the logging level set to debug. I am using a filter to wrap the session, but I the valve should never see this so I would not expect a ClassCastException. Is there any way to tell the logging in tomcat to dump the exception??? In my log, I am seeing the following StandardContext[]2004-06-06 21:39:25,347 ERROR [http-80-Processor24] org.apache.catalina.cluster.session.DeltaManager - Unable to serialize delta request Looking at the Delta Manager, somewhere here is the problem, in request Completed... try { DeltaSession session = (DeltaSession) findSession(sessionId); DeltaRequest deltaRequest = session.getDeltaRequest(); SessionMessage msg = null; if (deltaRequest.getSize() 0) { byte[] data = unloadDeltaRequest(deltaRequest); msg = new SessionMessageImpl(name, SessionMessage.EVT_SESSION_DELTA, data, sessionId, sessionId+System.currentTimeMillis()); session.resetDeltaRequest(); } else if ( !session.isPrimarySession() ) { msg = new SessionMessageImpl(getName(), SessionMessage.EVT_SESSION_ACCESSED, null, sessionId, sessionId+System.currentTimeMillis()); } session.setPrimarySession(true); //check to see if we need to send out an access message if ( (msg == null) ) { long replDelta = System.currentTimeMillis() - session.getLastTimeReplicated(); if ( replDelta (getMaxInactiveInterval()*1000) ) { msg = new SessionMessageImpl(getName(), SessionMessage.EVT_SESSION_ACCESSED, null, sessionId, sessionId+System.currentTimeMillis()); } } //update last replicated time if ( msg != null ) session.setLastTimeReplicated(System.currentTimeMillis()); return msg; } catch (IOException x) { log.error(Unable to serialize delta request, x); return null; } Thanks, m. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED
Re: Clustering on Tomcat 5.0.26 with DeltaManager
duh, didn't read your message all the way through. look in the other log files, it should get logged somewhere. Filip - Original Message - From: Filip Hanik - Dev [EMAIL PROTECTED] To: Tomcat Users List [EMAIL PROTECTED]; [EMAIL PROTECTED] Sent: Wednesday, June 09, 2004 12:12 PM Subject: Re: Clustering on Tomcat 5.0.26 with DeltaManager you should also see a stack trace, please post that one to the list, that should give us all the info we need. Most likely is that one of your attributes are not serializable Filip - Original Message - From: Matt Smith [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Wednesday, June 09, 2004 12:05 PM Subject: Clustering on Tomcat 5.0.26 with DeltaManager Any info on the following would be appreciated, cannot see the exception being generated. I have the logging level set to debug. I am using a filter to wrap the session, but I the valve should never see this so I would not expect a ClassCastException. Is there any way to tell the logging in tomcat to dump the exception??? In my log, I am seeing the following StandardContext[]2004-06-06 21:39:25,347 ERROR [http-80-Processor24] org.apache.catalina.cluster.session.DeltaManager - Unable to serialize delta request Looking at the Delta Manager, somewhere here is the problem, in request Completed... try { DeltaSession session = (DeltaSession) findSession(sessionId); DeltaRequest deltaRequest = session.getDeltaRequest(); SessionMessage msg = null; if (deltaRequest.getSize() 0) { byte[] data = unloadDeltaRequest(deltaRequest); msg = new SessionMessageImpl(name, SessionMessage.EVT_SESSION_DELTA, data, sessionId, sessionId+System.currentTimeMillis()); session.resetDeltaRequest(); } else if ( !session.isPrimarySession() ) { msg = new SessionMessageImpl(getName(), SessionMessage.EVT_SESSION_ACCESSED, null, sessionId, sessionId+System.currentTimeMillis()); } session.setPrimarySession(true); //check to see if we need to send out an access message if ( (msg == null) ) { long replDelta = System.currentTimeMillis() - session.getLastTimeReplicated(); if ( replDelta (getMaxInactiveInterval()*1000) ) { msg = new SessionMessageImpl(getName(), SessionMessage.EVT_SESSION_ACCESSED, null, sessionId, sessionId+System.currentTimeMillis()); } } //update last replicated time if ( msg != null ) session.setLastTimeReplicated(System.currentTimeMillis()); return msg; } catch (IOException x) { log.error(Unable to serialize delta request, x); return null; } Thanks, m. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Clustering on Tomcat 5.0.26 with DeltaManager
Filip, I am using a custom appender for the servlet context, and was not passing the Throwable on down. Once I did this, I am getting a java.io.NotSerializableException... I'll look into what's being added to the session, that is not Serializable. Thanks, m. -Original Message- From: Filip Hanik - Dev [mailto:[EMAIL PROTECTED] Sent: Wednesday, June 09, 2004 12:25 PM To: Tomcat Users List Subject: Re: Clustering on Tomcat 5.0.26 with DeltaManager duh, didn't read your message all the way through. look in the other log files, it should get logged somewhere. Filip - Original Message - From: Filip Hanik - Dev [EMAIL PROTECTED] To: Tomcat Users List [EMAIL PROTECTED]; [EMAIL PROTECTED] Sent: Wednesday, June 09, 2004 12:12 PM Subject: Re: Clustering on Tomcat 5.0.26 with DeltaManager you should also see a stack trace, please post that one to the list, that should give us all the info we need. Most likely is that one of your attributes are not serializable Filip - Original Message - From: Matt Smith [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Wednesday, June 09, 2004 12:05 PM Subject: Clustering on Tomcat 5.0.26 with DeltaManager Any info on the following would be appreciated, cannot see the exception being generated. I have the logging level set to debug. I am using a filter to wrap the session, but I the valve should never see this so I would not expect a ClassCastException. Is there any way to tell the logging in tomcat to dump the exception??? In my log, I am seeing the following StandardContext[]2004-06-06 21:39:25,347 ERROR [http-80-Processor24] org.apache.catalina.cluster.session.DeltaManager - Unable to serialize delta request Looking at the Delta Manager, somewhere here is the problem, in request Completed... try { DeltaSession session = (DeltaSession) findSession(sessionId); DeltaRequest deltaRequest = session.getDeltaRequest(); SessionMessage msg = null; if (deltaRequest.getSize() 0) { byte[] data = unloadDeltaRequest(deltaRequest); msg = new SessionMessageImpl(name, SessionMessage.EVT_SESSION_DELTA, data, sessionId, sessionId+System.currentTimeMillis()); session.resetDeltaRequest(); } else if ( !session.isPrimarySession() ) { msg = new SessionMessageImpl(getName(), SessionMessage.EVT_SESSION_ACCESSED, null, sessionId, sessionId+System.currentTimeMillis()); } session.setPrimarySession(true); //check to see if we need to send out an access message if ( (msg == null) ) { long replDelta = System.currentTimeMillis() - session.getLastTimeReplicated(); if ( replDelta (getMaxInactiveInterval()*1000) ) { msg = new SessionMessageImpl(getName(), SessionMessage.EVT_SESSION_ACCESSED, null, sessionId, sessionId+System.currentTimeMillis()); } } //update last replicated time if ( msg != null ) session.setLastTimeReplicated(System.currentTimeMillis()); return msg; } catch (IOException x) { log.error(Unable to serialize delta request, x); return null; } Thanks, m. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Clustering / Load Balancer / Session Cookie
Just a quick post to say thanks, we went live using pen and 3 clustered instances of 5.0.25 today and its working a treat. Load is spread almost perfectly. The only feature I would have as a nice to have would be to apply wieghtings to the target hosts but other than that spot on and no problems whatsoever so far. Ta Matt -Original Message- From: Filip Hanik - Dev [mailto:[EMAIL PROTECTED] Sent: 29 April 2004 15:47 To: Tomcat Users List Subject: Re: Clustering / Load Balancer / Session Cookie http://siag.nu/pen http://balance.sourceforge.net pen is my favorite, performs best and works on both windows and unix Filip - Original Message - From: Dale, Matt [EMAIL PROTECTED] To: Tomcat Users List [EMAIL PROTECTED] Sent: Thursday, April 29, 2004 8:51 AM Subject: RE: Clustering / Load Balancer / Session Cookie Thanks for the quick reply. So the supplied tomcat load balancer isnt of any use for stateful sessions where the cluster is spread accross several machines? -Original Message- From: Peter Lin [mailto:[EMAIL PROTECTED] Sent: 29 April 2004 14:44 To: Tomcat Users List Subject: Re: Clustering / Load Balancer / Session Cookie to paraphrase, you want to have it look like the same machine to the browser (ie user). the easiest way is to use a hardware load balancer. I've use this approach a couple times in the past and it works well. peter lin Dale, Matt [EMAIL PROTECTED] wrote: Hi, I'm currently testing a setup up on 3 machines. 2 have tomcat 5.0.19, these 2 are clustered with session replication and have a simple test app. The other, also 5.0.19, runs the supplied balancer app. I've written a simple round robin rule which passes the requests back and forth as it should, I can see the sessions being replicated fine in the logs so all is ok there. BUT my problem is accessing the same session on both machines. Basically I'm stumped, I know its not accessing the same session because the redirected URL is different but how can I get around this? I've tried a using an HTML frame on the balancer machine but that was clutching at straws and obviously didnt work. Any ideas would be appreciated. Ta Matt Any opinions expressed in this E-mail may be those of the individual and not necessarily the company. This E-mail and any files transmitted with it are confidential and solely for the use of the intended recipient. If you are not the intended recipient or the person responsible for delivering to the intended recipient, be advised that you have received this E-mail in error and that any use or copying is strictly prohibited. If you have received this E-mail in error please notify the beCogent postmaster at [EMAIL PROTECTED] Unless expressly stated, opinions in this email are those of the individual sender and not beCogent Ltd. You must take full responsibility for virus checking this email and any attachments. Please note that the content of this email or any of its attachments may contain data that falls within the scope of the Data Protection Acts and that you must ensure that any handling or processing of such data by you is fully compliant with the terms and provisions of the Data Protection Act 1984 and 1998. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - Do you Yahoo!? Win a $20,000 Career Makeover at Yahoo! HotJobs - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] Any opinions expressed in this E-mail may be those of the individual and not necessarily the company. This E-mail and any files transmitted with it are confidential and solely for the use of the intended recipient. If you are not the intended recipient or the person responsible for delivering to the intended recipient, be advised that you have received this E-mail in error and that any use or copying is strictly prohibited. If you have received this E-mail in error please notify the beCogent postmaster at [EMAIL PROTECTED] Unless expressly stated, opinions in this email are those of the individual sender and not beCogent Ltd. You must take full responsibility for virus checking this email and any attachments. Please note that the content of this email or any of its attachments may contain data that falls within the scope of the Data Protection Acts and that you must ensure that any handling or processing of such data by you is fully compliant with the terms and provisions of the Data Protection Act 1984 and 1998
RE: Clustering / Load Balancer / Session Cookie
Dale, Is it better than mod_jk2? Thanks -Original Message- From: Dale, Matt [mailto:[EMAIL PROTECTED] Sent: Tuesday, June 01, 2004 4:50 PM To: Tomcat Users List Subject: RE: Clustering / Load Balancer / Session Cookie Just a quick post to say thanks, we went live using pen and 3 clustered instances of 5.0.25 today and its working a treat. Load is spread almost perfectly. The only feature I would have as a nice to have would be to apply wieghtings to the target hosts but other than that spot on and no problems whatsoever so far. Ta Matt -Original Message- From: Filip Hanik - Dev [mailto:[EMAIL PROTECTED] Sent: 29 April 2004 15:47 To: Tomcat Users List Subject: Re: Clustering / Load Balancer / Session Cookie http://siag.nu/pen http://balance.sourceforge.net pen is my favorite, performs best and works on both windows and unix Filip - Original Message - From: Dale, Matt [EMAIL PROTECTED] To: Tomcat Users List [EMAIL PROTECTED] Sent: Thursday, April 29, 2004 8:51 AM Subject: RE: Clustering / Load Balancer / Session Cookie Thanks for the quick reply. So the supplied tomcat load balancer isnt of any use for stateful sessions where the cluster is spread accross several machines? -Original Message- From: Peter Lin [mailto:[EMAIL PROTECTED] Sent: 29 April 2004 14:44 To: Tomcat Users List Subject: Re: Clustering / Load Balancer / Session Cookie to paraphrase, you want to have it look like the same machine to the browser (ie user). the easiest way is to use a hardware load balancer. I've use this approach a couple times in the past and it works well. peter lin Dale, Matt [EMAIL PROTECTED] wrote: Hi, I'm currently testing a setup up on 3 machines. 2 have tomcat 5.0.19, these 2 are clustered with session replication and have a simple test app. The other, also 5.0.19, runs the supplied balancer app. I've written a simple round robin rule which passes the requests back and forth as it should, I can see the sessions being replicated fine in the logs so all is ok there. BUT my problem is accessing the same session on both machines. Basically I'm stumped, I know its not accessing the same session because the redirected URL is different but how can I get around this? I've tried a using an HTML frame on the balancer machine but that was clutching at straws and obviously didnt work. Any ideas would be appreciated. Ta Matt Any opinions expressed in this E-mail may be those of the individual and not necessarily the company. This E-mail and any files transmitted with it are confidential and solely for the use of the intended recipient. If you are not the intended recipient or the person responsible for delivering to the intended recipient, be advised that you have received this E-mail in error and that any use or copying is strictly prohibited. If you have received this E-mail in error please notify the beCogent postmaster at [EMAIL PROTECTED] Unless expressly stated, opinions in this email are those of the individual sender and not beCogent Ltd. You must take full responsibility for virus checking this email and any attachments. Please note that the content of this email or any of its attachments may contain data that falls within the scope of the Data Protection Acts and that you must ensure that any handling or processing of such data by you is fully compliant with the terms and provisions of the Data Protection Act 1984 and 1998. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - Do you Yahoo!? Win a $20,000 Career Makeover at Yahoo! HotJobs - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] __ For information about the Standard Bank group visit our web site www.standardbank.co.za __ Disclaimer and confidentiality note Everything in this e-mail and any attachments relating to the official business of Standard Bank Group Limited is proprietary to the group. It is confidential, legally privileged and protected by law. Standard Bank does not own and endorse any other content. Views and opinions are those of the sender unless clearly stated as being that of the group. The person addressed in the e-mail is the sole authorised recipient. Please notify the sender immediately if it has
RE: Clustering / Load Balancer / Session Cookie
It depends what you mean by better. We have not thoroughly benchmarked it but I believe the throughput it better with pen as it is much simpler in many ways. JK2 allows you finer grained control over individual contexts. Pen just redirects TCP/IP packets where with JK2 you have to go through apache, then communicate to the tomcat with the AJP1.3 protocol. For our uses pen was a better option, even more so once the cluster farming is implemented but in your environment this may not be the case. I would always advise trying many different options and going with the best one for your needs. Ta Matt -Original Message- From: Kommuru, Bhaskar [mailto:[EMAIL PROTECTED] Sent: 01 June 2004 16:08 To: 'Tomcat Users List' Subject: RE: Clustering / Load Balancer / Session Cookie Dale, Is it better than mod_jk2? Thanks -Original Message- From: Dale, Matt [mailto:[EMAIL PROTECTED] Sent: Tuesday, June 01, 2004 4:50 PM To: Tomcat Users List Subject: RE: Clustering / Load Balancer / Session Cookie Just a quick post to say thanks, we went live using pen and 3 clustered instances of 5.0.25 today and its working a treat. Load is spread almost perfectly. The only feature I would have as a nice to have would be to apply wieghtings to the target hosts but other than that spot on and no problems whatsoever so far. Ta Matt -Original Message- From: Filip Hanik - Dev [mailto:[EMAIL PROTECTED] Sent: 29 April 2004 15:47 To: Tomcat Users List Subject: Re: Clustering / Load Balancer / Session Cookie http://siag.nu/pen http://balance.sourceforge.net pen is my favorite, performs best and works on both windows and unix Filip - Original Message - From: Dale, Matt [EMAIL PROTECTED] To: Tomcat Users List [EMAIL PROTECTED] Sent: Thursday, April 29, 2004 8:51 AM Subject: RE: Clustering / Load Balancer / Session Cookie Thanks for the quick reply. So the supplied tomcat load balancer isnt of any use for stateful sessions where the cluster is spread accross several machines? -Original Message- From: Peter Lin [mailto:[EMAIL PROTECTED] Sent: 29 April 2004 14:44 To: Tomcat Users List Subject: Re: Clustering / Load Balancer / Session Cookie to paraphrase, you want to have it look like the same machine to the browser (ie user). the easiest way is to use a hardware load balancer. I've use this approach a couple times in the past and it works well. peter lin Dale, Matt [EMAIL PROTECTED] wrote: Hi, I'm currently testing a setup up on 3 machines. 2 have tomcat 5.0.19, these 2 are clustered with session replication and have a simple test app. The other, also 5.0.19, runs the supplied balancer app. I've written a simple round robin rule which passes the requests back and forth as it should, I can see the sessions being replicated fine in the logs so all is ok there. BUT my problem is accessing the same session on both machines. Basically I'm stumped, I know its not accessing the same session because the redirected URL is different but how can I get around this? I've tried a using an HTML frame on the balancer machine but that was clutching at straws and obviously didnt work. Any ideas would be appreciated. Ta Matt Any opinions expressed in this E-mail may be those of the individual and not necessarily the company. This E-mail and any files transmitted with it are confidential and solely for the use of the intended recipient. If you are not the intended recipient or the person responsible for delivering to the intended recipient, be advised that you have received this E-mail in error and that any use or copying is strictly prohibited. If you have received this E-mail in error please notify the beCogent postmaster at [EMAIL PROTECTED] Unless expressly stated, opinions in this email are those of the individual sender and not beCogent Ltd. You must take full responsibility for virus checking this email and any attachments. Please note that the content of this email or any of its attachments may contain data that falls within the scope of the Data Protection Acts and that you must ensure that any handling or processing of such data by you is fully compliant with the terms and provisions of the Data Protection Act 1984 and 1998. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - Do you Yahoo!? Win a $20,000 Career Makeover at Yahoo! HotJobs - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED
Re: Clustering problem with web.xml
check your web.xml for a mistake The markup in the document following the root element must be well-formed. or open it in an xml editor, it will tell you right away Filip - Original Message - From: Gabriele Paciucci [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Thursday, May 13, 2004 6:09 AM Subject: Clustering problem with web.xml Hi Tomcat user, I'm trying to setup a in memory session replication with tomcat. I have: -tomcat 5.0.24 -java 1.4.2_04 - Red Hat Enterprise Linux 3 I have two machine dl580-1 and dl580-2 with tcp/ip and multicast enabled. this is the cluster part of server.xml. Cluster className=org.apache.catalina.cluster.tcp.SimpleTcpCluster managerClassName=org.apache.catalina.cluster.session.DeltaManager expireSessionsOnShutdown=false useDirtyFlag=true Membership className=org.apache.catalina.cluster.mcast.McastService mcastAddr=224.0.0.1 mcastPort=45564 mcastFrequency=500 mcastDropTime=3000/ Receiver className=org.apache.catalina.cluster.tcp.ReplicationListener tcpListenAddress=auto tcpListenPort=4001 tcpSelectorTimeout=100 tcpThreadCount=6/ Sender className=org.apache.catalina.cluster.tcp.ReplicationTransmitter replicationMode=pooled/ Valve className=org.apache.catalina.cluster.tcp.ReplicationValve filter=.*\.gif;.*\.js;.*\.jpg;.*\.htm;.*\.html;.*\.txt;/ /Cluster when I try to put the label distributable/ in jakarta-tomcat-5.0.24/webapps/jsp-examples/WEB-INF/web.xml I recive in the catalina.out these errors: INFO: Installing web application at context path /jsp-examples from URL file:/home/tomcat/jakarta-tomcat-5.0.24/webapps/jsp-examples May 13, 2004 12:50:11 PM org.apache.commons.digester.Digester fatalError SEVERE: Parse Fatal Error at line 21 column 2: The markup in the document following the root element must be well-formed. org.xml.sax.SAXParseException: The markup in the document following the root element must be well-formed. at org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source) at org.apache.xerces.util.ErrorHandlerWrapper.fatalError(Unknown Source) at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source) at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source) at org.apache.xerces.impl.XMLScanner.reportFatalError(Unknown Source) at org.apache.xerces.impl.XMLDocumentScannerImpl$TrailingMiscDispatcher.dispatch(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) at org.apache.xerces.parsers.XMLParser.parse(Unknown Source) at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source) at org.apache.commons.digester.Digester.parse(Digester.java:1548) at org.apache.catalina.startup.ContextConfig.applicationConfig(ContextConfig.java:263) at org.apache.catalina.startup.ContextConfig.start(ContextConfig.java:624) at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:216) at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119) at org.apache.catalina.core.StandardContext.start(StandardContext.java:4268) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:823) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:807) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:595) at org.apache.catalina.core.StandardHostDeployer.install(StandardHostDeployer.java:277) at org.apache.catalina.core.StandardHost.install(StandardHost.java:832) at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:683) at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:432) at org.apache.catalina.startup.HostConfig.start(HostConfig.java:964) at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:349) at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1091) at org.apache.catalina.core.StandardHost.start(StandardHost.java:789) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1083) at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:478) at org.apache.catalina.core.StandardService.start(StandardService.java:476) at
RE: Clustering problem with web.xml
Hi All, I am using Tomcat 3.3 and would like to know what properties I need to set up in server.xml so that I can look up a datasource in the context. For example: initCtx.lookup(jdbc/OracleDatasource); Thanks Ram -Original Message- From: Filip Hanik - Dev [mailto:[EMAIL PROTECTED] Sent: Thursday, May 13, 2004 10:52 AM To: Tomcat Users List; [EMAIL PROTECTED] Subject: Re: Clustering problem with web.xml check your web.xml for a mistake The markup in the document following the root element must be well-formed. or open it in an xml editor, it will tell you right away Filip - Original Message - From: Gabriele Paciucci [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Thursday, May 13, 2004 6:09 AM Subject: Clustering problem with web.xml Hi Tomcat user, I'm trying to setup a in memory session replication with tomcat. I have: -tomcat 5.0.24 -java 1.4.2_04 - Red Hat Enterprise Linux 3 I have two machine dl580-1 and dl580-2 with tcp/ip and multicast enabled. this is the cluster part of server.xml. Cluster className=org.apache.catalina.cluster.tcp.SimpleTcpCluster managerClassName=org.apache.catalina.cluster.session.DeltaManager expireSessionsOnShutdown=false useDirtyFlag=true Membership className=org.apache.catalina.cluster.mcast.McastService mcastAddr=224.0.0.1 mcastPort=45564 mcastFrequency=500 mcastDropTime=3000/ Receiver className=org.apache.catalina.cluster.tcp.ReplicationListener tcpListenAddress=auto tcpListenPort=4001 tcpSelectorTimeout=100 tcpThreadCount=6/ Sender className=org.apache.catalina.cluster.tcp.ReplicationTransmitter replicationMode=pooled/ Valve className=org.apache.catalina.cluster.tcp.ReplicationValve filter=.*\.gif;.*\.js;.*\.jpg;.*\.htm;.*\.html;.*\.txt;/ /Cluster when I try to put the label distributable/ in jakarta-tomcat-5.0.24/webapps/jsp-examples/WEB-INF/web.xml I recive in the catalina.out these errors: INFO: Installing web application at context path /jsp-examples from URL file:/home/tomcat/jakarta-tomcat-5.0.24/webapps/jsp-examples May 13, 2004 12:50:11 PM org.apache.commons.digester.Digester fatalError SEVERE: Parse Fatal Error at line 21 column 2: The markup in the document following the root element must be well-formed. org.xml.sax.SAXParseException: The markup in the document following the root element must be well-formed. at org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source) at org.apache.xerces.util.ErrorHandlerWrapper.fatalError(Unknown Source) at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source) at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source) at org.apache.xerces.impl.XMLScanner.reportFatalError(Unknown Source) at org.apache.xerces.impl.XMLDocumentScannerImpl$TrailingMiscDispatcher.dispatc h(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) at org.apache.xerces.parsers.XMLParser.parse(Unknown Source) at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source) at org.apache.commons.digester.Digester.parse(Digester.java:1548) at org.apache.catalina.startup.ContextConfig.applicationConfig(ContextConfig.ja va:263) at org.apache.catalina.startup.ContextConfig.start(ContextConfig.java:624) at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java: 216) at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSuppor t.java:119) at org.apache.catalina.core.StandardContext.start(StandardContext.java:4268) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:8 23) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:807) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:595) at org.apache.catalina.core.StandardHostDeployer.install(StandardHostDeployer.j ava:277) at org.apache.catalina.core.StandardHost.install(StandardHost.java:832) at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:683 ) at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:432) at org.apache.catalina.startup.HostConfig.start(HostConfig.java:964) at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:349) at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSuppor t.java:119
RE: Clustering with 5.0.19
Filip, Not sure if you saw this yesterday, I think there were some email problems. Any help would be greatly appreciated. Thanks, Sam. -Original Message- From: Sam Lawrence [mailto:[EMAIL PROTECTED] Sent: 06 May 2004 11:27 To: Tomcat Users List Subject: RE: log4j logging in Tomcat WAS: Clustering with 5.0.19 Thanks Filip, I got some logging, but far more than is useful to try and debug what session replication is going on. If I switch to a recent (nightly?) build, will I be able to add debugging specifically for the clustering? (by adding a Logger child element to Cluster in server.xml?) Up to now I've been trying to see what's going on by watching the replication packets over the network. I added a custom HttpSessionAttributeListener/HttpSessionListener to my webapp (via a listener element in my web.xml) and I'm not seeing any session events although I am seeing replication data being passed between the two servers. I'm using the DeltaManager so my assumption was that I shouldn't be. Any ideas? Please let me know what other info would be useful to paint a more complete picture! Sam. -Original Message- From: Filip Hanik - Dev [mailto:[EMAIL PROTECTED] Sent: 05 May 2004 16:48 To: Tomcat Users List Subject: log4j logging in Tomcat WAS: Clustering with 5.0.19 you need to enable it at the logger level, the code is currently logging with Log.info/Log.debug etc You can make is use log4j and do it using the log4j conf file http://jakarta.apache.org/commons/logging/guide.html To make some simple steps, I remember there was thread on this last week, not sure if they got it to work so here are the steps, let me know if you have problems 1. Download latest log4j package 2. Put the log4j-1.2.8.jar (or whatever name it is) in your $CATALINA_HOME/bin 3. In catalina.sh/catalina.bat add the log4j to the system classpath 4. in catalina.sh/catalina.bat, on the top add the JAVA_OPTS setting like this JAVA_OPTS=-Dlog4j.debug -Dlogj4.configuration=$CATALINA_HOME/bin/log4j.prop erties 5. Put your log4j.properties file in CATALINA_HOME/bin of course, if you are on windows you will need to change / for \ and $ for %% but I am sure you can figure that for yourself :) Filip - Original Message - From: Sam Lawrence [EMAIL PROTECTED] To: Tomcat Users List [EMAIL PROTECTED] Sent: Wednesday, May 05, 2004 10:00 AM Subject: RE: Clustering with 5.0.19 Thanks Filip, Do you know if there is any way I can get some debug info from 5.0.19? I'd feel happier going with a release build if possible. Kind regards, Sam. -Original Message- From: Filip Hanik - Dev [mailto:[EMAIL PROTECTED] Sent: 05 May 2004 15:31 To: Tomcat Users List Subject: Re: Clustering with 5.0.19 useDirtyFlag is not used with the DeltaManager, only with the SimpleTcpReplicationManager. As the name suggest, the DeltaManager only replicates deltas, and hence it can only replicate when the session is dirty. The clustering configuration has changed a little bit since 5.0.19, to make it more modularized. Also, the debug flag is a thing of the past, the clustering module is currently using the commons logger, same way all the other components are using it. Filip - Original Message - From: Sam Lawrence [EMAIL PROTECTED] To: Tomcat [EMAIL PROTECTED] Sent: Wednesday, May 05, 2004 9:26 AM Subject: Clustering with 5.0.19 Hi, I've successfully clustered two instances of Tomcat on different machines and I'm now trying to do some fine tuning on a struts based site. I want to make sure that the session is only being replicated when it needs to be. I have useDirtyFlag=true although I'm not sure that it isn't still being re-sent after every request. I have the following Cluster element in my server.xml - Cluster className=org.apache.catalina.cluster.tcp.SimpleTcpCluster managerClassName=org.apache.catalina.cluster.session.DeltaManager expireSessionsOnShutdown=false debug=10 printToScreen=true useDirtyFlag=true Although I have the debug/printToScreen attributes, I'm not seeing any debug information about session replication. How can I get some debug info? Any help greatly appreciated! Thanks, Sam Lawrence - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e
Re: Clustering with 5.0.19
I'm not sure what your problem is, what you need to do, is to 1. stop tomcat 2. clear the old logs out 3. enable debug logging like mentioned in the email below 4. start tomcat 5. Hit each tomcat once 6. email us the logs, that will tell us a lot more Filip - Original Message - From: Sam Lawrence [EMAIL PROTECTED] To: Tomcat [EMAIL PROTECTED] Sent: Friday, May 07, 2004 3:10 AM Subject: RE: Clustering with 5.0.19 Filip, Not sure if you saw this yesterday, I think there were some email problems. Any help would be greatly appreciated. Thanks, Sam. -Original Message- From: Sam Lawrence [mailto:[EMAIL PROTECTED] Sent: 06 May 2004 11:27 To: Tomcat Users List Subject: RE: log4j logging in Tomcat WAS: Clustering with 5.0.19 Thanks Filip, I got some logging, but far more than is useful to try and debug what session replication is going on. If I switch to a recent (nightly?) build, will I be able to add debugging specifically for the clustering? (by adding a Logger child element to Cluster in server.xml?) Up to now I've been trying to see what's going on by watching the replication packets over the network. I added a custom HttpSessionAttributeListener/HttpSessionListener to my webapp (via a listener element in my web.xml) and I'm not seeing any session events although I am seeing replication data being passed between the two servers. I'm using the DeltaManager so my assumption was that I shouldn't be. Any ideas? Please let me know what other info would be useful to paint a more complete picture! Sam. -Original Message- From: Filip Hanik - Dev [mailto:[EMAIL PROTECTED] Sent: 05 May 2004 16:48 To: Tomcat Users List Subject: log4j logging in Tomcat WAS: Clustering with 5.0.19 you need to enable it at the logger level, the code is currently logging with Log.info/Log.debug etc You can make is use log4j and do it using the log4j conf file http://jakarta.apache.org/commons/logging/guide.html To make some simple steps, I remember there was thread on this last week, not sure if they got it to work so here are the steps, let me know if you have problems 1. Download latest log4j package 2. Put the log4j-1.2.8.jar (or whatever name it is) in your $CATALINA_HOME/bin 3. In catalina.sh/catalina.bat add the log4j to the system classpath 4. in catalina.sh/catalina.bat, on the top add the JAVA_OPTS setting like this JAVA_OPTS=-Dlog4j.debug -Dlogj4.configuration=$CATALINA_HOME/bin/log4j.prop erties 5. Put your log4j.properties file in CATALINA_HOME/bin of course, if you are on windows you will need to change / for \ and $ for %% but I am sure you can figure that for yourself :) Filip - Original Message - From: Sam Lawrence [EMAIL PROTECTED] To: Tomcat Users List [EMAIL PROTECTED] Sent: Wednesday, May 05, 2004 10:00 AM Subject: RE: Clustering with 5.0.19 Thanks Filip, Do you know if there is any way I can get some debug info from 5.0.19? I'd feel happier going with a release build if possible. Kind regards, Sam. -Original Message- From: Filip Hanik - Dev [mailto:[EMAIL PROTECTED] Sent: 05 May 2004 15:31 To: Tomcat Users List Subject: Re: Clustering with 5.0.19 useDirtyFlag is not used with the DeltaManager, only with the SimpleTcpReplicationManager. As the name suggest, the DeltaManager only replicates deltas, and hence it can only replicate when the session is dirty. The clustering configuration has changed a little bit since 5.0.19, to make it more modularized. Also, the debug flag is a thing of the past, the clustering module is currently using the commons logger, same way all the other components are using it. Filip - Original Message - From: Sam Lawrence [EMAIL PROTECTED] To: Tomcat [EMAIL PROTECTED] Sent: Wednesday, May 05, 2004 9:26 AM Subject: Clustering with 5.0.19 Hi, I've successfully clustered two instances of Tomcat on different machines and I'm now trying to do some fine tuning on a struts based site. I want to make sure that the session is only being replicated when it needs to be. I have useDirtyFlag=true although I'm not sure that it isn't still being re-sent after every request. I have the following Cluster element in my server.xml - Cluster className=org.apache.catalina.cluster.tcp.SimpleTcpCluster managerClassName=org.apache.catalina.cluster.session.DeltaManager expireSessionsOnShutdown=false debug=10 printToScreen=true useDirtyFlag=true Although I have the debug/printToScreen attributes, I'm not seeing any debug information about session replication. How can I get some debug info? Any help greatly appreciated! Thanks, Sam Lawrence - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL
Re: Clustering with 5.0.19
useDirtyFlag is not used with the DeltaManager, only with the SimpleTcpReplicationManager. As the name suggest, the DeltaManager only replicates deltas, and hence it can only replicate when the session is dirty. The clustering configuration has changed a little bit since 5.0.19, to make it more modularized. Also, the debug flag is a thing of the past, the clustering module is currently using the commons logger, same way all the other components are using it. Filip - Original Message - From: Sam Lawrence [EMAIL PROTECTED] To: Tomcat [EMAIL PROTECTED] Sent: Wednesday, May 05, 2004 9:26 AM Subject: Clustering with 5.0.19 Hi, I've successfully clustered two instances of Tomcat on different machines and I'm now trying to do some fine tuning on a struts based site. I want to make sure that the session is only being replicated when it needs to be. I have useDirtyFlag=true although I'm not sure that it isn't still being re-sent after every request. I have the following Cluster element in my server.xml - Cluster className=org.apache.catalina.cluster.tcp.SimpleTcpCluster managerClassName=org.apache.catalina.cluster.session.DeltaManager expireSessionsOnShutdown=false debug=10 printToScreen=true useDirtyFlag=true Although I have the debug/printToScreen attributes, I'm not seeing any debug information about session replication. How can I get some debug info? Any help greatly appreciated! Thanks, Sam Lawrence - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Clustering with 5.0.19
Thanks Filip, Do you know if there is any way I can get some debug info from 5.0.19? I'd feel happier going with a release build if possible. Kind regards, Sam. -Original Message- From: Filip Hanik - Dev [mailto:[EMAIL PROTECTED] Sent: 05 May 2004 15:31 To: Tomcat Users List Subject: Re: Clustering with 5.0.19 useDirtyFlag is not used with the DeltaManager, only with the SimpleTcpReplicationManager. As the name suggest, the DeltaManager only replicates deltas, and hence it can only replicate when the session is dirty. The clustering configuration has changed a little bit since 5.0.19, to make it more modularized. Also, the debug flag is a thing of the past, the clustering module is currently using the commons logger, same way all the other components are using it. Filip - Original Message - From: Sam Lawrence [EMAIL PROTECTED] To: Tomcat [EMAIL PROTECTED] Sent: Wednesday, May 05, 2004 9:26 AM Subject: Clustering with 5.0.19 Hi, I've successfully clustered two instances of Tomcat on different machines and I'm now trying to do some fine tuning on a struts based site. I want to make sure that the session is only being replicated when it needs to be. I have useDirtyFlag=true although I'm not sure that it isn't still being re-sent after every request. I have the following Cluster element in my server.xml - Cluster className=org.apache.catalina.cluster.tcp.SimpleTcpCluster managerClassName=org.apache.catalina.cluster.session.DeltaManager expireSessionsOnShutdown=false debug=10 printToScreen=true useDirtyFlag=true Although I have the debug/printToScreen attributes, I'm not seeing any debug information about session replication. How can I get some debug info? Any help greatly appreciated! Thanks, Sam Lawrence - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Clustering Application Scope Objects
and that is why we don't focus on implementing this, cause it not defined on how to resolve name/value pair conflicts if different servers set different values for the same name. If I were to implement this I would allow the user to have two ways of configure conflict resolution: 1. set-is-set, meaning that if the attribute with a given name is set, it can not be overwritten To set a new value, simply remove the old one, then set a new one. 2. override, meaning that whenever a broad cast with a new value, the last value is set To set a new value, just call context.setAttribute Filip -Original Message- From: Mike Duffy [mailto:[EMAIL PROTECTED] Sent: Sunday, April 11, 2004 10:53 PM To: Tomcat Users List; Struts Users Mailing List Subject: RE: Clustering Application Scope Objects how would you solve conflicts? For my purposes, I would let the database manage conflicts. Each application scope object would be tied to the database, a change made on a specific application server would first update the database. For example, the information from a table containing label/value pairs for product categories would be stored in application scope on each server at system startup. If a change were made to the product categories, the change would first made to the database and then a change notification would be broadcast to all servers in the cluster, each server would then reload the information from the database. In other cases, where application scoped objects are not backed by a database, the task of handling conflicts becomes more difficult. I think you would almost need to create some sort of locking mechanism that does not allow changes to be made during an update. Mike --- Filip Hanik (lists) [EMAIL PROTECTED] wrote: not implemented right now, how would you solve conflicts? Filip -Original Message- From: Mike Duffy [mailto:[EMAIL PROTECTED] Sent: Friday, April 09, 2004 5:48 PM To: Tomcat Users List Subject: Clustering Application Scope Objects I've read documentation for The Tomcat 5 Servlet/JSP Container: Clustering/Session Replication HOW-TO http://jakarta.apache.org/tomcat/tomcat-5.0-doc/cluster-howto.html I understand clustering for individual user sessions. Are there any correlated methods for clustering application scope objects? The J2EE API for the Interface ServletContext states, In the case of a web application marked distributed in its deployment descriptor, there will be one context instance for each virtual machine. In this situation, the context cannot be used as a location to share global information (because the information won't be truly global). Use an external resource like a database instead. Rather than use a database, what I would like to be able to do is make a call to servlet.getServletContext().setAttribute(key, object); and have the object stored in the application scope of all servers in the cluster. I know that EJBs were designed to serve this purpose; however, I would like to bypass the overhead and complexities of EJBs. If there isn't a switch that can be flipped in Tomcat, there might be a way to create a lightweight JMS administration class to serve this purpose. Has anyone tried this? If the answer to this question is RTFM, please send a link; I've looked through the documentation and I can't seem to find a clear reference. Thanks for your time and consideration. Mike __ Do you Yahoo!? Yahoo! Small Business $15K Web Design Giveaway http://promotions.yahoo.com/design_giveaway/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --- Incoming mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.654 / Virus Database: 419 - Release Date: 4/6/2004 --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.654 / Virus Database: 419 - Release Date: 4/6/2004 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] __ Do you Yahoo!? Yahoo! Small Business $15K Web Design Giveaway http://promotions.yahoo.com/design_giveaway/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --- Incoming mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.654 / Virus Database: 419 - Release Date: 4/6/2004 --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.654 / Virus Database: 419 - Release Date: 4/6/2004
RE: Clustering Application Scope Objects
not implemented right now, how would you solve conflicts? Filip -Original Message- From: Mike Duffy [mailto:[EMAIL PROTECTED] Sent: Friday, April 09, 2004 5:48 PM To: Tomcat Users List Subject: Clustering Application Scope Objects I've read documentation for The Tomcat 5 Servlet/JSP Container: Clustering/Session Replication HOW-TO http://jakarta.apache.org/tomcat/tomcat-5.0-doc/cluster-howto.html I understand clustering for individual user sessions. Are there any correlated methods for clustering application scope objects? The J2EE API for the Interface ServletContext states, In the case of a web application marked distributed in its deployment descriptor, there will be one context instance for each virtual machine. In this situation, the context cannot be used as a location to share global information (because the information won't be truly global). Use an external resource like a database instead. Rather than use a database, what I would like to be able to do is make a call to servlet.getServletContext().setAttribute(key, object); and have the object stored in the application scope of all servers in the cluster. I know that EJBs were designed to serve this purpose; however, I would like to bypass the overhead and complexities of EJBs. If there isn't a switch that can be flipped in Tomcat, there might be a way to create a lightweight JMS administration class to serve this purpose. Has anyone tried this? If the answer to this question is RTFM, please send a link; I've looked through the documentation and I can't seem to find a clear reference. Thanks for your time and consideration. Mike __ Do you Yahoo!? Yahoo! Small Business $15K Web Design Giveaway http://promotions.yahoo.com/design_giveaway/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --- Incoming mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.654 / Virus Database: 419 - Release Date: 4/6/2004 --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.654 / Virus Database: 419 - Release Date: 4/6/2004 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Clustering Application Scope Objects
how would you solve conflicts? For my purposes, I would let the database manage conflicts. Each application scope object would be tied to the database, a change made on a specific application server would first update the database. For example, the information from a table containing label/value pairs for product categories would be stored in application scope on each server at system startup. If a change were made to the product categories, the change would first made to the database and then a change notification would be broadcast to all servers in the cluster, each server would then reload the information from the database. In other cases, where application scoped objects are not backed by a database, the task of handling conflicts becomes more difficult. I think you would almost need to create some sort of locking mechanism that does not allow changes to be made during an update. Mike --- Filip Hanik (lists) [EMAIL PROTECTED] wrote: not implemented right now, how would you solve conflicts? Filip -Original Message- From: Mike Duffy [mailto:[EMAIL PROTECTED] Sent: Friday, April 09, 2004 5:48 PM To: Tomcat Users List Subject: Clustering Application Scope Objects I've read documentation for The Tomcat 5 Servlet/JSP Container: Clustering/Session Replication HOW-TO http://jakarta.apache.org/tomcat/tomcat-5.0-doc/cluster-howto.html I understand clustering for individual user sessions. Are there any correlated methods for clustering application scope objects? The J2EE API for the Interface ServletContext states, In the case of a web application marked distributed in its deployment descriptor, there will be one context instance for each virtual machine. In this situation, the context cannot be used as a location to share global information (because the information won't be truly global). Use an external resource like a database instead. Rather than use a database, what I would like to be able to do is make a call to servlet.getServletContext().setAttribute(key, object); and have the object stored in the application scope of all servers in the cluster. I know that EJBs were designed to serve this purpose; however, I would like to bypass the overhead and complexities of EJBs. If there isn't a switch that can be flipped in Tomcat, there might be a way to create a lightweight JMS administration class to serve this purpose. Has anyone tried this? If the answer to this question is RTFM, please send a link; I've looked through the documentation and I can't seem to find a clear reference. Thanks for your time and consideration. Mike __ Do you Yahoo!? Yahoo! Small Business $15K Web Design Giveaway http://promotions.yahoo.com/design_giveaway/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --- Incoming mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.654 / Virus Database: 419 - Release Date: 4/6/2004 --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.654 / Virus Database: 419 - Release Date: 4/6/2004 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] __ Do you Yahoo!? Yahoo! Small Business $15K Web Design Giveaway http://promotions.yahoo.com/design_giveaway/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: clustering/replication tomcat 5
should be a document in the doc folder shipped with tomcat. steps are pretty simple 1. ucomment the cluster section in server.xml 2. add distributable/ to web.xml 3. make all your attributes serializable 4. if you have two or more tomcat instances on the same machine then you will need to adjust the tcpListenPort in server.xml Filip -Original Message- From: pablo [mailto:[EMAIL PROTECTED] Sent: Thursday, March 25, 2004 7:05 AM To: [EMAIL PROTECTED] Subject: clustering/replication tomcat 5 Hi folks, I am looking for a step by step on how to do tomcat clustering/replication . I am unable to find anything decent on the web nor in my books (being that they are still tomcat 4 specific ). If anybody has a quick down and dirty on these procedures please let me know. -Pablo - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --- Incoming mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.614 / Virus Database: 393 - Release Date: 3/5/2004 --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.614 / Virus Database: 393 - Release Date: 3/5/2004 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: clustering question?
at most 4 cluster members, the cluster is at a host level, so yes, that would be 4 hosts in your scenario Filip -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Sent: Wednesday, March 10, 2004 7:53 AM To: Tomcat Users List Subject: Re: clustering question? So let me get this straight. You are saying that I should only have 2-4 hosts in a cluster? or are saying that I should only have 2-4 physical boxes in a cluster? I have over 10 different host and was thinking that each one needed to be in its own cluster(is that the right way of thinking about it). Which lives on 2 tomcat boxes running and will be adding more in the long run. Thanks Daniel Schulken - Original Message - From: Aadi Deshpande [EMAIL PROTECTED] To: Tomcat Users List [EMAIL PROTECTED] Sent: Tuesday, March 09, 2004 11:41 AM Subject: Re: clustering question? Hi, You're changing the wrong port. You should not change the mcastPort, instead you should change the tcpListenPort The mcastPort and mcastAddr should be the same for every instance participating in the cluster. Also, as a word of advice, it's best to keep the cluster size down to 2-3 ( and at most 4 ). we've had a lot of trouble with larger cluster sizes, not because of any fault of the cluster manager, just that it's a huge (network/memory ) resource hog having all your sessions replicated six times over. Of course, this is only for our case so YMMV. hth, -a [EMAIL PROTECTED] wrote: I am getting the following info in my log file. Mar 8, 2004 12:45:10 PM org.apache.catalina.cluster.tcp.SimpleTcpCluster start INFO: Cluster is about to start Mar 8, 2004 12:45:10 PM org.apache.catalina.cluster.tcp.ReplicationListener run SEVERE: Unable to start cluster listener. java.net.SocketException: Address already in use at sun.nio.ch.Net.bind(Native Method) at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:108 ) at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:59) at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:52) at org.apache.catalina.cluster.tcp.ReplicationListener.listen(ReplicationLi stener.java:148) at org.apache.catalina.cluster.tcp.ReplicationListener.run(ReplicationListe ner.java:129) at java.lang.Thread.run(Thread.java:534) Mar 8, 2004 12:45:10 PM org.apache.catalina.cluster.mcast.McastService start INFO: Sleeping for 2000 secs to establish cluster membership 2004-03-08 12:45:13,151 [main] DEBUG (ManagerBase.java:671) - Registering Tomcat-Standalone:type=Manager,path=/,host=etrak-plus.com 2004-03-08 12:45:13,156 [main] DEBUG (StandardManager.java:697) - Force random number initialization starting 2004-03-08 12:45:13,157 [main] DEBUG (ManagerBase.java:555) - Opening /dev/urandom 2004-03-08 12:45:13,158 [main] DEBUG (ManagerBase.java:366) - Getting message digest component for algorithm MD5 2004-03-08 12:45:13,158 [main] DEBUG (ManagerBase.java:380) - Completed getting message digest component 2004-03-08 12:45:13,159 [main] DEBUG (ManagerBase.java:383) - getDigest() 1 2004-03-08 12:45:13,160 [main] DEBUG (StandardManager.java:700) - Force random number initialization completed 2004-03-08 12:45:13,161 [main] DEBUG (StandardManager.java:406) - Start: Loading persisted sessions 2004-03-08 12:45:13,161 [main] DEBUG (StandardManager.java:416) - Loading persisted sessions from SESSIONS.ser 2004-03-08 12:45:13,165 [main] DEBUG (StandardManager.java:430) - Creating custom object input stream for class loader 2004-03-08 12:45:13,171 [main] DEBUG (StandardManager.java:460) - Loading 0 persisted sessions 2004-03-08 12:45:13,172 [main] DEBUG (StandardManager.java:507) - Finish: Loading persisted sessions Here is the cluster info that i have in my server.xml. Cluster className=org.apache.catalina.cluster.tcp.SimpleTcpCluster name=etrakCluster1 managerClassName=org.apache.catalina.cluster.session.DeltaManager expireSessionsOnShutdown=false useDirtyFlag=true Membership className=org.apache.catalina.cluster.mcast.McastService mcastAddr=228.0.0.106 mcastPort=45100 mcastFrequency=500 mcastDropTime=3000/ Receiver className=org.apache.catalina.cluster.tcp.ReplicationListener tcpListenAddress=auto tcpListenPort=4001 tcpSelectorTimeout=100 tcpThreadCount=6/ Sender className=org.apache.catalina.cluster.tcp.ReplicationTransmitter replicationMode=pooled/ Valve className=org.apache.catalina.cluster.tcp.ReplicationValve filter=.*\.gif;.*\.js;.*\.jpg;.*\.htm;.*\.html;.*\.txt;/ /Cluster my mcastAddr range is from 228.0.0.106 - 228.0.0.115 and the ports run from 45100-45109. Note each host has its own cluster entry and i have 10 different hosts. This is on tomcat 5.0.19 running on slackware 9.X Would i need to reboot the server to clear this up? Is this a problem with clustering or could it be a setup problem on my part. Thanks, Daniel Schulken --- Outgoing mail is certified Virus
Re: clustering question?
So let me get this straight. You are saying that I should only have 2-4 hosts in a cluster? or are saying that I should only have 2-4 physical boxes in a cluster? I have over 10 different host and was thinking that each one needed to be in its own cluster(is that the right way of thinking about it). Which lives on 2 tomcat boxes running and will be adding more in the long run. Thanks Daniel Schulken - Original Message - From: Aadi Deshpande [EMAIL PROTECTED] To: Tomcat Users List [EMAIL PROTECTED] Sent: Tuesday, March 09, 2004 11:41 AM Subject: Re: clustering question? Hi, You're changing the wrong port. You should not change the mcastPort, instead you should change the tcpListenPort The mcastPort and mcastAddr should be the same for every instance participating in the cluster. Also, as a word of advice, it's best to keep the cluster size down to 2-3 ( and at most 4 ). we've had a lot of trouble with larger cluster sizes, not because of any fault of the cluster manager, just that it's a huge (network/memory ) resource hog having all your sessions replicated six times over. Of course, this is only for our case so YMMV. hth, -a [EMAIL PROTECTED] wrote: I am getting the following info in my log file. Mar 8, 2004 12:45:10 PM org.apache.catalina.cluster.tcp.SimpleTcpCluster start INFO: Cluster is about to start Mar 8, 2004 12:45:10 PM org.apache.catalina.cluster.tcp.ReplicationListener run SEVERE: Unable to start cluster listener. java.net.SocketException: Address already in use at sun.nio.ch.Net.bind(Native Method) at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:108 ) at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:59) at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:52) at org.apache.catalina.cluster.tcp.ReplicationListener.listen(ReplicationLi stener.java:148) at org.apache.catalina.cluster.tcp.ReplicationListener.run(ReplicationListe ner.java:129) at java.lang.Thread.run(Thread.java:534) Mar 8, 2004 12:45:10 PM org.apache.catalina.cluster.mcast.McastService start INFO: Sleeping for 2000 secs to establish cluster membership 2004-03-08 12:45:13,151 [main] DEBUG (ManagerBase.java:671) - Registering Tomcat-Standalone:type=Manager,path=/,host=etrak-plus.com 2004-03-08 12:45:13,156 [main] DEBUG (StandardManager.java:697) - Force random number initialization starting 2004-03-08 12:45:13,157 [main] DEBUG (ManagerBase.java:555) - Opening /dev/urandom 2004-03-08 12:45:13,158 [main] DEBUG (ManagerBase.java:366) - Getting message digest component for algorithm MD5 2004-03-08 12:45:13,158 [main] DEBUG (ManagerBase.java:380) - Completed getting message digest component 2004-03-08 12:45:13,159 [main] DEBUG (ManagerBase.java:383) - getDigest() 1 2004-03-08 12:45:13,160 [main] DEBUG (StandardManager.java:700) - Force random number initialization completed 2004-03-08 12:45:13,161 [main] DEBUG (StandardManager.java:406) - Start: Loading persisted sessions 2004-03-08 12:45:13,161 [main] DEBUG (StandardManager.java:416) - Loading persisted sessions from SESSIONS.ser 2004-03-08 12:45:13,165 [main] DEBUG (StandardManager.java:430) - Creating custom object input stream for class loader 2004-03-08 12:45:13,171 [main] DEBUG (StandardManager.java:460) - Loading 0 persisted sessions 2004-03-08 12:45:13,172 [main] DEBUG (StandardManager.java:507) - Finish: Loading persisted sessions Here is the cluster info that i have in my server.xml. Cluster className=org.apache.catalina.cluster.tcp.SimpleTcpCluster name=etrakCluster1 managerClassName=org.apache.catalina.cluster.session.DeltaManager expireSessionsOnShutdown=false useDirtyFlag=true Membership className=org.apache.catalina.cluster.mcast.McastService mcastAddr=228.0.0.106 mcastPort=45100 mcastFrequency=500 mcastDropTime=3000/ Receiver className=org.apache.catalina.cluster.tcp.ReplicationListener tcpListenAddress=auto tcpListenPort=4001 tcpSelectorTimeout=100 tcpThreadCount=6/ Sender className=org.apache.catalina.cluster.tcp.ReplicationTransmitter replicationMode=pooled/ Valve className=org.apache.catalina.cluster.tcp.ReplicationValve filter=.*\.gif;.*\.js;.*\.jpg;.*\.htm;.*\.html;.*\.txt;/ /Cluster my mcastAddr range is from 228.0.0.106 - 228.0.0.115 and the ports run from 45100-45109. Note each host has its own cluster entry and i have 10 different hosts. This is on tomcat 5.0.19 running on slackware 9.X Would i need to reboot the server to clear this up? Is this a problem with clustering or could it be a setup problem on my part. Thanks, Daniel Schulken --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.598 / Virus Database: 380 - Release Date: 2/28/2004 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail
Re: clustering question?
Hi, You're changing the wrong port. You should not change the mcastPort, instead you should change the tcpListenPort The mcastPort and mcastAddr should be the same for every instance participating in the cluster. Also, as a word of advice, it's best to keep the cluster size down to 2-3 ( and at most 4 ). we've had a lot of trouble with larger cluster sizes, not because of any fault of the cluster manager, just that it's a huge (network/memory ) resource hog having all your sessions replicated six times over. Of course, this is only for our case so YMMV. hth, -a [EMAIL PROTECTED] wrote: I am getting the following info in my log file. Mar 8, 2004 12:45:10 PM org.apache.catalina.cluster.tcp.SimpleTcpCluster start INFO: Cluster is about to start Mar 8, 2004 12:45:10 PM org.apache.catalina.cluster.tcp.ReplicationListener run SEVERE: Unable to start cluster listener. java.net.SocketException: Address already in use at sun.nio.ch.Net.bind(Native Method) at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:108 ) at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:59) at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:52) at org.apache.catalina.cluster.tcp.ReplicationListener.listen(ReplicationLi stener.java:148) at org.apache.catalina.cluster.tcp.ReplicationListener.run(ReplicationListe ner.java:129) at java.lang.Thread.run(Thread.java:534) Mar 8, 2004 12:45:10 PM org.apache.catalina.cluster.mcast.McastService start INFO: Sleeping for 2000 secs to establish cluster membership 2004-03-08 12:45:13,151 [main] DEBUG (ManagerBase.java:671) - Registering Tomcat-Standalone:type=Manager,path=/,host=etrak-plus.com 2004-03-08 12:45:13,156 [main] DEBUG (StandardManager.java:697) - Force random number initialization starting 2004-03-08 12:45:13,157 [main] DEBUG (ManagerBase.java:555) - Opening /dev/urandom 2004-03-08 12:45:13,158 [main] DEBUG (ManagerBase.java:366) - Getting message digest component for algorithm MD5 2004-03-08 12:45:13,158 [main] DEBUG (ManagerBase.java:380) - Completed getting message digest component 2004-03-08 12:45:13,159 [main] DEBUG (ManagerBase.java:383) - getDigest() 1 2004-03-08 12:45:13,160 [main] DEBUG (StandardManager.java:700) - Force random number initialization completed 2004-03-08 12:45:13,161 [main] DEBUG (StandardManager.java:406) - Start: Loading persisted sessions 2004-03-08 12:45:13,161 [main] DEBUG (StandardManager.java:416) - Loading persisted sessions from SESSIONS.ser 2004-03-08 12:45:13,165 [main] DEBUG (StandardManager.java:430) - Creating custom object input stream for class loader 2004-03-08 12:45:13,171 [main] DEBUG (StandardManager.java:460) - Loading 0 persisted sessions 2004-03-08 12:45:13,172 [main] DEBUG (StandardManager.java:507) - Finish: Loading persisted sessions Here is the cluster info that i have in my server.xml. Cluster className=org.apache.catalina.cluster.tcp.SimpleTcpCluster name=etrakCluster1 managerClassName=org.apache.catalina.cluster.session.DeltaManager expireSessionsOnShutdown=false useDirtyFlag=true Membership className=org.apache.catalina.cluster.mcast.McastService mcastAddr=228.0.0.106 mcastPort=45100 mcastFrequency=500 mcastDropTime=3000/ Receiver className=org.apache.catalina.cluster.tcp.ReplicationListener tcpListenAddress=auto tcpListenPort=4001 tcpSelectorTimeout=100 tcpThreadCount=6/ Sender className=org.apache.catalina.cluster.tcp.ReplicationTransmitter replicationMode=pooled/ Valve className=org.apache.catalina.cluster.tcp.ReplicationValve filter=.*\.gif;.*\.js;.*\.jpg;.*\.htm;.*\.html;.*\.txt;/ /Cluster my mcastAddr range is from 228.0.0.106 - 228.0.0.115 and the ports run from 45100-45109. Note each host has its own cluster entry and i have 10 different hosts. This is on tomcat 5.0.19 running on slackware 9.X Would i need to reboot the server to clear this up? Is this a problem with clustering or could it be a setup problem on my part. Thanks, Daniel Schulken --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.598 / Virus Database: 380 - Release Date: 2/28/2004 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: clustering question?
Aadi, do you have this working properly with 5.0.19? I can't get session replication to work. I see lots of errors in my catalina.out request.registerRequests=false i added this to jk2.properties to stop the error messages. On Tue, 9 Mar 2004, Aadi Deshpande wrote: Date: Tue, 09 Mar 2004 11:41:43 -0500 From: Aadi Deshpande [EMAIL PROTECTED] Reply-To: Tomcat Users List [EMAIL PROTECTED] To: Tomcat Users List [EMAIL PROTECTED] Subject: Re: clustering question? Hi, You're changing the wrong port. You should not change the mcastPort, instead you should change the tcpListenPort The mcastPort and mcastAddr should be the same for every instance participating in the cluster. Also, as a word of advice, it's best to keep the cluster size down to 2-3 ( and at most 4 ). we've had a lot of trouble with larger cluster sizes, not because of any fault of the cluster manager, just that it's a huge (network/memory ) resource hog having all your sessions replicated six times over. Of course, this is only for our case so YMMV. hth, -a - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: clustering question?
request.registerRequests=false is related to jk2 and not to session replication. what is your problem with session replication? Filip -Original Message- From: Alex [mailto:[EMAIL PROTECTED] Sent: Tuesday, March 09, 2004 11:53 AM To: Tomcat Users List Subject: Re: clustering question? Aadi, do you have this working properly with 5.0.19? I can't get session replication to work. I see lots of errors in my catalina.out request.registerRequests=false i added this to jk2.properties to stop the error messages. On Tue, 9 Mar 2004, Aadi Deshpande wrote: Date: Tue, 09 Mar 2004 11:41:43 -0500 From: Aadi Deshpande [EMAIL PROTECTED] Reply-To: Tomcat Users List [EMAIL PROTECTED] To: Tomcat Users List [EMAIL PROTECTED] Subject: Re: clustering question? Hi, You're changing the wrong port. You should not change the mcastPort, instead you should change the tcpListenPort The mcastPort and mcastAddr should be the same for every instance participating in the cluster. Also, as a word of advice, it's best to keep the cluster size down to 2-3 ( and at most 4 ). we've had a lot of trouble with larger cluster sizes, not because of any fault of the cluster manager, just that it's a huge (network/memory ) resource hog having all your sessions replicated six times over. Of course, this is only for our case so YMMV. hth, -a - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --- Incoming mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.614 / Virus Database: 393 - Release Date: 3/5/2004 --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.614 / Virus Database: 393 - Release Date: 3/5/2004 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: clustering question?
Mar 9, 2004 6:45:28 PM org.apache.jk.common.HandlerRequest decodeRequest WARNING: Error registering request This occurs when I uncomment the jk2.property noted below. All the classes that could/do/will/would get stored to session are serializable. I have two exact machines running rh 9.0 with java version 1.4.2_03 and running tomcat 5.0.19 from server.xml: Cluster className=org.apache.catalina.cluster.tcp.SimpleTcpCluster managerClassName=org.apache.catalina.cluster.session.DeltaManager expireSessionsOnShutdown=false debug=4 useDirtyFlag=true Membership className=org.apache.catalina.cluster.mcast.McastService mcastAddr=228.0.0.4 mcastPort=45564 mcastFrequency=500 debug=4 mcastDropTime=3000/ Receiver className=org.apache.catalina.cluster.tcp.ReplicationListener tcpListenAddress=10.99.116.2 tcpListenPort=4001 tcpSelectorTimeout=100 debug=4 tcpThreadCount=6/ Sender className=org.apache.catalina.cluster.tcp.ReplicationTransmitter debug=4 replicationMode=asynchronous/ Valve className=org.apache.catalina.cluster.tcp.ReplicationValve debug=4 filter=.*\.gif;.*\.js;.*\.jpg;.*\.htm;.*\.html;.*\.txt;/ /Cluster From the other server set up identically (same code, same confs -- different ip) Mar 9, 2004 6:45:08 PM org.apache.catalina.cluster.tcp.SimpleTcpCluster memberDisappeared INFO: Received member disappeared:org.apache.catalina.cluster.mcast.McastMember[tcp://10.99.116.2:4001,10.99.116.2,4001, alive=384926336] Mar 9, 2004 6:45:09 PM org.apache.catalina.cluster.tcp.SimpleTcpCluster memberAdded INFO: Replication member added:org.apache.catalina.cluster.mcast.McastMember[tcp://10.99.116.2:4001,10.99.116.2,4001, alive=18] Mar 9, 2004 6:45:09 PM org.apache.catalina.cluster.tcp.AsyncSocketSender init INFO: Started async sender thread for TCP replication. On Tue, 9 Mar 2004, Filip Hanik (lists) wrote: Date: Tue, 9 Mar 2004 12:17:31 -0600 From: Filip Hanik (lists) [EMAIL PROTECTED] Reply-To: Tomcat Users List [EMAIL PROTECTED] To: Tomcat Users List [EMAIL PROTECTED] Subject: RE: clustering question? request.registerRequests=false is related to jk2 and not to session replication. what is your problem with session replication? Filip - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: clustering question?
on RH9, you MUST set export LD_ASSUME_KERNEL=2.4 before starting your Java process. There is a bug in the java.nio package Filip -Original Message- From: Alex [mailto:[EMAIL PROTECTED] Sent: Tuesday, March 09, 2004 12:35 PM To: Tomcat Users List Subject: RE: clustering question? Mar 9, 2004 6:45:28 PM org.apache.jk.common.HandlerRequest decodeRequest WARNING: Error registering request This occurs when I uncomment the jk2.property noted below. All the classes that could/do/will/would get stored to session are serializable. I have two exact machines running rh 9.0 with java version 1.4.2_03 and running tomcat 5.0.19 from server.xml: Cluster className=org.apache.catalina.cluster.tcp.SimpleTcpCluster managerClassName=org.apache.catalina.cluster.session.DeltaManager expireSessionsOnShutdown=false debug=4 useDirtyFlag=true Membership className=org.apache.catalina.cluster.mcast.McastService mcastAddr=228.0.0.4 mcastPort=45564 mcastFrequency=500 debug=4 mcastDropTime=3000/ Receiver className=org.apache.catalina.cluster.tcp.ReplicationListener tcpListenAddress=10.99.116.2 tcpListenPort=4001 tcpSelectorTimeout=100 debug=4 tcpThreadCount=6/ Sender className=org.apache.catalina.cluster.tcp.ReplicationTransmitter debug=4 replicationMode=asynchronous/ Valve className=org.apache.catalina.cluster.tcp.ReplicationValve debug=4 filter=.*\.gif;.*\.js;.*\.jpg;.*\.htm;.*\.html;.*\.txt;/ /Cluster From the other server set up identically (same code, same confs -- different ip) Mar 9, 2004 6:45:08 PM org.apache.catalina.cluster.tcp.SimpleTcpCluster memberDisappeared INFO: Received member disappeared:org.apache.catalina.cluster.mcast.McastMember[tcp://10.99.116.2: 4001,10.99.116.2,4001, alive=384926336] Mar 9, 2004 6:45:09 PM org.apache.catalina.cluster.tcp.SimpleTcpCluster memberAdded INFO: Replication member added:org.apache.catalina.cluster.mcast.McastMember[tcp://10.99.116.2:4001,1 0.99.116.2,4001, alive=18] Mar 9, 2004 6:45:09 PM org.apache.catalina.cluster.tcp.AsyncSocketSender init INFO: Started async sender thread for TCP replication. On Tue, 9 Mar 2004, Filip Hanik (lists) wrote: Date: Tue, 9 Mar 2004 12:17:31 -0600 From: Filip Hanik (lists) [EMAIL PROTECTED] Reply-To: Tomcat Users List [EMAIL PROTECTED] To: Tomcat Users List [EMAIL PROTECTED] Subject: RE: clustering question? request.registerRequests=false is related to jk2 and not to session replication. what is your problem with session replication? Filip - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --- Incoming mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.614 / Virus Database: 393 - Release Date: 3/5/2004 --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.614 / Virus Database: 393 - Release Date: 3/5/2004 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: clustering question?
I also stronly recommend using pooled as a replication mode, it is fast and guaranteed Filip -Original Message- From: Alex [mailto:[EMAIL PROTECTED] Sent: Tuesday, March 09, 2004 12:35 PM To: Tomcat Users List Subject: RE: clustering question? Mar 9, 2004 6:45:28 PM org.apache.jk.common.HandlerRequest decodeRequest WARNING: Error registering request This occurs when I uncomment the jk2.property noted below. All the classes that could/do/will/would get stored to session are serializable. I have two exact machines running rh 9.0 with java version 1.4.2_03 and running tomcat 5.0.19 from server.xml: Cluster className=org.apache.catalina.cluster.tcp.SimpleTcpCluster managerClassName=org.apache.catalina.cluster.session.DeltaManager expireSessionsOnShutdown=false debug=4 useDirtyFlag=true Membership className=org.apache.catalina.cluster.mcast.McastService mcastAddr=228.0.0.4 mcastPort=45564 mcastFrequency=500 debug=4 mcastDropTime=3000/ Receiver className=org.apache.catalina.cluster.tcp.ReplicationListener tcpListenAddress=10.99.116.2 tcpListenPort=4001 tcpSelectorTimeout=100 debug=4 tcpThreadCount=6/ Sender className=org.apache.catalina.cluster.tcp.ReplicationTransmitter debug=4 replicationMode=asynchronous/ Valve className=org.apache.catalina.cluster.tcp.ReplicationValve debug=4 filter=.*\.gif;.*\.js;.*\.jpg;.*\.htm;.*\.html;.*\.txt;/ /Cluster From the other server set up identically (same code, same confs -- different ip) Mar 9, 2004 6:45:08 PM org.apache.catalina.cluster.tcp.SimpleTcpCluster memberDisappeared INFO: Received member disappeared:org.apache.catalina.cluster.mcast.McastMember[tcp://10.99.116.2: 4001,10.99.116.2,4001, alive=384926336] Mar 9, 2004 6:45:09 PM org.apache.catalina.cluster.tcp.SimpleTcpCluster memberAdded INFO: Replication member added:org.apache.catalina.cluster.mcast.McastMember[tcp://10.99.116.2:4001,1 0.99.116.2,4001, alive=18] Mar 9, 2004 6:45:09 PM org.apache.catalina.cluster.tcp.AsyncSocketSender init INFO: Started async sender thread for TCP replication. On Tue, 9 Mar 2004, Filip Hanik (lists) wrote: Date: Tue, 9 Mar 2004 12:17:31 -0600 From: Filip Hanik (lists) [EMAIL PROTECTED] Reply-To: Tomcat Users List [EMAIL PROTECTED] To: Tomcat Users List [EMAIL PROTECTED] Subject: RE: clustering question? request.registerRequests=false is related to jk2 and not to session replication. what is your problem with session replication? Filip - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --- Incoming mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.614 / Virus Database: 393 - Release Date: 3/5/2004 --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.614 / Virus Database: 393 - Release Date: 3/5/2004 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: clustering question?
I put the export LD_ASSUME_KERNEL=2.4 in my startup.sh which is called and still get: Mar 9, 2004 7:11:22 PM org.apache.jk.common.HandlerRequest decodeRequest WARNING: Error registering request Thanks for the suggestion though. I've been reading and googlin' for a week now... On Tue, 9 Mar 2004, Filip Hanik (lists) wrote: Date: Tue, 9 Mar 2004 13:04:00 -0600 From: Filip Hanik (lists) [EMAIL PROTECTED] Reply-To: Tomcat Users List [EMAIL PROTECTED] To: Tomcat Users List [EMAIL PROTECTED] Subject: RE: clustering question? on RH9, you MUST set export LD_ASSUME_KERNEL=2.4 before starting your Java process. There is a bug in the java.nio package Filip - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: clustering question?
Once I can get it working i'll be playing and see what suits the application setup best. On Tue, 9 Mar 2004, Filip Hanik (lists) wrote: Date: Tue, 9 Mar 2004 13:04:31 -0600 From: Filip Hanik (lists) [EMAIL PROTECTED] Reply-To: Tomcat Users List [EMAIL PROTECTED] To: Tomcat Users List [EMAIL PROTECTED] Subject: RE: clustering question? I also stronly recommend using pooled as a replication mode, it is fast and guaranteed - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: clustering question?
to get session replication working, take jk2 out of the equation first. use a loadbalancer like balance (balance.sourceforge.net) or pen (siag.nu) Filip -Original Message- From: Alex [mailto:[EMAIL PROTECTED] Sent: Tuesday, March 09, 2004 12:58 PM To: Tomcat Users List Subject: RE: clustering question? I put the export LD_ASSUME_KERNEL=2.4 in my startup.sh which is called and still get: Mar 9, 2004 7:11:22 PM org.apache.jk.common.HandlerRequest decodeRequest WARNING: Error registering request Thanks for the suggestion though. I've been reading and googlin' for a week now... On Tue, 9 Mar 2004, Filip Hanik (lists) wrote: Date: Tue, 9 Mar 2004 13:04:00 -0600 From: Filip Hanik (lists) [EMAIL PROTECTED] Reply-To: Tomcat Users List [EMAIL PROTECTED] To: Tomcat Users List [EMAIL PROTECTED] Subject: RE: clustering question? on RH9, you MUST set export LD_ASSUME_KERNEL=2.4 before starting your Java process. There is a bug in the java.nio package Filip - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --- Incoming mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.614 / Virus Database: 393 - Release Date: 3/5/2004 --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.614 / Virus Database: 393 - Release Date: 3/5/2004 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: clustering question?
jk2 is only being utilized to provide the connection between IIS5.0 and tomcat using ajp13. when i've been testing, this is going direct to tomcats port 8080 and utilizing the tomcat web server. if i understand it properly, when the session is instantiated on one server, it's replicated via tcp to the other's that are listening and added to the pool that's been discovered by the multicast. correct? On Tue, 9 Mar 2004, Filip Hanik (lists) wrote: Date: Tue, 9 Mar 2004 13:34:45 -0600 From: Filip Hanik (lists) [EMAIL PROTECTED] Reply-To: Tomcat Users List [EMAIL PROTECTED] To: Tomcat Users List [EMAIL PROTECTED] Subject: RE: clustering question? to get session replication working, take jk2 out of the equation first. use a loadbalancer like balance (balance.sourceforge.net) or pen (siag.nu) Filip - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: clustering question?
that is correct, should work out of the box :) Filip -Original Message- From: Alex [mailto:[EMAIL PROTECTED] Sent: Tuesday, March 09, 2004 1:23 PM To: Tomcat Users List Subject: RE: clustering question? jk2 is only being utilized to provide the connection between IIS5.0 and tomcat using ajp13. when i've been testing, this is going direct to tomcats port 8080 and utilizing the tomcat web server. if i understand it properly, when the session is instantiated on one server, it's replicated via tcp to the other's that are listening and added to the pool that's been discovered by the multicast. correct? On Tue, 9 Mar 2004, Filip Hanik (lists) wrote: Date: Tue, 9 Mar 2004 13:34:45 -0600 From: Filip Hanik (lists) [EMAIL PROTECTED] Reply-To: Tomcat Users List [EMAIL PROTECTED] To: Tomcat Users List [EMAIL PROTECTED] Subject: RE: clustering question? to get session replication working, take jk2 out of the equation first. use a loadbalancer like balance (balance.sourceforge.net) or pen (siag.nu) Filip - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --- Incoming mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.614 / Virus Database: 393 - Release Date: 3/5/2004 --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.614 / Virus Database: 393 - Release Date: 3/5/2004 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: clustering question?
my box isn't pretty. i've also had some other weirdness which others haven't experienced. some odd jndi errors, rah rah rah. anyways, it doesn't work. between this and not being able to get jk2 to do sticky sessions, i'm going nuts. have two different routes to go and neither are working. *sigh* On Tue, 9 Mar 2004, Filip Hanik (lists) wrote: Date: Tue, 9 Mar 2004 13:44:08 -0600 From: Filip Hanik (lists) [EMAIL PROTECTED] Reply-To: Tomcat Users List [EMAIL PROTECTED] To: Tomcat Users List [EMAIL PROTECTED] Subject: RE: clustering question? that is correct, should work out of the box :) Filip - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: clustering question?
Hi, The register requests error is independent of the cluster setup ( like Filip said ) and will in no way affect it. Beyond that, the register requests error is completely harmless ( see http://www.mail-archive.com/[EMAIL PROTECTED]/msg119877.html ) and does not prevent me from providing stickySessions or clustering. You should enable logging for the package org.apache.catalina.cluster ( i use JDK14 logging so ask me if that's what you're using ) to see if replication is occurring. hth, -a Alex wrote: my box isn't pretty. i've also had some other weirdness which others haven't experienced. some odd jndi errors, rah rah rah. anyways, it doesn't work. between this and not being able to get jk2 to do sticky sessions, i'm going nuts. have two different routes to go and neither are working. *sigh* On Tue, 9 Mar 2004, Filip Hanik (lists) wrote: Date: Tue, 9 Mar 2004 13:44:08 -0600 From: Filip Hanik (lists) [EMAIL PROTECTED] Reply-To: Tomcat Users List [EMAIL PROTECTED] To: Tomcat Users List [EMAIL PROTECTED] Subject: RE: clustering question? that is correct, should work out of the box :) Filip - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: clustering question?
log4j for the application. i really don't believe replication is occuring. i see nothing in the application logs, localhost_log or catalina.out aside from the error On Tue, 9 Mar 2004, Aadi Deshpande wrote: Date: Tue, 09 Mar 2004 16:29:36 -0500 From: Aadi Deshpande [EMAIL PROTECTED] Reply-To: Tomcat Users List [EMAIL PROTECTED] To: Tomcat Users List [EMAIL PROTECTED] Subject: Re: clustering question? Hi, The register requests error is independent of the cluster setup ( like Filip said ) and will in no way affect it. Beyond that, the register requests error is completely harmless ( see http://www.mail-archive.com/[EMAIL PROTECTED]/msg119877.html ) and does not prevent me from providing stickySessions or clustering. You should enable logging for the package org.apache.catalina.cluster ( i use JDK14 logging so ask me if that's what you're using ) to see if replication is occurring. hth, -a - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: clustering question?
like many other people, you probably don't have the element distributable/ in your web.xml Filip log4j for the application. i really don't believe replication is occuring. i see nothing in the application logs, localhost_log or catalina.out aside from the error On Tue, 9 Mar 2004, Aadi Deshpande wrote: Date: Tue, 09 Mar 2004 16:29:36 -0500 From: Aadi Deshpande [EMAIL PROTECTED] Reply-To: Tomcat Users List [EMAIL PROTECTED] To: Tomcat Users List [EMAIL PROTECTED] Subject: Re: clustering question? Hi, The register requests error is independent of the cluster setup ( like Filip said ) and will in no way affect it. Beyond that, the register requests error is completely harmless ( see http://www.mail-archive.com/[EMAIL PROTECTED]/msg119877.html ) and does not prevent me from providing stickySessions or clustering. You should enable logging for the package org.apache.catalina.cluster ( i use JDK14 logging so ask me if that's what you're using ) to see if replication is occurring. hth, -a - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: clustering question?
Filip, thanks for the reply. I do indeed have that tag in web.xml for that web application. session-config session-timeout40/session-timeout /session-config distributable/ /web-app this is correct, yes? On Tue, 9 Mar 2004 [EMAIL PROTECTED] wrote: Date: Tue, 9 Mar 2004 22:36:10 -0500 (EST) From: [EMAIL PROTECTED] Reply-To: Tomcat Users List [EMAIL PROTECTED] To: [EMAIL PROTECTED] Subject: Re: clustering question? like many other people, you probably don't have the element distributable/ in your web.xml Filip - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: clustering question?
Alex wrote, On 3/9/2004 10:26 PM: thanks for the reply. I do indeed have that tag in web.xml for that web application. session-config session-timeout40/session-timeout /session-config distributable/ /web-app this is correct, yes? The distributable element should go before any context-param elements and after any description elements. See the DTD for the correct order of elements in the web.xml file. http://java.sun.com/j2ee/dtds/web-app_2_2.dtd http://java.sun.com/dtd/web-app_2_3.dtd -Dave - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: clustering tomcat 5.0.19 issues
1) context manager doesn't exist. yep, I am only printing this because of debug. All this means is that you are a member of the cluster but the server has not fully started up yet. hence you are receiving messages for a non existent context. 2)Unable to send replicated message, is server down? One of your nodes is not responding to messages, either you have some IP misconfiguration or something else is blocking the messages. I will add more info to that message to be able to track the problem down 3) SEVERE: TCP Worker thread in cluster caught 'java.io.IOException: While reading a message from another node, that node disappeared, got disconnected. This is also fine and should not affect your system any other questions, just let me know. someone else can answer your mod_jk load balancing questions. Filip -Original Message- From: shyam [mailto:[EMAIL PROTECTED] Sent: Wednesday, March 03, 2004 2:40 PM To: 'Tomcat Users List' Subject: clustering tomcat 5.0.19 issues Hi All, I have done clustering of tomcat. I have two different machines running tomcat which join the cluster. I am testing my application . But in between I see some errors like 1) context manager doesn't exist. 2)Unable to send replicated message, is server down? 3) SEVERE: TCP Worker thread in cluster caught 'java.io.IOException: An established connection was aborted by the software in your host machine' closing channel It would be grateful if somebody can tell what are these errors for . And also I have another query. I have my apache as the load balancer. Currently the requests are dispatched to each tomcat by the apache. I want this dispatch to happen in a specific way like one tomcat getting 2 requests and other getting just one request. Like a ratio of 2:1 . How can I do it ? Thanks in advance shyam - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --- Incoming mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.594 / Virus Database: 377 - Release Date: 2/24/2004 --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.594 / Virus Database: 377 - Release Date: 2/24/2004 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Clustering Tomcat 5.0.19
works just fine for me. The configuration file changed between version 0.16 and 0.19, so make sure you have the 0.19 server.xml Filip -Original Message- From: Duma Rolando [mailto:[EMAIL PROTECTED] Sent: Monday, March 01, 2004 9:22 AM To: [EMAIL PROTECTED] Subject: Clustering Tomcat 5.0.19 Hi all, I have a problem running Tomcat 5.0.19 on HP Itanium with JRockit 1.4.2. If I comment out the Cluster ReplicationValve from server.xml as mentioned in the docs, leaving the default attribute values my catalina.out shows the following exception: GRAVE: Unable to start cluster. java.lang.NullPointerException at org.apache.commons.beanutils.MethodUtils.invokeMethod(Ljava.lang.Object;Ljav a.lang.String;[Ljava.lang.Object;)Ljava.lang.Object;(MethodUtils.java:196) at org.apache.commons.beanutils.MethodUtils.invokeMethod(Ljava.lang.Object;Ljav a.lang.String;Ljava.lang.Object;)Ljava.lang.Object;(MethodUtils.java:150) at org.apache.catalina.cluster.tcp.SimpleTcpCluster.start()V(SimpleTcpCluster.j ava:413) at org.apache.catalina.core.ContainerBase.start()V(ContainerBase.java:1116) at org.apache.catalina.core.StandardHost.start()V(StandardHost.java:832) at org.apache.catalina.core.ContainerBase.start()V(ContainerBase.java:1126) at org.apache.catalina.core.StandardEngine.start()V(StandardEngine.java:521) at org.apache.catalina.core.StandardService.start()V(StandardService.java:519) at org.apache.catalina.core.StandardServer.start()V(StandardServer.java:2345) at org.apache.catalina.startup.Catalina.start()V(Catalina.java:594) at jrockit.reflect.NativeMethodInvoker.invoke0(Ljava.lang.Object;JLjava.lang.Ob ject;[Ljava.lang.Object;)Ljava.lang.Object;(Unknown Source) at jrockit.reflect.NativeMethodInvoker.invoke(Ljava.lang.Object;[Ljava.lang.Obj ect;)Ljava.lang.Object;(Unknown Source) at jrockit.reflect.VirtualNativeMethodInvoker.invoke(Ljava.lang.Object;[Ljava.l ang.Object;)Ljava.lang.Object;(Unknown Source) at java.lang.reflect.Method.invoke(Ljava.lang.Object;[Ljava.lang.Object;J)Ljava .lang.Object;(Unknown Source) at org.apache.catalina.startup.Bootstrap.start()V(Bootstrap.java:297) at org.apache.catalina.startup.Bootstrap.main([Ljava.lang.String;)V(Bootstrap.j ava:398) 1-mar-2004 17.30.07 org.apache.catalina.startup.Catalina start GRAVE: Catalina.start: LifecycleException: java.lang.NullPointerException at org.apache.catalina.cluster.tcp.SimpleTcpCluster.start()V(SimpleTcpCluster.j ava:424) at org.apache.catalina.core.ContainerBase.start()V(ContainerBase.java:1116) at org.apache.catalina.core.StandardHost.start()V(StandardHost.java:832) at org.apache.catalina.core.ContainerBase.start()V(ContainerBase.java:1126) at org.apache.catalina.core.StandardEngine.start()V(StandardEngine.java:521) at org.apache.catalina.core.StandardService.start()V(StandardService.java:519) at org.apache.catalina.core.StandardServer.start()V(StandardServer.java:2345) Can anyone help me? Thanks in advance. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --- Incoming mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.594 / Virus Database: 377 - Release Date: 2/24/2004 --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.594 / Virus Database: 377 - Release Date: 2/24/2004 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Clustering question...
As I was not involved in the design decision, I can not say whether or not that it is a good call or not. But the reason that we need application context replication is that the entire site serves up relatively static data(infrequent updates) to all of it the users. They did not feel that hitting the DB every time a page is accessed was efficient. Rick Filip Hanik wrote: application context data doesn't get replicated, since this is not tied to a user, hence it doesn't serve any purpose in fail over. ie, what ever got stored in application context on server A, should have got stored on B by the same mechanism, not by session replication. Is there a huge need to replicate context data? Filip - Original Message - From: Rick Szeto [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Monday, January 19, 2004 1:53 PM Subject: Clustering question... Hi All, I have question about synchronizing data within the application context. If the data of a webapp's application context changes within one of the nodes in the cluster, how does the other nodes get the updated application context data? Is it handle the same way as user session data(via some session manager implementation)? Or does the change(s) get distributed? Thanks for any help you can give, Rick Szeto - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Clustering question...
if I understand correctly, you have multiple tomcat instances. 1. each system has the same webapp 2. each system caches data locally 3. you want to update the application context 4. you want the cluster to replicate the application context 5. you didn't design it and have to live with it replicating the app context ideally should happen in a push manner if being in sync is of any importance. I'm not convinced enhancing the exist session replication is the best way to handle this because the data could be huge. Even if the documentation were to state, do not put large amounts of data in the application context, people will still do it and blame tomcat. the worse part is caching app context data means an additional burden on the session replication mechanism, which is dangerous. It might be better off for your app context to register for updates with a JMS server. this way, changes can be pushed to the tomcat instances. Or something equivalent to a push mechanism. peter lin Rick Szeto [EMAIL PROTECTED] wrote: As I was not involved in the design decision, I can not say whether or not that it is a good call or not. But the reason that we need application context replication is that the entire site serves up relatively static data(infrequent updates) to all of it the users. They did not feel that hitting the DB every time a page is accessed was efficient. Rick - Do you Yahoo!? Yahoo! Hotjobs: Enter the Signing Bonus Sweepstakes
Re: Clustering question...
As of now I don' think the Tomcat clustering code of Filip supports any of what you ask. The only thing replicated is the session and the date within. The principal is not replicated as of yet. (I think Filip is working on that) You will have to find another centralized spot to store those data for each node to access. Jean-Philippe Bélanger CGI Rick Szeto wrote: Hi All, I have question about synchronizing data within the application context. If the data of a webapp's application context changes within one of the nodes in the cluster, how does the other nodes get the updated application context data? Is it handle the same way as user session data(via some session manager implementation)? Or does the change(s) get distributed? Thanks for any help you can give, Rick Szeto - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Clustering question...
Ok, thanks for your quick response. Rick [EMAIL PROTECTED] wrote: As of now I don' think the Tomcat clustering code of Filip supports any of what you ask. The only thing replicated is the session and the date within. The principal is not replicated as of yet. (I think Filip is working on that) You will have to find another centralized spot to store those data for each node to access. Jean-Philippe Bélanger CGI Rick Szeto wrote: Hi All, I have question about synchronizing data within the application context. If the data of a webapp's application context changes within one of the nodes in the cluster, how does the other nodes get the updated application context data? Is it handle the same way as user session data(via some session manager implementation)? Or does the change(s) get distributed? Thanks for any help you can give, Rick Szeto - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Clustering question...
I replicate the principal with the DeltaManager, a manager that only replicates changes instead of the entire session. to use the DeltaManager in T5 clustering, add the attribute to your cluster element in server.xml managerClassName=org.apache.catalina.cluster.session.DeltaManager I am still working on performance enhancement for this class but it is ready to go. Filip - Original Message - From: Rick Szeto [EMAIL PROTECTED] To: Tomcat Users List [EMAIL PROTECTED] Sent: Tuesday, January 20, 2004 11:09 AM Subject: Re: Clustering question... Ok, thanks for your quick response. Rick [EMAIL PROTECTED] wrote: As of now I don' think the Tomcat clustering code of Filip supports any of what you ask. The only thing replicated is the session and the date within. The principal is not replicated as of yet. (I think Filip is working on that) You will have to find another centralized spot to store those data for each node to access. Jean-Philippe Bélanger CGI Rick Szeto wrote: Hi All, I have question about synchronizing data within the application context. If the data of a webapp's application context changes within one of the nodes in the cluster, how does the other nodes get the updated application context data? Is it handle the same way as user session data(via some session manager implementation)? Or does the change(s) get distributed? Thanks for any help you can give, Rick Szeto - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Clustering question...
application context data doesn't get replicated, since this is not tied to a user, hence it doesn't serve any purpose in fail over. ie, what ever got stored in application context on server A, should have got stored on B by the same mechanism, not by session replication. Is there a huge need to replicate context data? Filip - Original Message - From: Rick Szeto [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Monday, January 19, 2004 1:53 PM Subject: Clustering question... Hi All, I have question about synchronizing data within the application context. If the data of a webapp's application context changes within one of the nodes in the cluster, how does the other nodes get the updated application context data? Is it handle the same way as user session data(via some session manager implementation)? Or does the change(s) get distributed? Thanks for any help you can give, Rick Szeto - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Clustering question...
sounds more like cluster deployment tool and not replication at runtime. since tomcat 5 now uses JMX, writing a cluster deployment tool should be straight forward. peter Filip Hanik [EMAIL PROTECTED] wrote: application context data doesn't get replicated, since this is not tied to a user, hence it doesn't serve any purpose in fail over. ie, what ever got stored in application context on server A, should have got stored on B by the same mechanism, not by session replication. Is there a huge need to replicate context data? Filip - Original Message - From: Rick Szeto To: Sent: Monday, January 19, 2004 1:53 PM Subject: Clustering question... Hi All, I have question about synchronizing data within the application context. If the data of a webapp's application context changes within one of the nodes in the cluster, how does the other nodes get the updated application context data? Is it handle the same way as user session data(via some session manager implementation)? Or does the change(s) get distributed? Thanks for any help you can give, Rick Szeto - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - Do you Yahoo!? Yahoo! Hotjobs: Enter the Signing Bonus Sweepstakes
RE: Clustering question...
we are talking about context data (context.setAttribute), not the context itself which you are referring to as the application. Filip -Original Message- From: Peter Lin [mailto:[EMAIL PROTECTED] Sent: Tuesday, January 20, 2004 6:04 PM To: Tomcat Users List Subject: Re: Clustering question... sounds more like cluster deployment tool and not replication at runtime. since tomcat 5 now uses JMX, writing a cluster deployment tool should be straight forward. peter Filip Hanik [EMAIL PROTECTED] wrote: application context data doesn't get replicated, since this is not tied to a user, hence it doesn't serve any purpose in fail over. ie, what ever got stored in application context on server A, should have got stored on B by the same mechanism, not by session replication. Is there a huge need to replicate context data? Filip - Original Message - From: Rick Szeto To: Sent: Monday, January 19, 2004 1:53 PM Subject: Clustering question... Hi All, I have question about synchronizing data within the application context. If the data of a webapp's application context changes within one of the nodes in the cluster, how does the other nodes get the updated application context data? Is it handle the same way as user session data(via some session manager implementation)? Or does the change(s) get distributed? Thanks for any help you can give, Rick Szeto - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - Do you Yahoo!? Yahoo! Hotjobs: Enter the Signing Bonus Sweepstakes - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Clustering Tomcat - Loadbalancing and Failover
mcastAddr=228.1.2.3 used for membership, tcpListenAddress and tcpListenPort indicate TCP for transporting the actual session. What is in place for security? Ideally you would only replicate data behind your own firewall, if you replicate data in a public zone, you are on your own. So the answer is, there is no security, never saw a need for it. Let me know ify ou have a different perspective Does the cluster support loadbalancing? or failover? how can its config be tweeked? it is session replication, and does exactly that, replicates session. Load balancing and fail over you need to have in front of tomcat Filip - Original Message - From: Hanasaki JiJi [EMAIL PROTECTED] To: Tomcat Users List [EMAIL PROTECTED] Sent: Saturday, October 11, 2003 6:22 AM Subject: Re: Clustering Tomcat - Loadbalancing and Failover Very nice! does the mcastAddr=228.1.2.3 imply tcp multicasting using java.net.MulticastSocket? What is in place for security? Does the cluster support loadbalancing? or failover? how can its config be tweeked? The filter, shown at the link provided, doesnt seem to support jsp/servlets. can this be done too? how? thanks again = = Management is doing things right; leadership is doing the = = right things.- Peter Drucker= =___= = http://www.sun.com/service/sunps/jdc/javacenter.pdf = = www.sun.com | www.javasoft.com | http://www.sun.com/sunone = = Filip Hanik wrote: http://cvs.apache.org/~fhanik/ how are session states replicated? once, after the entire request is completed. If the session is not dirty, no replication will be done Doesn't use java groups, instead pure UDP/TCP. Filip - Original Message - From: jerome moliere [EMAIL PROTECTED] To: Tomcat Users List [EMAIL PROTECTED] Sent: Wednesday, October 08, 2003 11:34 PM Subject: Re: Clustering Tomcat - Loadbalancing and Failover Hanasaki JiJi wrote: Hello, What is available, in Tomcat, or as an add-on, and preferably free/open-source to cluster tomcat for: load balancing fail over humm filip hanik could answer with more details (or remy maucherat) but as far as I know new Tomcat 5 code (backported to 4.1) use the Javagroups library for replication mechanism. For tomcat 4.1, adding jars (javagroups + patch) is enough to add theses features... For tomcat 5, nothing needed because it's one of the new features... how are session states replicated? It's one of the limits of this system, because every put made, induces replication for the entire object using broadcast (by default). So heavy traffic... Also, in general, and a bit off-topic (my apologies), are there any resources for the design, or open source implementation, of load balancing / fail-over frameworks? javagroups :) google may point you to the current address !!! I think that this porject recently joined the JBOSS project Thanks Jerome - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]