You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by ro...@apache.org on 2017/11/07 09:25:47 UTC

[sling-org-apache-sling-discovery-base] 07/16: SLING-5126 / SLING-5195 related: fixing a test

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

rombert pushed a commit to annotated tag org.apache.sling.discovery.base-1.0.2
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-discovery-base.git

commit 479ea55dc5ac3e347f021f333f06c5a30e8bd5c6
Author: Stefan Egli <st...@apache.org>
AuthorDate: Thu Oct 29 14:17:56 2015 +0000

    SLING-5126 / SLING-5195 related: fixing a test
    
    git-svn-id: https://svn.apache.org/repos/asf/sling/trunk/bundles/extensions/discovery/base@1711275 13f79535-47bb-0310-9956-ffa450edef68
---
 .../discovery/base/its/AbstractClusterTest.java    | 30 +++++++++++++++++++---
 1 file changed, 27 insertions(+), 3 deletions(-)

diff --git a/src/test/java/org/apache/sling/discovery/base/its/AbstractClusterTest.java b/src/test/java/org/apache/sling/discovery/base/its/AbstractClusterTest.java
index 31c3b36..044f556 100644
--- a/src/test/java/org/apache/sling/discovery/base/its/AbstractClusterTest.java
+++ b/src/test/java/org/apache/sling/discovery/base/its/AbstractClusterTest.java
@@ -444,8 +444,22 @@ public abstract class AbstractClusterTest {
         for(int i=0; i<25; i++) {
             runHeartbeatOnceWith(instance1Restarted, instance2, instance3, instance5);
             instance1.getViewChecker().checkView();
-            assertTrue(pingConnector(instance3, instance2));
-            assertTrue(pingConnector(instance5, instance2));
+            // we used to do:
+            //assertTrue(pingConnector(instance3, instance2));
+            // but that could fail with the introduction of marking
+            // an establishedView as failing upon detecting a view change
+            // when the view changes, we're sending TOPOLOGY_CHANGING to listeners
+            // so getTopology() should also return isCurrent==false - which
+            // means that doing a ping will also fail, cos that wants to 
+            // get a current topology to send as an announcement.
+            // which is a long way of saying: we cannot do an assert here
+            // since instance3 *can* have an undefined cluster view..
+            try{
+                pingConnector(instance3, instance2);
+            } catch(UndefinedClusterViewException ucve) {
+                // ignore
+            }
+            pingConnector(instance5, instance2);
             final TopologyView topology = instance3.getDiscoveryService().getTopology();
             InstanceDescription i3 = null;
             for (Iterator<InstanceDescription> it = topology.getInstances().iterator(); it.hasNext();) {
@@ -592,7 +606,17 @@ public abstract class AbstractClusterTest {
                 .setMinEventDelay(MIN_EVENT_DELAY).build();
         for(int i=0; i<3; i++) {
             runHeartbeatOnceWith(instance1Restarted, instance2, instance3, instance4, instance5);
-            assertTrue(pingConnector(instance3, instance2));
+            Thread.sleep(250);
+            // since instance4 just started - hooked to instance3 
+            // it is possible that it doesn't just have a topology
+            // yet - so we cannot do:
+            //assertTrue(pingConnector(instance3, instance2));
+            // but instead do
+            try{
+                pingConnector(instance3, instance2);
+            } catch(UndefinedClusterViewException ucve) {
+                // ignore
+            }
             assertTrue(pingConnector(instance5, instance2));
         }
 

-- 
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.