You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by mh...@apache.org on 2021/04/12 22:04:13 UTC

[geode] branch develop updated: Geode 8886 new test (#6128)

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 <ha...@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();
+    }
+  }
 }