Skip to content

Commit 9560a1a

Browse files
committed
Fix TopicsRecoveryTests to use a unique cluster port for every test
(merge main -> ce/main 107878) [git-p4: depot-paths = "//dev/coherence-ce/main/": change = 107883]
1 parent cbfff61 commit 9560a1a

File tree

1 file changed

+62
-49
lines changed

1 file changed

+62
-49
lines changed

prj/test/functional/topics/src/main/java/topics/TopicsRecoveryTests.java

Lines changed: 62 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818

1919
import com.oracle.bedrock.runtime.coherence.options.WellKnownAddress;
2020
import com.oracle.bedrock.runtime.java.options.IPv4Preferred;
21+
import com.oracle.bedrock.runtime.java.options.SystemProperty;
2122
import com.oracle.bedrock.runtime.options.DisplayName;
2223

2324
import com.oracle.bedrock.testsupport.deferred.Eventually;
@@ -111,6 +112,9 @@ public static void cleanup()
111112
@Before
112113
public void setupTest() throws Exception
113114
{
115+
m_clusterPort.incrementAndGet();
116+
117+
System.setProperty("test.multicast.port", String.valueOf(m_clusterPort.get()));
114118
m_sClusterName = "TopicsRecoveryTests-" + m_cCluster.getAndIncrement();
115119
System.setProperty("coherence.cluster", m_sClusterName);
116120

@@ -128,6 +132,7 @@ public void setupTest() throws Exception
128132
public void cleanupTest()
129133
{
130134
Coherence.closeAll();
135+
CacheFactory.shutdown();
131136
}
132137

133138
@Test
@@ -149,14 +154,15 @@ public void shouldPublishAfterServiceRestart() throws Exception
149154

150155

151156
try (CoherenceClusterMember member = platform.launch(CoherenceClusterMember.class,
152-
ClusterName.of(m_sClusterName),
153-
WellKnownAddress.loopback(),
154-
LocalHost.only(),
155-
LocalStorage.enabled(),
156-
CacheConfig.of(CACHE_CONFIG),
157-
IPv4Preferred.autoDetect(),
158-
s_testLogs.builder(),
159-
DisplayName.of(m_testName.getMethodName())))
157+
ClusterName.of(m_sClusterName),
158+
WellKnownAddress.loopback(),
159+
LocalHost.only(),
160+
SystemProperty.of("test.multicast.port", m_clusterPort.get()),
161+
LocalStorage.enabled(),
162+
CacheConfig.of(CACHE_CONFIG),
163+
IPv4Preferred.autoDetect(),
164+
s_testLogs.builder(),
165+
DisplayName.of(m_testName.getMethodName())))
160166
{
161167
Eventually.assertDeferred(() -> CacheFactory.getCluster().getMemberSet().size(), is(2));
162168
Eventually.assertDeferred(() -> isTopicServiceRunning(member), is(true));
@@ -219,14 +225,15 @@ public void shouldPublishAfterServiceRestartWhenThrottled() throws Exception
219225
String sMsg = "foo";
220226

221227
try (CoherenceClusterMember member = platform.launch(CoherenceClusterMember.class,
222-
ClusterName.of(m_sClusterName),
223-
WellKnownAddress.loopback(),
224-
LocalHost.only(),
225-
LocalStorage.enabled(),
226-
CacheConfig.of(CACHE_CONFIG),
227-
IPv4Preferred.autoDetect(),
228-
s_testLogs.builder(),
229-
DisplayName.of(m_testName.getMethodName())))
228+
ClusterName.of(m_sClusterName),
229+
WellKnownAddress.loopback(),
230+
LocalHost.only(),
231+
LocalStorage.enabled(),
232+
SystemProperty.of("test.multicast.port", m_clusterPort.get()),
233+
CacheConfig.of(CACHE_CONFIG),
234+
IPv4Preferred.autoDetect(),
235+
s_testLogs.builder(),
236+
DisplayName.of(m_testName.getMethodName())))
230237
{
231238
Eventually.assertDeferred(() -> CacheFactory.getCluster().getMemberSet().size(), is(2));
232239
Eventually.assertDeferred(() -> isTopicServiceRunning(member), is(true));
@@ -307,15 +314,16 @@ public void shouldSubscribeWithAnonymousSubscriberAfterServiceRestart() throws E
307314
String sMsg = Base.getRandomString(cbMessage, cbMessage, true);
308315

309316
try (CoherenceClusterMember member = platform.launch(CoherenceClusterMember.class,
310-
ClusterName.of(m_sClusterName),
311-
WellKnownAddress.loopback(),
312-
LocalHost.only(),
313-
LocalStorage.enabled(),
314-
CacheConfig.of(CACHE_CONFIG),
315-
IPv4Preferred.autoDetect(),
316-
s_testLogs.builder(),
317-
LaunchLogging.disabled(),
318-
DisplayName.of(m_testName.getMethodName())))
317+
ClusterName.of(m_sClusterName),
318+
WellKnownAddress.loopback(),
319+
LocalHost.only(),
320+
LocalStorage.enabled(),
321+
SystemProperty.of("test.multicast.port", m_clusterPort.get()),
322+
CacheConfig.of(CACHE_CONFIG),
323+
IPv4Preferred.autoDetect(),
324+
s_testLogs.builder(),
325+
LaunchLogging.disabled(),
326+
DisplayName.of(m_testName.getMethodName())))
319327
{
320328
Eventually.assertDeferred(() -> CacheFactory.getCluster().getMemberSet().size(), is(2));
321329
Eventually.assertDeferred(() -> isTopicServiceRunning(member), is(true));
@@ -396,14 +404,15 @@ public void shouldSubscribeWithGroupSubscriberAfterServiceRestart() throws Excep
396404
String sMsg = Base.getRandomString(cbMessage, cbMessage, true);
397405

398406
try (CoherenceClusterMember member = platform.launch(CoherenceClusterMember.class,
399-
ClusterName.of(m_sClusterName),
400-
WellKnownAddress.loopback(),
401-
LocalHost.only(),
402-
LocalStorage.enabled(),
403-
CacheConfig.of(CACHE_CONFIG),
404-
s_testLogs.builder(),
405-
LaunchLogging.disabled(),
406-
DisplayName.of(m_testName.getMethodName())))
407+
ClusterName.of(m_sClusterName),
408+
WellKnownAddress.loopback(),
409+
LocalHost.only(),
410+
SystemProperty.of("test.multicast.port", m_clusterPort.get()),
411+
LocalStorage.enabled(),
412+
CacheConfig.of(CACHE_CONFIG),
413+
s_testLogs.builder(),
414+
LaunchLogging.disabled(),
415+
DisplayName.of(m_testName.getMethodName())))
407416
{
408417
Eventually.assertDeferred(() -> CacheFactory.getCluster().getMemberSet().size(), is(2));
409418
Eventually.assertDeferred(() -> isTopicServiceRunning(member), is(true));
@@ -478,14 +487,15 @@ public void shouldRecoverFromServiceRestartDuringSubscription() throws Exception
478487
TaskDaemon daemon = new TaskDaemon("test-daemon");
479488

480489
try (CoherenceClusterMember member = platform.launch(CoherenceClusterMember.class,
481-
ClusterName.of(m_sClusterName),
482-
WellKnownAddress.loopback(),
483-
LocalHost.only(),
484-
LocalStorage.enabled(),
485-
CacheConfig.of(CACHE_CONFIG),
486-
LaunchLogging.disabled(),
487-
s_testLogs.builder(),
488-
DisplayName.of(m_testName.getMethodName())))
490+
ClusterName.of(m_sClusterName),
491+
WellKnownAddress.loopback(),
492+
LocalHost.only(),
493+
LocalStorage.enabled(),
494+
SystemProperty.of("test.multicast.port", m_clusterPort.get()),
495+
CacheConfig.of(CACHE_CONFIG),
496+
LaunchLogging.disabled(),
497+
s_testLogs.builder(),
498+
DisplayName.of(m_testName.getMethodName())))
489499
{
490500
Eventually.assertDeferred(() -> CacheFactory.getCluster().getMemberSet().size(), is(2));
491501
Eventually.assertDeferred(() -> isTopicServiceRunning(member), is(true));
@@ -532,14 +542,15 @@ public void shouldRecoverFromServiceRestartDuringPublishing() throws Exception
532542
TaskDaemon daemon = new TaskDaemon("test-daemon");
533543

534544
try (CoherenceClusterMember member = platform.launch(CoherenceClusterMember.class,
535-
ClusterName.of(m_sClusterName),
536-
WellKnownAddress.loopback(),
537-
LocalHost.only(),
538-
LocalStorage.enabled(),
539-
CacheConfig.of(CACHE_CONFIG),
540-
LaunchLogging.disabled(),
541-
s_testLogs.builder(),
542-
DisplayName.of(m_testName.getMethodName())))
545+
ClusterName.of(m_sClusterName),
546+
WellKnownAddress.loopback(),
547+
LocalHost.only(),
548+
LocalStorage.enabled(),
549+
SystemProperty.of("test.multicast.port", m_clusterPort.get()),
550+
CacheConfig.of(CACHE_CONFIG),
551+
LaunchLogging.disabled(),
552+
s_testLogs.builder(),
553+
DisplayName.of(m_testName.getMethodName())))
543554
{
544555
Eventually.assertDeferred(() -> CacheFactory.getCluster().getMemberSet().size(), is(2));
545556
Eventually.assertDeferred(() -> isTopicServiceRunning(member), is(true));
@@ -901,5 +912,7 @@ public int getReceived()
901912

902913
private final AtomicInteger m_cCluster = new AtomicInteger();
903914

915+
public static final AtomicInteger m_clusterPort = new AtomicInteger(7574);
916+
904917
private String m_sClusterName;
905918
}

0 commit comments

Comments
 (0)