DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUGĀ·
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://issues.apache.org/bugzilla/show_bug.cgi?id=42720>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED ANDĀ·
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=42720

           Summary: A large amount of No destination message
           Product: Tomcat 6
           Version: unspecified
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: minor
          Priority: P3
         Component: Catalina
        AssignedTo: [EMAIL PROTECTED]
        ReportedBy: [EMAIL PROTECTED]


A large amount of following messages are output with Tomcat6.0.13. 

org.apache.catalina.tribes.ChannelException: No destination given; No faulty 
members identified.
    at org.apache.catalina.tribes.group.GroupChannel.send
(GroupChannel.java:194)
    at org.apache.catalina.tribes.group.GroupChannel.send
(GroupChannel.java:175)
    at org.apache.catalina.ha.tcp.SimpleTcpCluster.send
(SimpleTcpCluster.java:835)
    at org.apache.catalina.ha.tcp.SimpleTcpCluster.sendClusterDomain
(SimpleTcpCluster.java:814)
    at org.apache.catalina.ha.session.DeltaManager.send(DeltaManager.java:586)
    at org.apache.catalina.ha.session.DeltaManager.sessionExpired
(DeltaManager.java:1211)
    at org.apache.catalina.ha.session.DeltaSession.expire
(DeltaSession.java:366)
    at org.apache.catalina.ha.session.DeltaSession.expire
(DeltaSession.java:352)
    at org.apache.catalina.ha.session.DeltaSession.isValid
(DeltaSession.java:327)
    at org.apache.catalina.session.ManagerBase.processExpires
(ManagerBase.java:682)
    at org.apache.catalina.session.ManagerBase.backgroundProcess
(ManagerBase.java:667)
    at org.apache.catalina.core.ContainerBase.backgroundProcess
(ContainerBase.java:1316)
    at 
org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChil
dren(ContainerBase.java:1601)
    at 
org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChil
dren(ContainerBase.java:1610)
    at 
org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChil
dren(ContainerBase.java:1610)
    at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run
(ContainerBase.java:1590)
    
The easiest reproduction procedure is as follows. 
 1: < Cluster > and 
    <Manager className="org.apache.catalina.ha.session.DeltaManager"...>
   is set to server.xml. 
 2: Only one Tomcat is started. 
 3: The request that creates the session is sent. (a lot)
 4: The session does the timeout. (or session.invalidate())
 5: The error message is output per session timeout(or invalidate()). 
 
I think that DeltaManager should check the number of cluster members
before transmitting the replication message in DeltaManager.sessionExpired. 
For instance, org.apache.catalina.ha.session.DeltaManager.sessionExpired is 
corrected as follows. 

protected void sessionExpired(String id) {
    if (cluster.getMembers().length > 0) {
        counterSend_EVT_SESSION_EXPIRED++;
        SessionMessage msg = new SessionMessageImpl(getName
(),SessionMessage.EVT_SESSION_EXPIRED, null, id, id + "-EXPIRED-MSG");
        if (log.isDebugEnabled()) log.debug(sm.getString
("deltaManager.createMessage.expire", getName(), id));
        send(msg);
    }
}
        
This correction is done by the way similar to DeltaManager.sendCreateSession.

-- 
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.

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

Reply via email to