GEODE-2875 shutdown is taking as long as 20 seconds With a 1.2.0 release pending I am backing out the part of the fix for this issue that routed certain messages over UDP unicast. This change needs more testing as Hitesh suspects it is implicated in a number of hangs he has seen in his tests.
The Shutdown message is still routed over UDP but all others are now directed to TCP/IP stream sockets, as they were before. Project: http://git-wip-us.apache.org/repos/asf/geode/repo Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/15245dfd Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/15245dfd Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/15245dfd Branch: refs/heads/feature/GEODE-2580 Commit: 15245dfd2b78a593697e46c8710d288883783fc4 Parents: 0f978a6 Author: Bruce Schuchardt <[email protected]> Authored: Wed May 17 13:30:22 2017 -0700 Committer: Bruce Schuchardt <[email protected]> Committed: Thu May 18 08:00:53 2017 -0700 ---------------------------------------------------------------------- .../internal/membership/gms/mgr/GMSMembershipManager.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/geode/blob/15245dfd/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/mgr/GMSMembershipManager.java ---------------------------------------------------------------------- diff --git a/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/mgr/GMSMembershipManager.java b/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/mgr/GMSMembershipManager.java index a41e08a..fe560d9 100644 --- a/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/mgr/GMSMembershipManager.java +++ b/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/mgr/GMSMembershipManager.java @@ -37,6 +37,7 @@ import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReadWriteLock; import java.util.concurrent.locks.ReentrantReadWriteLock; +import org.apache.geode.distributed.internal.ShutdownMessage; import org.apache.logging.log4j.Logger; import org.apache.geode.CancelException; @@ -1866,7 +1867,7 @@ public class GMSMembershipManager implements MembershipManager, Manager { useMcast = (msg.getMulticast() || allDestinations); } - boolean sendViaMessenger = isForceUDPCommunications() || msg.sendViaUDP(); + boolean sendViaMessenger = isForceUDPCommunications() || (msg instanceof ShutdownMessage); if (useMcast || tcpDisabled || sendViaMessenger) { checkAddressesForUUIDs(destinations);
