I've updated the delta request to avoid these errors in the next release of
tomcat5.0 and tomcat 5.5
Filip
----- Original Message -----
From: Ronald Klop
To: Filip Hanik - Dev
Sent: Friday, November 19, 2004 10:44 AM
Subject: Re: NoSuchElementException in cluster
Yes, but we never change the session. It only holds the User object, which is
set at login.
I have looked at the tomcat code. This session replication is not thread safe
as is documented.
This is my server.xml. It is a quite heavily used web-application with about
2000-3000 sessions, 30 req/sec.
<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="228.0.0.4"
mcastPort="45564"
mcastFrequency="500"
mcastDropTime="3000"/>
<Receiver
className="org.apache.catalina.cluster.tcp.ReplicationListener"
tcpListenAddress="213.53.208.169"
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>
Ronald.
On Fri Nov 19 17:17:19 CET 2004 Filip Hanik - Dev <[EMAIL PROTECTED]> wrote:
are you using frames or in anyway have your system setup to access the same
session by more than one thread?
Filip
----- Original Message -----
From: "Ronald Klop" <[EMAIL PROTECTED]>
To: "Tomcat Users List" <[EMAIL PROTECTED]>
Cc: "Ronald Klop" <[EMAIL PROTECTED]>
Sent: Friday, November 19, 2004 5:35 AM
Subject: Re: NoSuchElementException in cluster
Hello,
I found these two bug reports, looking similar to my issue below.
http://issues.apache.org/bugzilla/show_bug.cgi?id=27104
http://issues.apache.org/bugzilla/show_bug.cgi?id=31328
Are there any comments/ideas on this for version 5.0.x?
Ronald.
On Tue Nov 16 18:23:14 CET 2004 Ronald Klop <[EMAIL PROTECTED]> wrote:
> Sorry, I'm using Tomcat 5.0.28. Somebody upgraded the boxes.
>
> On Tue Nov 16 16:43:29 CET 2004 Ronald Klop <[EMAIL PROTECTED]> wrote:
> >Hello,
> >
> >I'm seeing these exceptions on one of my 2 nodes.
> >The memory cosumption of this server is now growing for a couple of
hours, but I cannot tell if that is related with this.
> >I removed the server from the worker list of mod_jk so it is still in
the cluster, but not receiving any requests anymore.
> >
> >Any ideas about the exceptions. Are they harmless? Can they be related
to a constantly growing amount of in-use memory?
> >I'm running Tomcat 5.0.25 on Linux 2.4 and 2.6 with JDK 1.4.2. It runs
very well most of the time.
> >
> >Ronald.
> >
> >SEVERE: Unable to perform replication request.
> >java.util.NoSuchElementException
> >at java.util.LinkedList.remove(LinkedList.java:579)
> >at java.util.LinkedList.removeFirst(LinkedList.java:131)
> >at
org.apache.catalina.cluster.session.DeltaRequest.reset(DeltaRequest.java:153)
> >at
org.apache.catalina.cluster.session.DeltaSession.resetDeltaRequest(DeltaSession.java:938)
> >at
org.apache.catalina.cluster.session.DeltaManager.requestCompleted(DeltaManager.java:786)
> >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.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:300)
> >at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:374)
> >at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:743)
> >at
org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:675)
> >at org.apache.jk.common.SocketConnection.runIt(ChannelSocket.java:866)
> >at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
> >at java.lang.Thread.run(Thread.java:534)
> >
> >SEVERE: Unable to receive message through TCP channel
> >java.util.NoSuchElementException
> >at java.util.LinkedList.remove(LinkedList.java:579)
> >at java.util.LinkedList.removeFirst(LinkedList.java:131)
> >at
org.apache.catalina.cluster.session.DeltaRequest.reset(DeltaRequest.java:153)
> >at
org.apache.catalina.cluster.session.DeltaRequest.readExternal(DeltaRequest.java:184)
> >at
org.apache.catalina.cluster.session.DeltaManager.loadDeltaRequest(DeltaManager.java:385)
> >at
org.apache.catalina.cluster.session.DeltaManager.messageReceived(DeltaManager.java:898)
> >at
org.apache.catalina.cluster.session.DeltaManager.messageDataReceived(DeltaManager.java:762)
> >at
org.apache.catalina.cluster.tcp.SimpleTcpCluster.messageDataReceived(SimpleTcpCluster.java:576)
> >at
org.apache.catalina.cluster.io.ObjectReader.execute(ObjectReader.java:70)
> >at
org.apache.catalina.cluster.tcp.TcpReplicationThread.drainChannel(TcpReplicationThread.java:129)
> >at
org.apache.catalina.cluster.tcp.TcpReplicationThread.run(TcpReplicationThread.java:67)
> >
> >
> >
>