-
Bug
-
Resolution: Done
-
Minor
-
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
- relates to
-
JGRP-1436 GMS: separate view bundling timeouts for JOIN, LEAVE, MERGE
- Resolved