[jboss-jira] [JBoss JIRA] (JGRP-2327) UNICAST3: create receiver table when non-first message is received first

Bela Ban (Jira) issues at jboss.org
Tue Jan 22 03:56:00 EST 2019


Bela Ban created JGRP-2327:
------------------------------

             Summary: UNICAST3: create receiver table when non-first message is received first
                 Key: JGRP-2327
                 URL: https://issues.jboss.org/browse/JGRP-2327
             Project: JGroups
          Issue Type: Enhancement
            Reporter: Bela Ban
            Assignee: Bela Ban
             Fix For: 4.0.17


* A and B
* B sends 2 messages to A: B1 and B2
* A receives B2 _before_ B1 (both B1 and B2 are OOB)
* The current code has A drop B2 and send a SEND_FIRST_SEQNO message to B
* B resends B1, but _not_ B2
* Retransmission needs to kick in before A receives B2. This might take up to {{xmit_interval * 2}} ms before B2 is retransmitted and delivered

Scenario (JGRP-2293):
* A installs a new view
* B sends a LEAVE-REQ to A (B is leaving, too) on the view installation and a VIEW-ACK for the view. Both messages are unicasts to A and OOB
* The VIEW-ACK (B2) is received first and dropped, so it will have to be retransmitted
* This delays the view installation, as A waits for {{view_ack_collection_timeout}} ms until it has received all VIEW-ACKs

h4. WORKAROUND
*Set GMS.leave_timeout to a higher value (say 8000ms)

h4. SOLUTION
* When B2 is received, and it is not the first message and we don't have a receiver table for B yet, investigate whether we can create the receiver table anyway
* However, this requires the first seqno from B *to always be 0*
--> Investigate whether the first seqno in UNICAST3 is always 0, then this solution will work



--
This message was sent by Atlassian Jira
(v7.12.1#712002)


More information about the jboss-jira mailing list