Cool,

Is there a repository to just get the tribes jar or just the tribes source 
without having to get all of tomcat to get it?

Like a SVN or CVS repository I could get the fix from and build myself?

Thanks
Mike

-----Original Message-----
From: Filip Hanik - Dev Lists [mailto:[EMAIL PROTECTED] 
Sent: October 7, 2008 5:13 PM
To: Tomcat Users List
Subject: Re: Basic Tribes Questions

hi Mike, that's great. yes, the TCP failure detector could give multiple 
"DISAPPEARED" messages, that is something I'm about to fix

Filip

Mike Wannamaker wrote:
> Hi Filip,
>
> I think I am seeing the message, it was just hidden amongst other log 
> messages I guess I missed it.
>
> However I do see something else when I added the TcpFailureDetector to the 
> interceptor list, I see two DISAPPEARED messages?
>
> Without TcpFailureDetector:
>
>       1) Start Server #1, then #2
>       2) Unplug #2 network
>       3) On #1 - #2 DISAPPEARED, on #2 - #1 DISAPPEARED
>       4) Reconnect #2 to network, on #1 - #2 SHUTDOWN;#2 ADDED, on #2 - #1 
> ADDED
>
> Add TcpFailureDetector
>
>       1) Start Server #1, #2
>       2) Unplug #2 network
>       3) On #1 - #2 DISAPPEARED;#2 DISAPPEARED, on #2 - #1 DISAPPEARED;#1 
> DISAPPEARED
>       4) Reconnect #2 to network, on #1 - #2 SHUTDOWN;#2 ADDED, on #2 - #1 
> ADDED
>
> I take it I get the 2 DISAPPEARED messages because I have another 
> interceptor, but is this the correct behaviour?
>
> TIA
> Mike
>
>
>
> -----Original Message-----
> From: Filip Hanik - Dev Lists [mailto:[EMAIL PROTECTED] 
> Sent: October 6, 2008 11:28 AM
> To: Tomcat Users List
> Subject: Re: Basic Tribes Questions
>
> there are getters and setters for everything
> and they are all documented here
> http://tomcat.apache.org/tomcat-6.0-doc/config/cluster-channel.html
>
> each component has getters/setters, for example, the multicast address
>
> setAddress
> getAddress
>
> breakpoints might not work very well, since you are stopping one thread, 
> and not really emulating a real scenario.
>
> again, sounds like you have a simple test case, if you can share that, I 
> can get more understanding, and help you further.
>
> Filip
>
> Mike Wannamaker wrote:
>   
>> Hi Filip
>>
>> Thanks for the info.  However, I don't see the documentation for the 
>> setters/getters you mention below?
>> Also I'm having issues while debugging.  When I hit a breakpoint in my code 
>> and while stepping thru code, I get DISAPPEARED/ADDED messages over and over 
>> on the other server?  I would think the heartbeat is running in a separate 
>> thread for both send/receive?  How to solve this, bump the heartbeat timeout?
>>
>> TIA
>> Mike
>>
>> -----Original Message-----
>> From: Filip Hanik - Dev Lists [mailto:[EMAIL PROTECTED] 
>> Sent: October 3, 2008 2:51 PM
>> To: Tomcat Users List
>> Subject: Re: Basic Tribes Questions
>>
>> answers inline
>>
>> Mike Wannamaker wrote:
>>   
>>     
>>> Hi, I am currently trying to use Tribes as the clustering layer on our 
>>> server.
>>>
>>> My startup code looks like this.
>>>
>>>         if(_tribesChannel == null)
>>>         { // nothing to do if already running
>>>             try
>>>             {
>>>                 _tribesChannel = new GroupChannel();
>>>                 // must be done before start:
>>>   
>>>     
>>>       
>> no need to use any properties, there are getters and setters for everything
>> and they are all documented here
>> http://tomcat.apache.org/tomcat-6.0-doc/config/cluster-channel.html
>>   
>>     
>>>                 
>>> _tribesChannel.getMembershipService().getProperties().put("mcastPort", 
>>> String.valueOf(_mainPort));
>>>                 
>>> _tribesChannel.getMembershipService().getProperties().put("mcastAddress", 
>>> _multicastIPAddr);
>>>   
>>>     
>>>       
>> not sure what you are trying to do in the code below. if you wanna set 
>> the port, then simply do it.
>> the membership will pick it up automatically
>>   
>>     
>>>                 if(_ancillaryPort > 0)
>>>                 {
>>>                     
>>> _tribesChannel.getMembershipService().getProperties().put("tcpListenPort", 
>>> String.valueOf(_ancillaryPort));
>>>                     // hack alert: Default Tribes instantiation (Tomcat 
>>> 6.0.16) does not read value for "tcpListenPort" from properties.
>>>                     // Therefore, set it directly
>>>                     ChannelReceiver receiver = 
>>> _tribesChannel.getChannelReceiver();
>>>                     if(receiver.getPort() != _ancillaryPort)
>>>                     {
>>>                         if(receiver instanceof ReceiverBase)
>>>                         {
>>>                             
>>> ((ReceiverBase)receiver).setPort(_ancillaryPort);
>>>                         }
>>>                     }
>>>                 }
>>>
>>>                 
>>> _tribesChannel.addMembershipListener(_tribesMembershipListener);
>>>                 _tribesChannel.addChannelListener(_tribesChannelListener);
>>>                 _tribesChannel.start(CHANNEL_COMPONENTS);
>>>             }
>>>             catch(ChannelException ex)
>>>             {
>>>                 try { _tribesChannel.stop(CHANNEL_COMPONENTS); } 
>>> catch(Throwable t) { /*gulp*/}
>>>                 _tribesChannel = null;
>>>                 throw new RuntimeException(ex); // todo, exception handling?
>>>             }
>>>         }
>>>
>>> My Question is that when I start Server #1, then Server #2, then unplug 
>>> Server #2 network cable, Server #1 gets the DISAPPEARED message but Server 
>>> #2 just keeps logging the message below.  As I write this it's at attempt 
>>> #120.  How do I get this to notify on Server #2 that Server #1 has 
>>> DISAPPEARED or can I set the number of attempts to a maximum number before 
>>> notifying?
>>>   
>>>     
>>>       
>> the message you are getting is cause the membership tries to recover.
>> you can limit this, by doing
>> setRecoveryEnabled(true|false);
>> setRecoveryCounter(nr-of-times-to-try-recover)
>>
>> also, you haven't added in the TCP failure detector, which adds one more 
>> layer of protection
>> see it in this default configuration
>> http://tomcat.apache.org/tomcat-6.0-doc/cluster-howto.html
>>
>> you should still get the member disappeared error (eventually after the 
>> timeout), if you can supply a simple test case, I can try it out over here.
>>
>> best
>> Filip
>>
>>   
>>     
>>> Also is there any other documentation for tribes, other than the limited 
>>> docs on the apache site?
>>>
>>>     INFO: Done sleeping, membership established, start level:8
>>>     Oct 3, 2008 1:12:44 PM 
>>> org.apache.catalina.tribes.transport.nio.NioReplicationTask run
>>>     WARNING: IOException in replication worker, unable to drain channel. 
>>> Probable cause: Keep alive socket closed[An existing connection was        
>>> forcibly closed by the remote host].
>>>     Oct 3, 2008 1:12:44 PM 
>>> org.apache.catalina.tribes.membership.McastServiceImpl$SenderThread run
>>>     WARNING: Unable to send mcast message.
>>>     java.net.NoRouteToHostException: No route to host: Datagram send failed
>>>             at java.net.PlainDatagramSocketImpl.send(Native Method)
>>>             at java.net.DatagramSocket.send(DatagramSocket.java:612)
>>>             at 
>>> org.apache.catalina.tribes.membership.McastServiceImpl.send(McastServiceImpl.java:385)
>>>             at 
>>> org.apache.catalina.tribes.membership.McastServiceImpl$SenderThread.run(McastServiceImpl.java:445)
>>>     Oct 3, 2008 1:12:49 PM 
>>> org.apache.catalina.tribes.membership.McastServiceImpl$RecoveryThread run
>>>     INFO: Tribes membership, running recovery thread, multicasting is not 
>>> functional.
>>>     Oct 3, 2008 1:12:49 PM 
>>> org.apache.catalina.tribes.membership.McastServiceImpl$RecoveryThread 
>>> stopService
>>>     WARNING: Recovery thread failed to stop membership service.
>>>     java.net.NoRouteToHostException: No route to host: Datagram send failed
>>>             at java.net.PlainDatagramSocketImpl.send(Native Method)
>>>             at java.net.DatagramSocket.send(DatagramSocket.java:612)
>>>             at 
>>> org.apache.catalina.tribes.membership.McastServiceImpl.send(McastServiceImpl.java:385)
>>>             at 
>>> org.apache.catalina.tribes.membership.McastServiceImpl.stop(McastServiceImpl.java:299)
>>>             at 
>>> org.apache.catalina.tribes.membership.McastServiceImpl$RecoveryThread.stopService(McastServiceImpl.java:480)
>>>             at 
>>> org.apache.catalina.tribes.membership.McastServiceImpl$RecoveryThread.run(McastServiceImpl.java:504)
>>>     Oct 3, 2008 1:12:49 PM 
>>> org.apache.catalina.tribes.membership.McastServiceImpl setupSocket
>>>     INFO: Setting cluster mcast soTimeout to 500
>>>     Oct 3, 2008 1:12:49 PM 
>>> org.apache.catalina.tribes.membership.McastServiceImpl$RecoveryThread 
>>> startService
>>>     WARNING: Recovery thread failed to start membership service.
>>>     java.net.SocketException: error setting options
>>>             at java.net.PlainDatagramSocketImpl.join(Native Method)
>>>             at 
>>> java.net.PlainDatagramSocketImpl.join(PlainDatagramSocketImpl.java:172)
>>>             at java.net.MulticastSocket.joinGroup(MulticastSocket.java:276)
>>>             at 
>>> org.apache.catalina.tribes.membership.McastServiceImpl.start(McastServiceImpl.java:233)
>>>             at 
>>> org.apache.catalina.tribes.membership.McastServiceImpl$RecoveryThread.startService(McastServiceImpl.java:490)
>>>             at 
>>> org.apache.catalina.tribes.membership.McastServiceImpl$RecoveryThread.run(McastServiceImpl.java:504)
>>>     Oct 3, 2008 1:12:49 PM 
>>> org.apache.catalina.tribes.membership.McastServiceImpl$RecoveryThread run
>>>     INFO: Recovery attempt 1 failed, trying again in 5000 seconds
>>>     
>>>   
>>>     
>>>       
>> ---------------------------------------------------------------------
>> To start a new topic, e-mail: users@tomcat.apache.org
>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>> For additional commands, e-mail: [EMAIL PROTECTED]
>>
>>   
>>     
>
>
> ---------------------------------------------------------------------
> To start a new topic, e-mail: users@tomcat.apache.org
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>   


---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to