hello,

we have since two weeks a problem with session replication.

we use jakarta-tomcat-5.5.4.tar.gz with the compatibility package for jdk1.4 on a redhat advanced server.

we are sure that session replication was still working roughly two weeks ago, but the only thing we remember that we changed during that time was the layout of the configuration files, e.g. instead of having the server.xml file directly in the conf directory we created a link to this file which resides now in another directory. we did this for several parts of our tomcat configuration. otherwise we are quite sure we did not change anything else.

we did not change our web application during that time and in addition we have taken extensive measures to make sure that all objects that are put into the session are serializable.

the problem we have looks like this on the tomcat which tries to serialize the session:

-- snip start --
SCHWERWIEGEND: Failed to serialize the session!
java.lang.ClassCastException
at org.apache.catalina.cluster.session.SimpleTcpReplicationManager.writeSession(SimpleTcpReplicationManager.java:326) at org.apache.catalina.cluster.session.SimpleTcpReplicationManager.requestCompleted(SimpleTcpReplicationManager.java:292) at org.apache.catalina.cluster.tcp.ReplicationValve.invoke(ReplicationValve.java:188) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:526) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:825) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:731) at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:526) at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
        at java.lang.Thread.run(Thread.java:534)
-- snip end --

and like this on the other end:
-- snip start --
SCHWERWIEGEND: Failed to deserialize the session!
java.lang.NullPointerException
at java.io.ByteArrayInputStream.<init>(ByteArrayInputStream.java:89) at org.apache.catalina.cluster.session.SimpleTcpReplicationManager.readSession(SimpleTcpReplicationManager.java:352) at org.apache.catalina.cluster.session.SimpleTcpReplicationManager.messageReceived(SimpleTcpReplicationManager.java:551) at org.apache.catalina.cluster.session.SimpleTcpReplicationManager.messageDataReceived(SimpleTcpReplicationManager.java:590) at org.apache.catalina.cluster.tcp.SimpleTcpCluster.messageDataReceived(SimpleTcpCluster.java:548) at org.apache.catalina.cluster.io.ObjectReader.execute(ObjectReader.java:69) at org.apache.catalina.cluster.tcp.TcpReplicationThread.drainChannel(TcpReplicationThread.java:126) at org.apache.catalina.cluster.tcp.TcpReplicationThread.run(TcpReplicationThread.java:64)
-- snip end --

the one thing which is VERY strange to me is that normally with a ClassCastException you get the type info of which class it tries to cast, but here we only get "java.lang.ClassCastException"?

we tried to search google for people having similar problems, but we were not able to find any references to such a problem. perhaps somebody on this list is able to help us with this issue?
--
Christian Schuhegger
http://www.el-chef.de/


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to