tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ronald Klop <ronald-mailingl...@base.nl>
Subject getAllClusterSessions gives OptionalDataException
Date Thu, 23 Jun 2011 16:14:26 GMT
Hi,

 I have an exception when one on my Tomcat nodes restarts. The session are not synced and
user complain about being logged out. I was running 6.0.32 and had the problem. Now I'm running
a custom build of 6.0.33 from yesterday. I added a little code which prints ' SEVERE: name=user'.
The key on which the sync fails while reading the value.

 I looked into the java code in ObjectInputStream and it looks like some inconsistency in
the ObjectStream.

 I have 4 nodes on Debian 5, sun-java6-jdk 6-22-0lenny1, seen the problem on Tomcat 6.0.29,
6.0.32 and a custom build 6.0.33. I can't reproduce this (yet) on my test environment, so
debugging it is difficult without upset customers.

     <Engine name="Catalina" defaultHost="xxx.xxx.xxx">
       <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
              resourceName="UserDatabase" />
                 <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster">
                         <Channel className="org.apache.catalina.tribes.group.GroupChannel">
                                 <Membership className="org.apache.catalina.tribes.membership.McastService"
port="47727" />
                         </Channel>
                 </Cluster>
         <Host name="xxx.xxx.xxx"
                 appBase="/data/webapps/crm-LIVE/deployed"
                 unpackWARs="true" autoDeploy="false"
                 xmlValidation="false" xmlNamespaceAware="true">
         </Host>
     </Engine>

 Can I provide more information? Where should I look.

 NB: In some previous mails about another problem I thought that might be the reason for my
logout problem, that is why I tried 6.0.33-dev.

 Ronald.

 Jun 23, 2011 5:49:47 PM org.apache.catalina.ha.session.DeltaManager getAllClusterSessions
 WARNING: Manager [crm.realworks.nl#], requesting session state from org.apache.catalina.tribes.membership.MemberImpl[tcp://{10,
0, 10, 110}:4000,{10, 0, 10, 110},4000, alive=45370885,id={-34 112 102 -93 -87 -88 77 18 -113
-30 62 8 62 -65 -112 -13 }, payload={}, command={}, domain={}, ]. This operation will timeout
if no session state has been received within 60 seconds.
 Jun 23, 2011 5:49:47 PM org.apache.catalina.ha.session.DeltaManager waitForSendAllSessions
 INFO: Manager [crm.realworks.nl#]; session state send at 6/23/11 5:49 PM received in 304
ms.
 Jun 23, 2011 5:49:47 PM org.apache.catalina.ha.session.DeltaManager getAllClusterSessions
 WARNING: Manager [crm.realworks.nl#]: Drop message SESSION-ACCESSED inside GET_ALL_SESSIONS
sync phase start date 6/23/11 5:49 PM message date 6/23/11 5:49 PM
 Jun 23, 2011 5:49:47 PM org.apache.catalina.ha.session.DeltaSession readObject
 SEVERE: name=user.
 Jun 23, 2011 5:49:47 PM org.apache.catalina.ha.session.DeltaManager deserializeSessions
 SEVERE: IOException while loading persisted sessions: java.io.OptionalDataException
 java.io.OptionalDataException
     at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1348)
     at java.io.ObjectInputStream.readObject(ObjectInputStream.java:350)
     at java.util.HashMap.readObject(HashMap.java:1029)
     at sun.reflect.GeneratedMethodAccessor23.invoke(Unknown Source)
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
     at java.lang.reflect.Method.invoke(Method.java:597)
     at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:974)
     at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1848)
     at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1752)
     at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1328)
     at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1946)
     at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1870)
     at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1752)
     at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1328)
     at java.io.ObjectInputStream.readObject(ObjectInputStream.java:350)
     at org.apache.catalina.ha.session.DeltaSession.readObject(DeltaSession.java:655)
     at org.apache.catalina.ha.session.DeltaSession.readObjectData(DeltaSession.java:481)
     at org.apache.catalina.ha.session.DeltaManager.deserializeSessions(DeltaManager.java:745)
     at org.apache.catalina.ha.session.DeltaManager.handleALL_SESSION_DATA(DeltaManager.java:1583)
     at org.apache.catalina.ha.session.DeltaManager.messageReceived(DeltaManager.java:1440)
     at org.apache.catalina.ha.session.DeltaManager.messageDataReceived(DeltaManager.java:1173)
     at org.apache.catalina.ha.session.ClusterSessionListener.messageReceived(ClusterSessionListener.java:92)
     at org.apache.catalina.ha.tcp.SimpleTcpCluster.messageReceived(SimpleTcpCluster.java:901)
     at org.apache.catalina.ha.tcp.SimpleTcpCluster.messageReceived(SimpleTcpCluster.java:882)
     at org.apache.catalina.tribes.group.GroupChannel.messageReceived(GroupChannel.java:269)
     at org.apache.catalina.tribes.group.ChannelInterceptorBase.messageReceived(ChannelInterceptorBase.java:79)
     at org.apache.catalina.tribes.group.ChannelInterceptorBase.messageReceived(ChannelInterceptorBase.java:79)
     at org.apache.catalina.tribes.group.interceptors.TcpFailureDetector.messageReceived(TcpFailureDetector.java:110)
     at org.apache.catalina.tribes.group.ChannelInterceptorBase.messageReceived(ChannelInterceptorBase.java:79)
     at org.apache.catalina.tribes.group.ChannelCoordinator.messageReceived(ChannelCoordinator.java:241)
     at org.apache.catalina.tribes.transport.ReceiverBase.messageDataReceived(ReceiverBase.java:225)
     at org.apache.catalina.tribes.transport.nio.NioReplicationTask.drainChannel(NioReplicationTask.java:188)
     at org.apache.catalina.tribes.transport.nio.NioReplicationTask.run(NioReplicationTask.java:91)
     at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
     at java.lang.Thread.run(Thread.java:662)
 Jun 23, 2011 5:49:47 PM org.apache.catalina.ha.session.DeltaManager messageReceived
 SEVERE: Manager [crm.realworks.nl#]: Unable to receive message through TCP channel
 java.io.OptionalDataException
     at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1348)
     at java.io.ObjectInputStream.readObject(ObjectInputStream.java:350)
     at java.util.HashMap.readObject(HashMap.java:1029)
     at sun.reflect.GeneratedMethodAccessor23.invoke(Unknown Source)
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
     at java.lang.reflect.Method.invoke(Method.java:597)
     at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:974)
     at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1848)
     at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1752)
     at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1328)
     at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1946)
     at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1870)
     at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1752)
     at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1328)
     at java.io.ObjectInputStream.readObject(ObjectInputStream.java:350)
     at org.apache.catalina.ha.session.DeltaSession.readObject(DeltaSession.java:655)
     at org.apache.catalina.ha.session.DeltaSession.readObjectData(DeltaSession.java:481)
     at org.apache.catalina.ha.session.DeltaManager.deserializeSessions(DeltaManager.java:745)
     at org.apache.catalina.ha.session.DeltaManager.handleALL_SESSION_DATA(DeltaManager.java:1583)
     at org.apache.catalina.ha.session.DeltaManager.messageReceived(DeltaManager.java:1440)
     at org.apache.catalina.ha.session.DeltaManager.messageDataReceived(DeltaManager.java:1173)
     at org.apache.catalina.ha.session.ClusterSessionListener.messageReceived(ClusterSessionListener.java:92)
     at org.apache.catalina.ha.tcp.SimpleTcpCluster.messageReceived(SimpleTcpCluster.java:901)
     at org.apache.catalina.ha.tcp.SimpleTcpCluster.messageReceived(SimpleTcpCluster.java:882)
     at org.apache.catalina.tribes.group.GroupChannel.messageReceived(GroupChannel.java:269)
     at org.apache.catalina.tribes.group.ChannelInterceptorBase.messageReceived(ChannelInterceptorBase.java:79)
     at org.apache.catalina.tribes.group.ChannelInterceptorBase.messageReceived(ChannelInterceptorBase.java:79)
     at org.apache.catalina.tribes.group.interceptors.TcpFailureDetector.messageReceived(TcpFailureDetector.java:110)
     at org.apache.catalina.tribes.group.ChannelInterceptorBase.messageReceived(ChannelInterceptorBase.java:79)
     at org.apache.catalina.tribes.group.ChannelCoordinator.messageReceived(ChannelCoordinator.java:241)
     at org.apache.catalina.tribes.transport.ReceiverBase.messageDataReceived(ReceiverBase.java:225)
     at org.apache.catalina.tribes.transport.nio.NioReplicationTask.drainChannel(NioReplicationTask.java:188)
     at org.apache.catalina.tribes.transport.nio.NioReplicationTask.run(NioReplicationTask.java:91)
     at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
     at java.lang.Thread.run(Thread.java:662)

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message