Session replication filling up catalina.out
Hey, Is there a way to turn off the following log statements for Tomcat's session replication? Member disappeared:tcp://192.168.69.44:4005 Member disappeared:tcp://192.168.69.44:4005 Member disappeared:tcp://192.168.69.44:4005 Member disappeared:tcp://192.168.69.44:4005 Member disappeared:tcp://192.168.69.44:4005 Member added:tcp://192.168.69.44:4005 Member added:tcp://192.168.69.44:4005 Member added:tcp://192.168.69.44:4005 Member added:tcp://192.168.69.44:4005 Member added:tcp://192.168.69.44:4005 I have set the debug level to 0 for the Manager, but these lines keep flooding in... Any ideas? Thanks
Deserializing data objects using InMemoryReplicationManager on Tomcat cluster
I have noticed when using the InMemoryReplicationManager for web applications on a Tomcat cluster that you will encounter a ClassNotFoundException when trying to deserialize the session contents of serialized data objects specific to the web application (i.e. a given web application may have an Employee class that is stored in the session). Although this ClassNotFoundException is thrown by the InMemoryReplicationManager, it appears that the class actually is deserialized and replicated across the nodes of the cluster. My question is if this is an accurate assertion despite the ClassNotFoundException? Also, why is there a ClassNotFoundException being thrown? Is this because the InMemoryReplicationManager does not use the Web Application Class Loader, Shared Class Loader, etc.?
RE: Deserializing data objects using InMemoryReplicationManager on Tomcat cluster
WEB-INF/classes/some.package.Employee If this Employee object is put in the session and then replicated across the nodes for the given web application, the other nodes will have ClassNotFoundExceptions when the InMemoryReplicationManager goes to deserialize the session contents. I see this exception in catalina.out when the debug level for the InMemoryReplicationManager is set to 10. -Original Message- From: Filip Hanik [mailto:[EMAIL PROTECTED] Sent: Friday, June 13, 2003 11:01 AM To: Tomcat Users List Subject: RE: Deserializing data objects using InMemoryReplicationManager on Tomcat cluster I haven't seen this problem, where is your Employee class file sitting? Filip -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Sent: Friday, June 13, 2003 8:24 AM To: [EMAIL PROTECTED] Subject: Deserializing data objects using InMemoryReplicationManager on Tomcat cluster I have noticed when using the InMemoryReplicationManager for web applications on a Tomcat cluster that you will encounter a ClassNotFoundException when trying to deserialize the session contents of serialized data objects specific to the web application (i.e. a given web application may have an Employee class that is stored in the session). Although this ClassNotFoundException is thrown by the InMemoryReplicationManager, it appears that the class actually is deserialized and replicated across the nodes of the cluster. My question is if this is an accurate assertion despite the ClassNotFoundException? Also, why is there a ClassNotFoundException being thrown? Is this because the InMemoryReplicationManager does not use the Web Application Class Loader, Shared Class Loader, etc.? - 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: Deserializing data objects using InMemoryReplicationManager on Tomcat cluster
Sorry, I meant / not . I have this running on a two node cluster, and even though the logs show this message on both nodes in catalina.out, I know that the data is replicating. I can shutdown one node, and the session data has persisted on the other. Here is the log message: [InMemoryReplicationManager] Failed to deserialize the session! java.lang.ClassNotFoundException: [Lnet.afni.webdevelopment.peoplesoftbonus.data.BonusSearchData; at org.apache.catalina.loader.StandardClassLoader.loadClass(Unknown Source) at org.apache.catalina.loader.StandardClassLoader.loadClass(Unknown Source) at org.apache.catalina.session.ReplicationStream.resolveClass(ReplicationStream .java:124) at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1513) at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1435) at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1560) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1271) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:324) at org.apache.catalina.session.StandardSession.readObject(Unknown Source) at org.apache.catalina.session.StandardSession.readObjectData(Unknown Source) at org.apache.catalina.session.ReplicatedSession.readObjectData(ReplicatedSessi on.java:334) at org.apache.catalina.session.InMemoryReplicationManager.readSession(InMemoryR eplicationManager.java:529) at org.apache.catalina.session.InMemoryReplicationManager.messageReceived(InMem oryReplicationManager.java:831) at org.apache.catalina.session.InMemoryReplicationManager.messageDataReceived(I nMemoryReplicationManager.java:915) at org.apache.catalina.cluster.ObjectReader.append(ObjectReader.java:45) at org.apache.catalina.cluster.WorkerThread.drainChannel(WorkerThread.java:121) at org.apache.catalina.cluster.WorkerThread.run(WorkerThread.java:60) [InMemoryReplicationManager] Unable to receive message through TCP channel java.lang.NullPointerException at org.apache.catalina.session.InMemoryReplicationManager.messageReceived(InMem oryReplicationManager.java:832) at org.apache.catalina.session.InMemoryReplicationManager.messageDataReceived(I nMemoryReplicationManager.java:915) at org.apache.catalina.cluster.ObjectReader.append(ObjectReader.java:45) at org.apache.catalina.cluster.WorkerThread.drainChannel(WorkerThread.java:121) at org.apache.catalina.cluster.WorkerThread.run(WorkerThread.java:60) -Original Message- From: Filip Hanik [mailto:[EMAIL PROTECTED] Sent: Friday, June 13, 2003 11:13 AM To: Tomcat Users List Subject: RE: Deserializing data objects using InMemoryReplicationManager on Tomcat cluster it should be in WEB-INF/classes/some/package/Employee.class is that what you meant? never had this problem myself, what version of Tomcat? also, can you send the log trace for this Filip -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Sent: Friday, June 13, 2003 9:10 AM To: [EMAIL PROTECTED] Subject: RE: Deserializing data objects using InMemoryReplicationManager on Tomcat cluster WEB-INF/classes/some.package.Employee If this Employee object is put in the session and then replicated across the nodes for the given web application, the other nodes will have ClassNotFoundExceptions when the InMemoryReplicationManager goes to deserialize the session contents. I see this exception in catalina.out when the debug level for the InMemoryReplicationManager is set to 10. -Original Message- From: Filip Hanik [mailto:[EMAIL PROTECTED] Sent: Friday, June 13, 2003 11:01 AM To: Tomcat Users List Subject: RE: Deserializing data objects using InMemoryReplicationManager on Tomcat cluster I haven't seen this problem, where is your Employee class file sitting? Filip -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Sent: Friday, June 13, 2003 8:24 AM To: [EMAIL PROTECTED] Subject: Deserializing data objects using InMemoryReplicationManager on Tomcat cluster I have noticed when using the InMemoryReplicationManager for web applications on a Tomcat cluster that you will encounter a ClassNotFoundException when trying to deserialize the session contents of serialized data objects specific to the web application (i.e. a given web application may have an Employee class that is stored in the session). Although this ClassNotFoundException is thrown by the InMemoryReplicationManager, it appears that the class actually is deserialized and replicated across the nodes of the cluster. My question is if this is an accurate assertion despite the ClassNotFoundException? Also, why is there a ClassNotFoundException being thrown? Is this because the InMemoryReplicationManager does not use the Web Application Class Loader, Shared Class
RE: Deserializing data objects using InMemoryReplicationManager on Tomcat cluster
WEB-INF/classes/net/afni/webdevelopment/peoplesoftbonus/data/BonusSearchData -Original Message- From: Filip Hanik [mailto:[EMAIL PROTECTED] Sent: Friday, June 13, 2003 11:41 AM To: Tomcat Users List Subject: RE: Deserializing data objects using InMemoryReplicationManager on Tomcat cluster where is this class located? net.afni.webdevelopment.peoplesoftbonus.data.BonusSearchData Filip -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Sent: Friday, June 13, 2003 9:34 AM To: [EMAIL PROTECTED] Subject: RE: Deserializing data objects using InMemoryReplicationManager on Tomcat cluster Sorry, I meant / not . I have this running on a two node cluster, and even though the logs show this message on both nodes in catalina.out, I know that the data is replicating. I can shutdown one node, and the session data has persisted on the other. Here is the log message: [InMemoryReplicationManager] Failed to deserialize the session! java.lang.ClassNotFoundException: [Lnet.afni.webdevelopment.peoplesoftbonus.data.BonusSearchData; at org.apache.catalina.loader.StandardClassLoader.loadClass(Unknown Source) at org.apache.catalina.loader.StandardClassLoader.loadClass(Unknown Source) at org.apache.catalina.session.ReplicationStream.resolveClass(Replica tionStream .java:124) at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1513) at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1435) at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1560) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1271) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:324) at org.apache.catalina.session.StandardSession.readObject(Unknown Source) at org.apache.catalina.session.StandardSession.readObjectData(Unknown Source) at org.apache.catalina.session.ReplicatedSession.readObjectData(Repli catedSessi on.java:334) at org.apache.catalina.session.InMemoryReplicationManager.readSession (InMemoryR eplicationManager.java:529) at org.apache.catalina.session.InMemoryReplicationManager.messageRece ived(InMem oryReplicationManager.java:831) at org.apache.catalina.session.InMemoryReplicationManager.messageData Received(I nMemoryReplicationManager.java:915) at org.apache.catalina.cluster.ObjectReader.append(ObjectReader.java:45) at org.apache.catalina.cluster.WorkerThread.drainChannel(WorkerThread .java:121) at org.apache.catalina.cluster.WorkerThread.run(WorkerThread.java:60) [InMemoryReplicationManager] Unable to receive message through TCP channel java.lang.NullPointerException at org.apache.catalina.session.InMemoryReplicationManager.messageRece ived(InMem oryReplicationManager.java:832) at org.apache.catalina.session.InMemoryReplicationManager.messageData Received(I nMemoryReplicationManager.java:915) at org.apache.catalina.cluster.ObjectReader.append(ObjectReader.java:45) at org.apache.catalina.cluster.WorkerThread.drainChannel(WorkerThread .java:121) at org.apache.catalina.cluster.WorkerThread.run(WorkerThread.java:60) -Original Message- From: Filip Hanik [mailto:[EMAIL PROTECTED] Sent: Friday, June 13, 2003 11:13 AM To: Tomcat Users List Subject: RE: Deserializing data objects using InMemoryReplicationManager on Tomcat cluster it should be in WEB-INF/classes/some/package/Employee.class is that what you meant? never had this problem myself, what version of Tomcat? also, can you send the log trace for this Filip -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Sent: Friday, June 13, 2003 9:10 AM To: [EMAIL PROTECTED] Subject: RE: Deserializing data objects using InMemoryReplicationManager on Tomcat cluster WEB-INF/classes/some.package.Employee If this Employee object is put in the session and then replicated across the nodes for the given web application, the other nodes will have ClassNotFoundExceptions when the InMemoryReplicationManager goes to deserialize the session contents. I see this exception in catalina.out when the debug level for the InMemoryReplicationManager is set to 10. -Original Message- From: Filip Hanik [mailto:[EMAIL PROTECTED] Sent: Friday, June 13, 2003 11:01 AM To: Tomcat Users List Subject: RE: Deserializing data objects using InMemoryReplicationManager on Tomcat cluster I haven't seen this problem, where is your Employee class file sitting? Filip -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Sent: Friday, June 13, 2003 8:24 AM To: [EMAIL PROTECTED] Subject: Deserializing data objects using InMemoryReplicationManager on Tomcat cluster I have noticed when using
Tomcat 4.1.24 clustering and server.xml changes
I am currently using the clustering capabilities provided for Tomcat 4 found at http://cvs.apache.org/~fhanik/index.html http://cvs.apache.org/~fhanik/index.html . One of the nice features this allows for is session replication via multicasting. By using the specified server.xml tags (Manager, Valve, etc.) you can have a cluster replicating session information across the various nodes. For deploying to the clustered environments, I use Tomcat's manager. This approach allows for a context.xml to be placed in the META-INF directory of a given web application which defines the necessary Manager and Valve tags to be written into the server.xml when doing deploy tasks. I have noticed that when the server.xml is updated via the manager when doing deployments, the Manager and Valve tags are written completely different from the specified context.xml provided in META-INF. An example of this would be: CONTEXT.XML: Context className=org.apache.catalina.core.StandardContext cachingAllowed=true charsetMapperClass=org.apache.catalina.util.CharsetMapper cookies=true crossContext=false debug=0 docBase=/var/tomcat4/webapps/test mapperClass=org.apache.catalina.core.StandardContextMapper path=/test privileged=false reloadable=false swallowOutput=false useNaming=true wrapperClass=org.apache.catalina.core.StandardWrapper Valve className=org.apache.catalina.session.ReplicationValve filter=.*\.gif;.*\.jpg;.*\.jpeg;.*\.js debug=0/ Manager className=org.apache.catalina.session.InMemoryReplicationManager debug=1 printToScreen=true saveOnRestart=false maxActiveSessions=-1 minIdleSwap=-1 maxIdleSwap=-1 maxIdleBackup=-1 pathname=null printSessionInfo=true checkInterval=10 expireSessionsOnShutdown=false serviceclass=org.apache.catalina.cluster.mcast.McastService mcastAddr=228.1.2.3 mcastPort=45566 mcastFrequency=5000 mcastDropTime=5000 tcpListenAddress=auto tcpListenPort=4003 tcpSelectorTimeout=100 tcpThreadCount=3 useDirtyFlag=true /Manager /Context MANAGER CREATED SERVER.XML: Context className=org.apache.catalina.core.StandardContext cachingAllowed=true charsetMapperClass=org.apache.catalina.util.CharsetMapper cookies=true crossContext=false debug=0 docBase=/var/tomcat4/work/Standalone/localhost/manager/test.war mapperClass=org.apache.catalina.core.StandardContextMapper path=/test privileged=false reloadable=false swallowOutput=false useNaming=true wrapperClass=org.apache.catalina.core.StandardWrapper Manager className=org.apache.catalina.session.InMemoryReplicationManager algorithm=MD5 checkInterval=10 debug=1 distributable=false duplicates=0 entropy=[EMAIL PROTECTED] expireSessionsOnShutdown=false expiredSessions=0 maxActive=1 maxActiveSessions=-1 maxInactiveInterval=1728000 pathname=null randomClass=java.security.SecureRandom rejectedSessions=0 sessionCounter=0 /Manager Valve className=org.apache.catalina.session.ReplicationValve debug=0/ /Context This redefining of the tag structure by the manager appears to prevent the session replication via multicasting to work when the Tomcat server is restarted. My question is why and or how does the manager write the contents of the server.xml differently from that specified in the context.xml? Any input on this process would be appreciated.
RE: Tomcat 4.1.24 clustering and server.xml changes
Thanks, Other than this little annoyance, the clustering and session replication works great! -Original Message- From: Filip Hanik [mailto:[EMAIL PROTECTED] Sent: Thursday, June 12, 2003 12:59 PM To: Tomcat Users List Subject: RE: Tomcat 4.1.24 clustering and server.xml changes aah, that sucks, I'm gonna have to look into that. Filip -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Sent: Thursday, June 12, 2003 6:32 AM To: [EMAIL PROTECTED] Subject: Tomcat 4.1.24 clustering and server.xml changes I am currently using the clustering capabilities provided for Tomcat 4 found at http://cvs.apache.org/~fhanik/index.html http://cvs.apache.org/~fhanik/index.html . One of the nice features this allows for is session replication via multicasting. By using the specified server.xml tags (Manager, Valve, etc.) you can have a cluster replicating session information across the various nodes. For deploying to the clustered environments, I use Tomcat's manager. This approach allows for a context.xml to be placed in the META-INF directory of a given web application which defines the necessary Manager and Valve tags to be written into the server.xml when doing deploy tasks. I have noticed that when the server.xml is updated via the manager when doing deployments, the Manager and Valve tags are written completely different from the specified context.xml provided in META-INF. An example of this would be: CONTEXT.XML: Context className=org.apache.catalina.core.StandardContext cachingAllowed=true charsetMapperClass=org.apache.catalina.util.CharsetMapper cookies=true crossContext=false debug=0docBase=/var/tomcat4/webapps/test mapperClass=org.apache.catalina.core.StandardContextMapper path=/test privileged=false reloadable=false swallowOutput=false useNaming=true wrapperClass=org.apache.catalina.core.StandardWrapper Valve className=org.apache.catalina.session.ReplicationValve filter=.*\.gif;.*\.jpg;.*\.jpeg;.*\.js debug=0/ Manager className=org.apache.catalina.session.InMemoryReplicationManager debug=1 printToScreen=true saveOnRestart=false maxActiveSessions=-1 minIdleSwap=-1 maxIdleSwap=-1 maxIdleBackup=-1 pathname=null printSessionInfo=true checkInterval=10 expireSessionsOnShutdown=false serviceclass=org.apache.catalina.cluster.mcast.McastService mcastAddr=228.1.2.3 mcastPort=45566 mcastFrequency=5000 mcastDropTime=5000 tcpListenAddress=auto tcpListenPort=4003 tcpSelectorTimeout=100 tcpThreadCount=3 useDirtyFlag=true /Manager /Context MANAGER CREATED SERVER.XML: Context className=org.apache.catalina.core.StandardContext cachingAllowed=true charsetMapperClass=org.apache.catalina.util.CharsetMapper cookies=true crossContext=false debug=0 docBase=/var/tomcat4/work/Standalone/localhost/manager/test.war mapperClass=org.apache.catalina.core.StandardContextMapper path=/test privileged=false reloadable=false swallowOutput=false useNaming=true wrapperClass=org.apache.catalina.core.StandardWrapper Manager className=org.apache.catalina.session.InMemoryReplicationManager algorithm=MD5 checkInterval=10 debug=1 distributable=false duplicates=0 entropy=[EMAIL PROTECTED] expireSessionsOnShutdown=false expiredSessions=0 maxActive=1 maxActiveSessions=-1 maxInactiveInterval=1728000 pathname=null randomClass=java.security.SecureRandom rejectedSessions=0 sessionCounter=0 /Manager Valve className=org.apache.catalina.session.ReplicationValve debug=0/ /Context This redefining of the tag structure by the manager appears to prevent the session replication via multicasting to work when the Tomcat server is restarted. My question is why and or how does the manager write the contents of the server.xml differently from that specified in the context.xml? Any input on this process would be appreciated. - 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]