This is an automated email from the ASF dual-hosted git repository. mhanson 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 a309bb6 Geode 8886 new test (#6128) a309bb6 is described below commit a309bb6c8a58bdb7f9d2b6c0380a9156cfdda869 Author: mhansonp <hans...@vmware.com> AuthorDate: Mon Apr 12 15:02:57 2021 -0700 Geode 8886 new test (#6128) GEODE-8886: New test with documentation corrections. --- ...ANRollingUpgradeVerifyGatewaySenderProfile.java | 48 +++++++++++++++++++++- 1 file changed, 47 insertions(+), 1 deletion(-) diff --git a/geode-wan/src/upgradeTest/java/org/apache/geode/cache/wan/WANRollingUpgradeVerifyGatewaySenderProfile.java b/geode-wan/src/upgradeTest/java/org/apache/geode/cache/wan/WANRollingUpgradeVerifyGatewaySenderProfile.java index 04bfea8..e7c328c 100644 --- a/geode-wan/src/upgradeTest/java/org/apache/geode/cache/wan/WANRollingUpgradeVerifyGatewaySenderProfile.java +++ b/geode-wan/src/upgradeTest/java/org/apache/geode/cache/wan/WANRollingUpgradeVerifyGatewaySenderProfile.java @@ -31,7 +31,7 @@ import org.apache.geode.test.version.VersionManager; public class WANRollingUpgradeVerifyGatewaySenderProfile extends WANRollingUpgradeDUnitTest { @Test - // Thigit s test verifies that a GatewaySenderProfile serializes properly between versions. + // This test verifies that a GatewaySenderProfile serializes properly between versions new to old. public void testVerifyGatewaySenderProfile() { final Host host = Host.getHost(0); VM oldLocator = host.getVM(oldVersion, 0); @@ -73,4 +73,50 @@ public class WANRollingUpgradeVerifyGatewaySenderProfile extends WANRollingUpgra ie.remove(); } } + + @Test + // This test verifies that a GatewaySenderProfile serializes properly between versions old to new. + public void testOldServerCanUnderstandNewGatewaySenderProfile() { + + VM oldLocator = VM.getVM(oldVersion, 0); + VM oldServer = VM.getVM(oldVersion, 1); + VM currentServer = VM.getVM(VersionManager.CURRENT_VERSION, 2); + + // Start locator + final int port = getRandomAvailableTCPPort(); + oldLocator.invoke(() -> DistributedTestUtils.deleteLocatorStateFile(port)); + final String locators = VM.getHostName() + "[" + port + "]"; + oldLocator.invoke(() -> startLocator(port, 0, locators, "")); + + IgnoredException ie = + IgnoredException.addIgnoredException("could not get remote locator information"); + try { + String senderId = getName() + "_gatewaysender"; + + // Start current server + currentServer.invoke(() -> createCache(locators)); + + // Create GatewaySender in new server + currentServer.invoke(() -> createGatewaySender(senderId, 10, + ParallelGatewaySenderQueue.DEFAULT_MESSAGE_SYNC_INTERVAL)); + + // Locators before 1.4 handled configuration asynchronously. + // We must wait for configuration configuration to be ready, or confirm that it is disabled. + oldLocator.invoke( + () -> await() + .untilAsserted(() -> assertTrue( + !InternalLocator.getLocator().getConfig().getEnableClusterConfiguration() + || InternalLocator.getLocator().isSharedConfigurationRunning()))); + + // Start old server + oldServer.invoke(() -> createCache(locators)); + + // Attempt to create GatewaySender in old server + oldServer.invoke(() -> createGatewaySender(senderId, 10, + ParallelGatewaySenderQueue.DEFAULT_MESSAGE_SYNC_INTERVAL)); + + } finally { + ie.remove(); + } + } }