You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by st...@apache.org on 2015/10/29 15:17:56 UTC
svn commit: r1711275 -
/sling/trunk/bundles/extensions/discovery/base/src/test/java/org/apache/sling/discovery/base/its/AbstractClusterTest.java
Author: stefanegli
Date: Thu Oct 29 14:17:56 2015
New Revision: 1711275
URL: http://svn.apache.org/viewvc?rev=1711275&view=rev
Log:
SLING-5126 / SLING-5195 related: fixing a test
Modified:
sling/trunk/bundles/extensions/discovery/base/src/test/java/org/apache/sling/discovery/base/its/AbstractClusterTest.java
Modified: sling/trunk/bundles/extensions/discovery/base/src/test/java/org/apache/sling/discovery/base/its/AbstractClusterTest.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/discovery/base/src/test/java/org/apache/sling/discovery/base/its/AbstractClusterTest.java?rev=1711275&r1=1711274&r2=1711275&view=diff
==============================================================================
--- sling/trunk/bundles/extensions/discovery/base/src/test/java/org/apache/sling/discovery/base/its/AbstractClusterTest.java (original)
+++ sling/trunk/bundles/extensions/discovery/base/src/test/java/org/apache/sling/discovery/base/its/AbstractClusterTest.java Thu Oct 29 14:17:56 2015
@@ -444,8 +444,22 @@ public abstract class AbstractClusterTes
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 AbstractClusterTes
.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));
}