Repository: qpid-broker-j
Updated Branches:
  refs/heads/master 4c89667b1 -> b91ddb20e


QPID-8158: [Broker-J] [System Tests] Initialize group members before each tetst


Project: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/commit/5b756ecf
Tree: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/tree/5b756ecf
Diff: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/diff/5b756ecf

Branch: refs/heads/master
Commit: 5b756ecfe4fb9ac5ecd83960b1e033214775025e
Parents: 4c89667
Author: Alex Rudyy <oru...@apache.org>
Authored: Thu Apr 12 23:02:16 2018 +0100
Committer: Alex Rudyy <oru...@apache.org>
Committed: Thu Apr 12 23:02:44 2018 +0100

----------------------------------------------------------------------
 .../replication/GroupBrokerAdmin.java           | 39 +++++++++++++-------
 1 file changed, 25 insertions(+), 14 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/5b756ecf/bdbstore/systests/src/test/java/org/apache/qpid/server/store/berkeleydb/replication/GroupBrokerAdmin.java
----------------------------------------------------------------------
diff --git 
a/bdbstore/systests/src/test/java/org/apache/qpid/server/store/berkeleydb/replication/GroupBrokerAdmin.java
 
b/bdbstore/systests/src/test/java/org/apache/qpid/server/store/berkeleydb/replication/GroupBrokerAdmin.java
index f82a9ad..583a025 100644
--- 
a/bdbstore/systests/src/test/java/org/apache/qpid/server/store/berkeleydb/replication/GroupBrokerAdmin.java
+++ 
b/bdbstore/systests/src/test/java/org/apache/qpid/server/store/berkeleydb/replication/GroupBrokerAdmin.java
@@ -69,44 +69,47 @@ public class GroupBrokerAdmin
 
     private GroupMember[] _members;
     private ListeningExecutorService _executorService;
+    private SpawnBrokerAdmin[] _brokers;
+    private String _groupName;
 
     public void beforeTestClass(final Class testClass)
     {
         GroupConfig runBrokerAdmin = (GroupConfig) 
testClass.getAnnotation(GroupConfig.class);
         int numberOfNodes = runBrokerAdmin == null ? 2 : 
runBrokerAdmin.numberOfNodes();
-        String groupName = runBrokerAdmin == null ? "test-ha" : 
runBrokerAdmin.groupName();
+        _groupName = runBrokerAdmin == null ? "test-ha" : 
runBrokerAdmin.groupName();
         _executorService = 
MoreExecutors.listeningDecorator(Executors.newFixedThreadPool(numberOfNodes));
 
-        SpawnBrokerAdmin[] admins =
-                
Stream.generate(SpawnBrokerAdmin::new).limit(numberOfNodes).toArray(SpawnBrokerAdmin[]::new);
+        _brokers = 
Stream.generate(SpawnBrokerAdmin::new).limit(numberOfNodes).toArray(SpawnBrokerAdmin[]::new);
 
         boolean started = false;
         try
         {
             int startupTimeout = 
Integer.getInteger(SYSTEST_PROPERTY_SPAWN_BROKER_STARTUP_TIME, 30000);
-            awaitFuture(startupTimeout, 
invokeParallel(Arrays.stream(admins).map(a -> (Callable<Void>) () -> {
+            awaitFuture(startupTimeout, 
invokeParallel(Arrays.stream(_brokers).map(a -> (Callable<Void>) () -> {
                 a.beforeTestClass(testClass);
                 return null;
             }).collect(Collectors.toList())));
 
-            _members = initializeGroupData(groupName, admins);
             started = true;
         }
         finally
         {
             if (!started)
             {
-                for (SpawnBrokerAdmin a : admins)
+                for (SpawnBrokerAdmin a : _brokers)
                 {
                     a.afterTestClass(testClass);
                 }
                 _executorService.shutdown();
+                _brokers = null;
+                _executorService = null;
             }
         }
     }
 
     public void beforeTestMethod(final Class testClass, final Method method)
     {
+        _members = initializeGroupData(_groupName, _brokers);
         GroupMember first = _members[0];
         first.getAdmin().beforeTestMethod(_members[0].getName(), NODE_TYPE, 
_members[0].getNodeAttributes());
         awaitNodeRoleReplicaOrMaster(first);
@@ -134,20 +137,28 @@ public class GroupBrokerAdmin
 
     public void afterTestMethod(final Class testClass, final Method method)
     {
-        awaitFuture(WAIT_LIMIT, invokeParallel(Arrays.stream(_members).map(m 
-> (Callable<Void>) () -> {
-            m.getAdmin().afterTestMethod(testClass, method);
-            return null;
-        }).collect(Collectors.toList())));
+        if (_members != null)
+        {
+            awaitFuture(WAIT_LIMIT, 
invokeParallel(Arrays.stream(_members).map(m -> (Callable<Void>) () -> {
+                m.getAdmin().afterTestMethod(testClass, method);
+                return null;
+            }).collect(Collectors.toList())));
+            _members = null;
+        }
     }
 
     public void afterTestClass(final Class testClass)
     {
         try
         {
-            awaitFuture(WAIT_LIMIT, 
invokeParallel(Arrays.stream(_members).map(m -> (Callable<Void>) () -> {
-                m.getAdmin().afterTestClass(testClass);
-                return null;
-            }).collect(Collectors.toList())));
+            if (_brokers != null)
+            {
+                awaitFuture(WAIT_LIMIT, 
invokeParallel(Arrays.stream(_brokers).map(m -> (Callable<Void>) () -> {
+                    m.afterTestClass(testClass);
+                    return null;
+                }).collect(Collectors.toList())));
+                _brokers = null;
+            }
         }
         finally
         {


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@qpid.apache.org
For additional commands, e-mail: commits-h...@qpid.apache.org

Reply via email to