This is an automated email from the ASF dual-hosted git repository.

mivanac 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 c4ab763dea GEODE-10336: set lastInstance to null (#7843)
c4ab763dea is described below

commit c4ab763dea39328ba276e8c527bf531050f20cde
Author: Mario Ivanac <48509724+miva...@users.noreply.github.com>
AuthorDate: Fri Sep 9 08:05:51 2022 +0200

    GEODE-10336: set lastInstance to null (#7843)
    
    * GEODE-10336: set lastInstance to null
    
    * GEODE-10336: added test
---
 .../apache/geode/internal/tcp/ConnectionTable.java  |  6 ++++++
 .../geode/internal/tcp/ConnectionTableTest.java     | 21 ++++++++++++++++-----
 2 files changed, 22 insertions(+), 5 deletions(-)

diff --git 
a/geode-core/src/main/java/org/apache/geode/internal/tcp/ConnectionTable.java 
b/geode-core/src/main/java/org/apache/geode/internal/tcp/ConnectionTable.java
index f1d157d27f..0a4cf5f8dd 100644
--- 
a/geode-core/src/main/java/org/apache/geode/internal/tcp/ConnectionTable.java
+++ 
b/geode-core/src/main/java/org/apache/geode/internal/tcp/ConnectionTable.java
@@ -655,6 +655,7 @@ public class ConnectionTable {
       map.clear();
     }
     socketCloser.close();
+    emergencyClose();
   }
 
   public void executeCommand(Runnable runnable) {
@@ -1025,6 +1026,11 @@ public class ConnectionTable {
     return receivers.size();
   }
 
+  static boolean checkLastInstanceIsNull() {
+    ConnectionTable ct = lastInstance.get();
+    return ct == null;
+  }
+
   private class PendingConnection {
 
     /**
diff --git 
a/geode-core/src/test/java/org/apache/geode/internal/tcp/ConnectionTableTest.java
 
b/geode-core/src/test/java/org/apache/geode/internal/tcp/ConnectionTableTest.java
index 06112f73c1..31c9c3f20e 100644
--- 
a/geode-core/src/test/java/org/apache/geode/internal/tcp/ConnectionTableTest.java
+++ 
b/geode-core/src/test/java/org/apache/geode/internal/tcp/ConnectionTableTest.java
@@ -14,7 +14,7 @@
  */
 package org.apache.geode.internal.tcp;
 
-import static org.junit.Assert.assertEquals;
+import static org.assertj.core.api.Assertions.assertThat;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
 
@@ -74,7 +74,10 @@ public class ConnectionTableTest {
     when(connection.isSocketClosed()).thenReturn(true);
 
     connectionTable.acceptConnection(socket, factory);
-    assertEquals(0, connectionTable.getNumberOfReceivers());
+    assertThat(connectionTable.getNumberOfReceivers()).isEqualTo(0);
+
+    connectionTable.close();
+    assertThat(ConnectionTable.checkLastInstanceIsNull()).isTrue();
   }
 
   @Test
@@ -86,7 +89,10 @@ public class ConnectionTableTest {
     when(connection.isReceiverStopped()).thenReturn(true);
 
     connectionTable.acceptConnection(socket, factory);
-    assertEquals(0, connectionTable.getNumberOfReceivers());
+    assertThat(connectionTable.getNumberOfReceivers()).isEqualTo(0);
+
+    connectionTable.close();
+    assertThat(ConnectionTable.checkLastInstanceIsNull()).isTrue();
   }
 
   @Test
@@ -95,7 +101,10 @@ public class ConnectionTableTest {
     when(connection.isSocketClosed()).thenReturn(false);
 
     connectionTable.acceptConnection(socket, factory);
-    assertEquals(1, connectionTable.getNumberOfReceivers());
+    assertThat(connectionTable.getNumberOfReceivers()).isEqualTo(1);
+
+    connectionTable.close();
+    assertThat(ConnectionTable.checkLastInstanceIsNull()).isTrue();
   }
 
   @Test
@@ -106,11 +115,13 @@ public class ConnectionTableTest {
       Map<DistributedMember, Connection> threadConnectionMap = new HashMap<>();
       ConnectionTable.threadOrderedConnMap.set(threadConnectionMap);
       ConnectionTable.releaseThreadsSockets();
-      assertEquals(0, threadConnectionMap.size());
+      assertThat(threadConnectionMap.size()).isEqualTo(0);
     } finally {
       if (wantsResources != Boolean.FALSE) {
         ConnectionTable.threadWantsSharedResources();
       }
     }
+    connectionTable.close();
+    assertThat(ConnectionTable.checkLastInstanceIsNull()).isTrue();
   }
 }

Reply via email to