----------------------------------------------------------- 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
