[jboss-jira] [JBoss JIRA] Commented: (JGRP-1014) NAKACK: SET_DIGEST does not overwrite the digest
Bela Ban (JIRA)
jira-events at lists.jboss.org
Mon Jul 20 12:26:29 EDT 2009
[ https://jira.jboss.org/jira/browse/JGRP-1014?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12476882#action_12476882 ]
Bela Ban commented on JGRP-1014:
--------------------------------
STATE_TRANSFER and STREAMING_STATE_TRANSFER now use OVERWRITE_DIGEST instead of SET_DIGEST. So setting the digest to B:10 after the message B:11 set it to B:11 will reset the digest to B:10, therefore the B:11 message (whose state change was overwritten) will get retransmitted.
> NAKACK: SET_DIGEST does not overwrite the digest
> ------------------------------------------------
>
> Key: JGRP-1014
> URL: https://jira.jboss.org/jira/browse/JGRP-1014
> Project: JGroups
> Issue Type: Bug
> Reporter: Bela Ban
> Assignee: Bela Ban
> Fix For: 2.8
>
>
> When we set a digest in NAKACK, we do not overwrite an element for a member if it already exists. With state transfer, the following issue can occur (see [1]):
> Scenario #2:
> - [NAKACK] D receives B:11 (digest is 11 now for B)
> - [NAKACK] D applies the digest: this does NOT reset the digest for B to #10, but it remains #11 !!
> - D delivers B:11 to the app, changes state
> - D sets state, overwriting the change from B:11
> --> B:11 will NOT get retransmitted as the digest in NAKACK contains it !
> --> B:11 is lost
> SOLUTION: maybe add a 'state' boolean to the setDigest() method and overwrite if true
> This is a regression in 2.8 only; 2.6.x and 2.4.x handle SET_DIGEST correctly and do overwrite the digest.
> [1] https://jira.jboss.org/jira/browse/JGRP-1013
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the jboss-jira
mailing list