[jboss-jira] [JBoss JIRA] Commented: (JGRP-717) Message ordering protocol for TCP unicasts

Bela Ban (JIRA) jira-events at lists.jboss.org
Tue Jun 17 04:18:33 EDT 2008


    [ http://jira.jboss.com/jira/browse/JGRP-717?page=comments#action_12417506 ] 
            
Bela Ban commented on JGRP-717:
-------------------------------

Using xmit_off makes no sense:
[Vladimir]

- Members A and B
- Member B before becoming a member in a view sends a unicast as a part of discovery to A
- In B we create an entry in UNICAST for target A, sequence number 1
- Say a view V without B is first installed at A (remember this is highly concurrent situation with multiple node startup)
- The new view V installation at A tears down the connection B made to A in UNICAST *and* TCP !  
- B sends a message (say new OOB discovery) with seq number 2 but since the connection at the TCP level from B to A was  we get that "127.0.0.1:7802 failed sending data to 127.0.0.1:7800: java.net.SocketException: Socket closed" but UNICAST at B considers message 2 to be sent without a hitch ( we do not propagate exception to UNICAST layer)
- Say next time B sends a discovery message it succeeds (that connection table entry is now removed and a new connection is created)
- The OOB from B will go up the stack at A but no regular message will since we have a sequence gap. 
==> Kaboom! The regular unicast from B to A never gets delivered at A!


> Message ordering protocol for TCP unicasts
> ------------------------------------------
>
>                 Key: JGRP-717
>                 URL: http://jira.jboss.com/jira/browse/JGRP-717
>             Project: JGroups
>          Issue Type: Feature Request
>            Reporter: Brian Stansberry
>         Assigned To: Bela Ban
>             Fix For: 2.7, 2.6.3
>
>
> With the introduction of a thread pool in the TCP protocol, the ability to relying on TCP/IP to guarantee ordering of unicast messages is lost. See JGRP-716.  Solution is to add UNICAST to TCP-based stacks that use a thread pool.  This is not ideal since UNICAST adds overhead for reliable transmission (sending ACKs, retaining sent messages for retransmission) and this overhead is unnecessary with TCP.  Request is for a protocol with the message ordering functionality of UNICAST but without the reliable transmission features.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        



More information about the jboss-jira mailing list