• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1935
  • Last Modified:

Tomcat clustor: Error: Unable to serialize delta request

Hi,

I am doing the tomcat clustor on Tomcat 5.0. I followed the configration online:
1) All session attributes must implement java.io.Serializable
2) Uncomment the Cluster element in server.xml
3) Uncomment the Value(ReplicationValue) element in server.xml
4) Tomcat is not running on the same machine
5) web.xml has the <distributable>true</distributable>

However, I got the following error message on the console:

SEVERE: Unable to serialize delta request
java.io.NotSerializableException: java.util.PropertyResourceBundle
        at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1075)
        at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1369)
        at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1341)
        at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1284)
        at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1073)
        at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1369)
        at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1341)
        at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1284)
        at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1073)
        at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:291)
        at org.apache.catalina.cluster.session.DeltaRequest$AttributeInfo.writeExternal(DeltaRequest.java:300)
        at org.apache.catalina.cluster.session.DeltaRequest.writeExternl(DeltaRequest.java:217)
        at org.apache.catalina.cluster.session.DeltaManager.unloadDeltaRequest(DeltaManager.java:393)
        at org.apache.catalina.cluster.session.DeltaManager.requestCompleted(DeltaManager.java:782)
        at org.apache.catalina.cluster.tcp.ReplicationValve.invoke(ReplicationValve.java:203)
        at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
        at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.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(StandardValveContext.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.coyote.http11.Http11Processor.process(Http11Processor.java:799)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
        at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
        at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
        at java.lang.Thread.run(Thread.java:595)

I cannot find PropertyResourceBundle in my project. Anyone has any clue?

Thanks
0
a122178
Asked:
a122178
  • 6
  • 3
1 Solution
 
rama_krishna580Commented:
Hi,

Its the Object that deployed in cluster environments are not inSync. Try to Undeploy and deploy both env. again.

R.K
0
 
a122178Author Commented:
Thanks for your comment. But what do you mean Undeploy and deploy both env. I just change the configuration in Tomcat. Can you tell more detail about that?
0
 
rama_krishna580Commented:
Make sure the applications you have in Cluster Env. (Both Machines) are the same, and the Configurations are also same.

R.K
0
Free Tool: SSL Checker

Scans your site and returns information about your SSL implementation and certificate. Helpful for debugging and validating your SSL configuration.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

 
a122178Author Commented:
Yeah. Both of the configurations. The Tomcat version, the server.xml and web.xml are the same.

0
 
rama_krishna580Commented:
Hi,

http://servlets.com/archive/servlet/ReadMsg?msgId=22993&listName=struts-user

And i guess one more situation here...

I think you have something in session which is not serializable. Therefore tomcat aborts writing session contents to file. Next start tomcat tries to load stored sessions, but can't due to previously aborted writing. If you don't care about restart session persistence, you can try to find the proper switch in the conf-docs or just add following to your bin/catalina.sh:
 rm -rf work/Catalina/localhost/<webappname>/SESSIONS.ser

R.K
0
 
a122178Author Commented:
I will try it and let you know. Thanks.
0
 
a122178Author Commented:
I have tried it. But I still got the error message.

I cannot find which class has to be serialized.
0
 
a122178Author Commented:
Check the application. All the objects y, (I believe for String, Locale and Integer are already serialized) in setAttribute(x,y) are serialized. Getting the same message:

SEVERE: Unable to serialize delta request for sessionid [FA55D3E188C4668B43129DA
C5CFE4867.node01]
java.io.NotSerializableException: java.util.PropertyResourceBundle

0
 
a122178Author Commented:
In additional, I have printed out all the names and values in the session:

clientLocale en
External false
SessionListener com.nai.session.SessionListener@6cbecf
m_User Name: administrator ID: 1.1 Role description: Administrator
Passkey 1
UserName administrator
IPAddress 127.0.0.1
ExternalConnection 0
SharedSessionName null

It seems I have string, boolean and sessionListener (which is serialized) in my session.
0

Featured Post

New feature and membership benefit!

New feature! Upgrade and increase expert visibility of your issues with Priority Questions.

  • 6
  • 3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now