[
https://issues.jboss.org/browse/JGRP-1751?page=com.atlassian.jira.plugin....
]
Bela Ban commented on JGRP-1751:
--------------------------------
SOLUTIONS:
# Ship current view with state and digest
#* This is unnecessary as the above case is an edge case and we'd ship a view that the
state requester already has
# After the state has been transferred, let the state requester ask the coordinator for
the current view
#* The state requests ships its current view id
#* The coordinator checks if the view id equals the current view-id
#* If the view-ids don't match, the coordinator sends the *full view* (not delta view)
to the state requester
#* Else: no-op
#* This requires 2 new messages: a GET_CURRENT_VIEW(view-id) request and a
SET_CURRENT_VIEW(full-view) response
#* This could also be used when we receive a delta-view, but don't have the required
view-id (investigate this later)
State transfer: views installed during state transfer are never
installed at the state requester
------------------------------------------------------------------------------------------------
Key: JGRP-1751
URL:
https://issues.jboss.org/browse/JGRP-1751
Project: JGroups
Issue Type: Enhancement
Reporter: Bela Ban
Assignee: Bela Ban
Fix For: 3.5
If a state requester requests state and BARRIER drops all messages at the state
requester, then a view V dispatched by the coordinator during the state transfer will
never be installed at the state requester:
* The current view is V1=\{A,B\}
* B requests the state from A
* A gets a JOIN from C
* A mcasts the new view V2=\{A,B,C\}, seqno=6
* A sends back a unicast state response to B including the state and a digest with A:6
(*including* V2)
* B receives the unicast state response and installs the state and digest
** B's digest for A is 6
* B receives V2 (A:6), but *drops it as message 6 is already in its digest for A !*
--> B will never install V2 !
This applies to all state transfer protocols which use BARRIER (STATE_TRANSFER, STATE,
STATE_SOCK).
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see:
http://www.atlassian.com/software/jira