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)
    > > 
    > > 
    > > 
    > 




Reply via email to