Uploaded image for project: 'JGroups'
  1. JGroups
  2. JGRP-1014

NAKACK: SET_DIGEST does not overwrite the digest

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Major Major
    • 2.8
    • None
    • None

      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

              rhn-engineering-bban Bela Ban
              rhn-engineering-bban Bela Ban
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

                Created:
                Updated:
                Resolved: