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

GMS shouldn't bundle requests that can't be processed together

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Minor Minor
    • 3.0.11, 3.1
    • 3.0, 3.1
    • None

      GMS's Requests are divided into two categories:
      1/ Can Be Processed Together (CBPT): JOIN, LEAVE and SUSPECT
      2 Can Not Be Processed Together (CNBPT) : MERGE and JOIN_WITH_STATE_TRANSFER

      Bundling concerns only CBPT requests. So when a CNBPT request is received, it should be processed immediately.

      Currently, a MERGE request is postponed due to bundling instead of being executed immediately. Two conditions to unblock it:

      • Timeout expiration.
      • Receiving another message. Note that whatever the following message is, it can't be processed with CBPT message

      Expected behavior: Treating immediately CNBPT requests

      A simple solution: Bring a light modification to method GMS.ViewHandler.run() at line 1333
      -------------
      if(wait_time > 0)

      becomes :

      if(wait_time > 0 && firstRequest.canBeProcessedTogether(firstRequest))
      -------------

      Note that if a request can't be processed with a request of the same type => it coudn't be processed with any other request type

              rhn-engineering-bban Bela Ban
              blcjgroups Benoit Leblanc (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

                Created:
                Updated:
                Resolved: