BUG-8858: remove sleeps from test driver 40/62140/3
authorRobert Varga <robert.varga@pantheon.tech>
Tue, 22 Aug 2017 08:51:58 +0000 (10:51 +0200)
committerRobert Varga <nite@hq.sk>
Tue, 5 Sep 2017 09:09:42 +0000 (09:09 +0000)
This is a follow-up patch to speed up test driver, properly
chasing leader, without any sleeps incurred.

Change-Id: I55ed680ad3f45813b3ee3d8b948046c4ae34e273
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
opendaylight/md-sal/samples/clustering-test-app/provider/src/main/java/org/opendaylight/controller/clustering/it/provider/impl/FlappingSingletonService.java

index 197fadad9b64056c3f175bf609b7fc5426b508fc..019ecb81965653b1426b15554087e05e2f0f3437 100644 (file)
@@ -45,19 +45,14 @@ public class FlappingSingletonService implements ClusterSingletonService {
     @Override
     public void instantiateServiceInstance() {
         LOG.debug("Instantiating flapping-singleton-service.");
-
-        // TODO direct registration/close seem to trigger a bug in singleton state transitions,
-        // remove the whole executor shenanigans after it's fixed.
-        EXECUTOR.submit(() -> {
-            try {
-                registration.close();
-                registration = null;
-            } catch (final Exception e) {
-                LOG.warn("There was a problem closing flapping singleton service.", e);
-                setInactive();
-                flapCount = -flapCount;
-            }
-        });
+        try {
+            registration.close();
+            registration = null;
+        } catch (final Exception e) {
+            LOG.warn("There was a problem closing flapping singleton service.", e);
+            setInactive();
+            flapCount = -flapCount;
+        }
     }
 
     @Override
@@ -66,20 +61,14 @@ public class FlappingSingletonService implements ClusterSingletonService {
 
         flapCount++;
         if (active.get()) {
-            // TODO direct registration/close seem to trigger a bug in singleton state transitions,
-            // remove  whole executor shenanigans after it's fixed.
-            // Needs to be delayed slightly otherwise it's triggered as well.
-            EXECUTOR.schedule(() -> {
-                LOG.debug("Running re-registration");
-                try {
-                    registration = singletonServiceProvider.registerClusterSingletonService(this);
-                } catch (final Exception e) {
-                    LOG.warn("There was a problem re-registering flapping singleton service.", e);
-                    setInactive();
-                    flapCount = -flapCount - 1;
-                }
-
-            }, 200, TimeUnit.MILLISECONDS);
+            LOG.debug("Running re-registration");
+            try {
+                registration = singletonServiceProvider.registerClusterSingletonService(this);
+            } catch (final Exception e) {
+                LOG.warn("There was a problem re-registering flapping singleton service.", e);
+                setInactive();
+                flapCount = -flapCount - 1;
+            }
         }
 
         return Futures.immediateFuture(null);