-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/39722/
-----------------------------------------------------------

Review request for geode, anilkumar gingade, Jason Huynh, Jianxia Chen, and 
Lynn Gallinat.


Repository: geode


Description
-------

1) Locator join-timeout has been bumped from 17 sec to 24.  This allows it to 
join in spite of the loss of the current coordinator and several backup 
coordinators.

2) Join responses are now sent after "prepare for view" messages so that other 
members have some knowledge of the new members before they are allowed into the 
system.  If the coordinator dies before completing preparation the new 
coordinator will find this prepared view and now adds its new members to its 
own membership view.

3) We no longer clear the collection of potential-coordinators when a new view 
is processed during startup.  Since join-requests have already been sent to 
these addresses there is no point in trying them again.

4) The coordinator now periodically sends out the current view to members and 
to crashed members of the last view using unreliable messaging.  This helps get 
rid of rogue processes & is similar to what we did with the view-sync JGroups 
protocol in GemFire.  I new method for unreliable message transmission to 
Messenger for this purpose.  This keeps JGroups UNICAST3 protocol from 
recreating a retransmission table entry for the old, crashed, members who would 
reject the old sequence numbers generated by the new table entry and never 
dispatch the messages.

5) Removal requests are now processed in the ViewCreator after all other 
requests have been processed.  This prevents a member from being kicked out 
when we've already received a shutdown message from that member.

6) Several new unit tests


Diffs
-----

  
gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/GMSMember.java
 d5b2e6bfdd53711dc2423a4b17f4aad970f07ede 
  
gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/ServiceConfig.java
 dc25ad26f5960effafbe82d2346607db53a162bb 
  
gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/fd/GMSHealthMonitor.java
 7e11655351204f9ce4c0c8214d353ae00febf620 
  
gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/interfaces/Messenger.java
 e6b7f0707a2189c432d66c0c640361324298f350 
  
gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/membership/GMSJoinLeave.java
 af050be970c0a2d3d8451f6cda46f423db0f0e51 
  
gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/messenger/JGroupsMessenger.java
 ba941f85d6d8874bc14fc45caf81cab5c157bd3b 
  
gemfire-core/src/main/java/com/gemstone/gemfire/internal/util/PluckStacks.java 
fea45cec8983f09e2993ef86ae371631df036cf4 
  
gemfire-core/src/test/java/com/gemstone/gemfire/distributed/internal/membership/gms/membership/GMSJoinLeaveJUnitTest.java
 41b0df79c9d76809845deea28379526702bac9cb 

Diff: https://reviews.apache.org/r/39722/diff/


Testing
-------

unit tests, integration testing


Thanks,

Bruce Schuchardt

Reply via email to