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=43435>.
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=43435





------- Additional Comments From [EMAIL PROTECTED]  2007-09-25 03:03 -------
(In reply to comment #1)
> Fixed.

Thanks for the correction.

> Since memberDisappeared is called when any member goes away, not just map 
members.
> If you see scenarios where the memberDisappeared is called multiple times 
with
> the same member, please let me know, as that should not happen

I think that AbstractReplicatedMap.memberDisappeared is called is the 
following cases.

1:McastServiceImpl$run -> ... -> AbstractReplicatedMap.memberDisappeared
2:GroupChannel.heartbeat() -> ... -> AbstractReplicatedMap.memberDisappeared
3:GroupChannel.send  -> ReplicationTransmitter.sendMessage -> ... ->
   -> ChannelException occurs 
   -> TcpFailureDetector.memberDisappeared
   -> AbstractReplicatedMap.memberDisappeared

Case3 says.
When Tomcat in the cluster is downed, 
the all of thread sending the replication message to downed Tomcat does throw 
ChannelException and calls TcpFailureDetector.memberDisappeared.
TcpFailureDetector.memberDisappeared calls 
AbstractReplicatedMap.memberDisappeared.

If the replication message is sended to downed Tomcat by multiple threads, 
AbstractReplicatedMap.memberDisappeared is called multiple times with the same 
member.

The following logs are repeatedly output. 
# log.debug("Member["+member+"] disappeared, but was not present in the map.");
# is called.

***********log*************
...
Sep 25, 2007 5:27:10 PM 
org.apache.catalina.tribes.group.interceptors.TcpFailureDetector 
memberDisappeared
INFO: Received memberDisappeared
[org.apache.catalina.tribes.membership.MemberImpl
[tcp://XXXXXXXX:4001,XXXXXXXX,4001, alive=22797,id={74 41 4 115 77 -55 69 21 -
68 -127 79 110 -55 45 -36 -45 }, payload={}, command={}, domain={}, ]] 
message. Will verify.
Sep 25, 2007 5:27:10 PM org.apache.catalina.tribes.tipis.AbstractReplicatedMap 
memberDisappeared
FINE: Member[org.apache.catalina.tribes.membership.MemberImpl
[tcp://XXXXXXXX:4001,XXXXXXXX,4001, alive=22797,id={74 41 4 115 77 -55 69 21 -
68 -127 79 110 -55 45 -36 -45 }, payload={}, command={}, domain={}, ]] 
disappeared, but was not present in the map.
Sep 25, 2007 5:27:10 PM org.apache.catalina.tribes.tipis.AbstractReplicatedMap 
replicate
SEVERE: Unable to replicate data.
org.apache.catalina.tribes.ChannelException: Send failed, attempt:2 max:1; 
Faulty members:tcp://XXXXXXXX:4001; 
     at org.apache.catalina.tribes.transport.nio.ParallelNioSender.doLoop
(ParallelNioSender.java:172)
     at org.apache.catalina.tribes.transport.nio.ParallelNioSender.sendMessage
(ParallelNioSender.java:78)
     at 
org.apache.catalina.tribes.transport.nio.PooledParallelSender.sendMessage
(PooledParallelSender.java:53)
     at org.apache.catalina.tribes.transport.ReplicationTransmitter.sendMessage
(ReplicationTransmitter.java:80)
     at org.apache.catalina.tribes.group.ChannelCoordinator.sendMessage
(ChannelCoordinator.java:78)
     at org.apache.catalina.tribes.group.ChannelInterceptorBase.sendMessage
(ChannelInterceptorBase.java:75)
     at 
org.apache.catalina.tribes.group.interceptors.TcpFailureDetector.sendMessage
(TcpFailureDetector.java:87)
     at org.apache.catalina.tribes.group.ChannelInterceptorBase.sendMessage
(ChannelInterceptorBase.java:75)
     at 
org.apache.catalina.tribes.group.interceptors.MessageDispatchInterceptor.sendMe
ssage(MessageDispatchInterceptor.java:73)
     at org.apache.catalina.tribes.group.ChannelInterceptorBase.sendMessage
(ChannelInterceptorBase.java:75)
     at org.apache.catalina.tribes.group.GroupChannel.send
(GroupChannel.java:216)
     at org.apache.catalina.tribes.group.GroupChannel.send
(GroupChannel.java:175)
     at org.apache.catalina.tribes.tipis.AbstractReplicatedMap.replicate
(AbstractReplicatedMap.java:421)
     at org.apache.catalina.ha.session.BackupManager.requestCompleted
(BackupManager.java:131)
     at org.apache.catalina.ha.tcp.ReplicationValve.send
(ReplicationValve.java:548)
     at org.apache.catalina.ha.tcp.ReplicationValve.sendMessage
(ReplicationValve.java:535)
     at 
org.apache.catalina.ha.tcp.ReplicationValve.sendSessionReplicationMessage
(ReplicationValve.java:517)
     at org.apache.catalina.ha.tcp.ReplicationValve.sendReplicationMessage
(ReplicationValve.java:428)
     at org.apache.catalina.ha.tcp.ReplicationValve.invoke
(ReplicationValve.java:362)
     at org.apache.catalina.valves.ErrorReportValve.invoke
(ErrorReportValve.java:102)
    ... omit ...
Caused by: java.net.ConnectException: Connection refused: no further 
information
     at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
     at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:525)
     at org.apache.catalina.tribes.transport.nio.NioSender.process
(NioSender.java:88)
     at org.apache.catalina.tribes.transport.nio.ParallelNioSender.doLoop
(ParallelNioSender.java:130)
     ... 26 more
...

Regards.


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