geode-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From upthewatersp...@apache.org
Subject [geode] branch develop updated: GEODE-5676: Disconnect system before closing SocketCreatorFactory
Date Tue, 16 Oct 2018 22:26:08 GMT
This is an automated email from the ASF dual-hosted git repository.

upthewaterspout pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/geode.git


The following commit(s) were added to refs/heads/develop by this push:
     new df30df1  GEODE-5676: Disconnect system before closing SocketCreatorFactory
df30df1 is described below

commit df30df1c8e9a1216a3f9bd07b712e3c4fa99031d
Author: Dan Smith <upthewaterspout@apache.org>
AuthorDate: Mon Oct 15 15:29:42 2018 -0700

    GEODE-5676: Disconnect system before closing SocketCreatorFactory
    
    The MemberStarterRule was closing SocketCreatorFactory before calling
    DistributedSystem.disconnect. In the case of
    ClusterConfigLocatorRestartDUnitTest there was a reconnect thread
    running in the background that ended up throwing a NullPointerException
    if the SocketCreatorFactory was closed. This led to an infinite loop in
    the reconnect thread.
    
    We should not be messing with the internal state of Geode until we call
    disconnect to stop all of Geode's background threads.
    
    Co-Authored-By: Dale Emery <demery@pivotal.io>
---
 .../main/java/org/apache/geode/test/junit/rules/MemberStarterRule.java  | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/geode-dunit/src/main/java/org/apache/geode/test/junit/rules/MemberStarterRule.java
b/geode-dunit/src/main/java/org/apache/geode/test/junit/rules/MemberStarterRule.java
index e78683c..c7ac32e 100644
--- a/geode-dunit/src/main/java/org/apache/geode/test/junit/rules/MemberStarterRule.java
+++ b/geode-dunit/src/main/java/org/apache/geode/test/junit/rules/MemberStarterRule.java
@@ -129,10 +129,10 @@ public abstract class MemberStarterRule<T> extends SerializableExternalResource
     // invoke stop() first and then ds.disconnect
     stopMember();
 
+    disconnectDSIfAny();
     // this will clean up the SocketCreators created in this VM so that it won't contaminate
     // future tests
     SocketCreatorFactory.close();
-    disconnectDSIfAny();
 
     if (temporaryFolder != null) {
       temporaryFolder.delete();


Mime
View raw message