[jboss-jira] [JBoss JIRA] (JGRP-1751) State transfer: views installed during state transfer are never installed at the state requester
Bela Ban (JIRA)
jira-events at lists.jboss.org
Mon Dec 2 04:09:05 EST 2013
[ https://issues.jboss.org/browse/JGRP-1751?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12927750#comment-12927750 ]
Bela Ban edited comment on JGRP-1751 at 12/2/13 4:08 AM:
---------------------------------------------------------
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
# Serialize view installation and state transfer
#* Not good as joins would be delayed by ongoing state transfers (which might take a long time)
# 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)
was (Author: belaban):
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
More information about the jboss-jira
mailing list