summaryrefslogtreecommitdiff
path: root/qpid/java
diff options
context:
space:
mode:
Diffstat (limited to 'qpid/java')
-rw-r--r--qpid/java/bdbstore/src/test/java/org/apache/qpid/server/store/berkeleydb/BDBHAVirtualHostNodeTest.java13
1 files changed, 13 insertions, 0 deletions
diff --git a/qpid/java/bdbstore/src/test/java/org/apache/qpid/server/store/berkeleydb/BDBHAVirtualHostNodeTest.java b/qpid/java/bdbstore/src/test/java/org/apache/qpid/server/store/berkeleydb/BDBHAVirtualHostNodeTest.java
index f28828db18..4399077a46 100644
--- a/qpid/java/bdbstore/src/test/java/org/apache/qpid/server/store/berkeleydb/BDBHAVirtualHostNodeTest.java
+++ b/qpid/java/bdbstore/src/test/java/org/apache/qpid/server/store/berkeleydb/BDBHAVirtualHostNodeTest.java
@@ -336,6 +336,8 @@ public class BDBHAVirtualHostNodeTest extends QpidTestCase
assertTrue("Replication nodes have not been seen during 5s", remoteNodeLatch.await(5, TimeUnit.SECONDS));
BDBHARemoteReplicationNodeImpl replicaRemoteNode = (BDBHARemoteReplicationNodeImpl)lastSeenReplica.get();
+ awaitForAttributeChange(replicaRemoteNode, BDBHARemoteReplicationNodeImpl.ROLE, "REPLICA");
+
replicaRemoteNode.setAttributes(Collections.<String,Object>singletonMap(BDBHARemoteReplicationNode.ROLE, "MASTER"));
BDBHAVirtualHostNode<?> replica = replicaRemoteNode.getName().equals(node2.getName())? node2 : node3;
@@ -455,6 +457,17 @@ public class BDBHAVirtualHostNodeTest extends QpidTestCase
assertEquals("Unexpected node number", expectedNodeNumber, node.getRemoteReplicationNodes().size());
}
+ private void awaitForAttributeChange(ConfiguredObject<?> object, String name, Object expectedValue) throws InterruptedException
+ {
+ int awaitCounter = 0;
+ while(!object.equals(object.getAttribute(name)) && awaitCounter < 50)
+ {
+ Thread.sleep(100);
+ awaitCounter++;
+ }
+ assertEquals("Unexpected attribute " + name + " on " + object, expectedValue, object.getAttribute(name) );
+ }
+
private BDBHAVirtualHostNode<?> awaitAndFindNodeInRole(String role) throws InterruptedException
{
BDBHAVirtualHostNode<?> replica = null;