From 9195c91f87bda61140f0c3fda0e420803c900abd Mon Sep 17 00:00:00 2001 From: Alex Rudyy Date: Mon, 26 May 2014 13:03:14 +0000 Subject: QPID-5715: [Java Broker] Fix test BDBHAVirtualHostNodeTest.testTransferMasterToRemoteReplica git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1597578 13f79535-47bb-0310-9956-ffa450edef68 --- .../server/store/berkeleydb/BDBHAVirtualHostNodeTest.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'qpid/java') 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.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; -- cgit v1.2.1