diff options
| author | Keith Wall <kwall@apache.org> | 2014-06-18 22:15:54 +0000 |
|---|---|---|
| committer | Keith Wall <kwall@apache.org> | 2014-06-18 22:15:54 +0000 |
| commit | baa3cc48506e60d86f44577a410fd3683be30014 (patch) | |
| tree | e334e48db83d6f9209b5a71f76e1b657a35b5710 /qpid/java/bdbstore/src/test | |
| parent | 3a95f8c316e8d81a876094409a5952b3f41b5ba3 (diff) | |
| download | qpid-python-baa3cc48506e60d86f44577a410fd3683be30014.tar.gz | |
QPID-5822: [Java Broker] Replace low level BDB/JDBC attributes in fovour of context variables from the model
* BDB attributes environmentConfiguration/replicatedEnvironmentConfiguration removed. User can now specify
context variables with the configuration keys that are understood by JE itself.
* JDBC attributes bigIntType/bytesForBlob/varBinaryType/blobType are now context variables with names begining qpid.jdbcstore.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1603655 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java/bdbstore/src/test')
4 files changed, 63 insertions, 31 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 a2ef422046..f9bdaeda93 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 @@ -56,6 +56,7 @@ import org.apache.qpid.server.virtualhost.berkeleydb.BDBHAVirtualHostImpl; import org.apache.qpid.server.virtualhostnode.berkeleydb.BDBHARemoteReplicationNode; import org.apache.qpid.server.virtualhostnode.berkeleydb.BDBHARemoteReplicationNodeImpl; import org.apache.qpid.server.virtualhostnode.berkeleydb.BDBHAVirtualHostNode; +import org.apache.qpid.server.virtualhostnode.berkeleydb.BDBHAVirtualHostNodeImpl; import org.apache.qpid.test.utils.QpidTestCase; import org.apache.qpid.util.FileUtils; @@ -132,14 +133,14 @@ public class BDBHAVirtualHostNodeTest extends QpidTestCase UUID id = UUID.randomUUID(); Map<String, Object> attributes = new HashMap<String, Object>(); - attributes.put(BDBHAVirtualHostNode.TYPE, "BDB_HA"); + attributes.put(BDBHAVirtualHostNode.TYPE, BDBHAVirtualHostNodeImpl.VIRTUAL_HOST_NODE_TYPE); attributes.put(BDBHAVirtualHostNode.ID, id); attributes.put(BDBHAVirtualHostNode.NAME, nodeName); attributes.put(BDBHAVirtualHostNode.GROUP_NAME, groupName); attributes.put(BDBHAVirtualHostNode.ADDRESS, nodeHostPort); attributes.put(BDBHAVirtualHostNode.HELPER_ADDRESS, helperHostPort); attributes.put(BDBHAVirtualHostNode.STORE_PATH, _bdbStorePath); - attributes.put(BDBHAVirtualHostNode.REPLICATED_ENVIRONMENT_CONFIGURATION, + attributes.put(BDBHAVirtualHostNode.CONTEXT, Collections.singletonMap(ReplicationConfig.REP_STREAM_TIMEOUT, repStreamTimeout)); BDBHAVirtualHostNode<?> node = createHaVHN(attributes); diff --git a/qpid/java/bdbstore/src/test/java/org/apache/qpid/server/store/berkeleydb/BDBMessageStoreQuotaEventsTest.java b/qpid/java/bdbstore/src/test/java/org/apache/qpid/server/store/berkeleydb/BDBMessageStoreQuotaEventsTest.java index 2afdaa4dd5..f445171005 100644 --- a/qpid/java/bdbstore/src/test/java/org/apache/qpid/server/store/berkeleydb/BDBMessageStoreQuotaEventsTest.java +++ b/qpid/java/bdbstore/src/test/java/org/apache/qpid/server/store/berkeleydb/BDBMessageStoreQuotaEventsTest.java @@ -66,12 +66,16 @@ public class BDBMessageStoreQuotaEventsTest extends MessageStoreQuotaEventsTestB messageStoreSettings.put(MessageStore.STORE_PATH, storeLocation); messageStoreSettings.put(MessageStore.OVERFULL_SIZE, OVERFULL_SIZE); messageStoreSettings.put(MessageStore.UNDERFULL_SIZE, UNDERFULL_SIZE); - Map<String,String> envMap = Collections.singletonMap("je.log.fileMax", MAX_BDB_LOG_SIZE); - messageStoreSettings.put(EnvironmentFacadeFactory.ENVIRONMENT_CONFIGURATION, envMap); return messageStoreSettings; } @Override + protected Map<String, String> createContextSettings() + { + return Collections.singletonMap("je.log.fileMax", MAX_BDB_LOG_SIZE); + } + + @Override protected MessageStore createStore() throws Exception { MessageStore store = (new BDBConfigurationStore()).getMessageStore(); diff --git a/qpid/java/bdbstore/src/test/java/org/apache/qpid/server/store/berkeleydb/StandardEnvironmentFacadeTest.java b/qpid/java/bdbstore/src/test/java/org/apache/qpid/server/store/berkeleydb/StandardEnvironmentFacadeTest.java index 5772498ebc..9521f7d85d 100644 --- a/qpid/java/bdbstore/src/test/java/org/apache/qpid/server/store/berkeleydb/StandardEnvironmentFacadeTest.java +++ b/qpid/java/bdbstore/src/test/java/org/apache/qpid/server/store/berkeleydb/StandardEnvironmentFacadeTest.java @@ -20,8 +20,12 @@ */ package org.apache.qpid.server.store.berkeleydb; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; + import java.io.File; import java.util.Collections; +import java.util.Map; import org.apache.qpid.test.utils.QpidTestCase; import org.apache.qpid.util.FileUtils; @@ -29,6 +33,7 @@ import org.apache.qpid.util.FileUtils; import com.sleepycat.je.Database; import com.sleepycat.je.DatabaseConfig; import com.sleepycat.je.Environment; +import com.sleepycat.je.EnvironmentConfig; public class StandardEnvironmentFacadeTest extends QpidTestCase { @@ -62,7 +67,7 @@ public class StandardEnvironmentFacadeTest extends QpidTestCase public void testEnvironmentFacade() throws Exception { - EnvironmentFacade ef = getEnvironmentFacade(); + EnvironmentFacade ef = createEnvironmentFacade(); assertNotNull("Environment should not be null", ef); Environment e = ef.getEnvironment(); assertTrue("Environment is not valid", e.isValid()); @@ -70,18 +75,32 @@ public class StandardEnvironmentFacadeTest extends QpidTestCase public void testClose() throws Exception { - EnvironmentFacade ef = getEnvironmentFacade(); + EnvironmentFacade ef = createEnvironmentFacade(); ef.close(); Environment e = ef.getEnvironment(); assertNull("Environment should be null after facade close", e); } + public void testOverrideJeParameter() throws Exception + { + String statCollectVarName = EnvironmentConfig.STATS_COLLECT; + + EnvironmentFacade ef = createEnvironmentFacade(); + assertEquals("false", ef.getEnvironment().getMutableConfig().getConfigParam(statCollectVarName)); + ef.close(); + + ef = createEnvironmentFacade(Collections.singletonMap(statCollectVarName, "true")); + assertEquals("true", ef.getEnvironment().getMutableConfig().getConfigParam(statCollectVarName)); + ef.close(); + } + + public void testOpenDatabaseReusesCachedHandle() throws Exception { DatabaseConfig createIfAbsentDbConfig = DatabaseConfig.DEFAULT.setAllowCreate(true); - EnvironmentFacade ef = getEnvironmentFacade(); + EnvironmentFacade ef = createEnvironmentFacade(); Database handle1 = ef.openDatabase("myDatabase", createIfAbsentDbConfig); assertNotNull(handle1); @@ -94,18 +113,21 @@ public class StandardEnvironmentFacadeTest extends QpidTestCase assertNotSame("Expecting a new handle after database closure", handle1, handle3); } - EnvironmentFacade getEnvironmentFacade() throws Exception + EnvironmentFacade createEnvironmentFacade() { - if (_environmentFacade == null) - { - _environmentFacade = createEnvironmentFacade(); - } + _environmentFacade = createEnvironmentFacade(Collections.<String, String>emptyMap()); return _environmentFacade; + } - EnvironmentFacade createEnvironmentFacade() + EnvironmentFacade createEnvironmentFacade(Map<String, String> map) { - return new StandardEnvironmentFacade(_storePath.getAbsolutePath(), Collections.<String, String>emptyMap()); + StandardEnvironmentConfiguration sec = mock(StandardEnvironmentConfiguration.class); + when(sec.getName()).thenReturn(getTestName()); + when(sec.getParameters()).thenReturn(map); + when(sec.getStorePath()).thenReturn(_storePath.getAbsolutePath()); + + return new StandardEnvironmentFacade(sec); } } diff --git a/qpid/java/bdbstore/src/test/java/org/apache/qpid/server/store/berkeleydb/replication/ReplicatedEnvironmentFacadeTest.java b/qpid/java/bdbstore/src/test/java/org/apache/qpid/server/store/berkeleydb/replication/ReplicatedEnvironmentFacadeTest.java index 67364ada35..ec5098f369 100644 --- a/qpid/java/bdbstore/src/test/java/org/apache/qpid/server/store/berkeleydb/replication/ReplicatedEnvironmentFacadeTest.java +++ b/qpid/java/bdbstore/src/test/java/org/apache/qpid/server/store/berkeleydb/replication/ReplicatedEnvironmentFacadeTest.java @@ -252,7 +252,7 @@ public class ReplicatedEnvironmentFacadeTest extends QpidTestCase }; TestStateChangeListener stateChangeListener = new TestStateChangeListener(State.MASTER); - ReplicatedEnvironmentFacade replicatedEnvironmentFacade = addNode(State.MASTER, stateChangeListener, listener); + ReplicatedEnvironmentFacade replicatedEnvironmentFacade = addNode(stateChangeListener, listener); assertTrue("Master was not started", stateChangeListener.awaitForStateChange(LISTENER_TIMEOUT, TimeUnit.SECONDS)); assertEquals("Unexpected number of nodes at start of test", 1, replicatedEnvironmentFacade.getNumberOfElectableGroupMembers()); @@ -296,7 +296,7 @@ public class ReplicatedEnvironmentFacadeTest extends QpidTestCase }; TestStateChangeListener stateChangeListener = new TestStateChangeListener(State.MASTER); - ReplicatedEnvironmentFacade replicatedEnvironmentFacade = addNode(State.MASTER, stateChangeListener, listener); + ReplicatedEnvironmentFacade replicatedEnvironmentFacade = addNode(stateChangeListener, listener); assertTrue("Master was not started", stateChangeListener.awaitForStateChange(LISTENER_TIMEOUT, TimeUnit.SECONDS)); String node2Name = TEST_NODE_NAME + "_2"; @@ -346,7 +346,7 @@ public class ReplicatedEnvironmentFacadeTest extends QpidTestCase }; TestStateChangeListener stateChangeListener = new TestStateChangeListener(State.MASTER); - ReplicatedEnvironmentFacade replicatedEnvironmentFacade = addNode(State.MASTER, stateChangeListener, listener); + ReplicatedEnvironmentFacade replicatedEnvironmentFacade = addNode(stateChangeListener, listener); assertTrue("Master was not started", stateChangeListener.awaitForStateChange(LISTENER_TIMEOUT, TimeUnit.SECONDS)); String node2NodeHostPort = "localhost" + ":" + getNextAvailable(TEST_NODE_PORT + 1); @@ -357,10 +357,10 @@ public class ReplicatedEnvironmentFacadeTest extends QpidTestCase assertTrue("Node add not fired within timeout", nodeAddedLatch.await(LISTENER_TIMEOUT, TimeUnit.SECONDS)); ReplicationNode remoteNode = (ReplicationNode)nodeRef.get(); - assertEquals("Unexpcted node name", node2Name, remoteNode.getName()); + assertEquals("Unexpected node name", node2Name, remoteNode.getName()); assertTrue("Node state not fired within timeout", stateLatch.await(LISTENER_TIMEOUT, TimeUnit.SECONDS)); - assertEquals("Unexpcted node state", State.REPLICA, stateRef.get().getNodeState()); + assertEquals("Unexpected node state", State.REPLICA, stateRef.get().getNodeState()); } public void testRemoveNodeFromGroup() throws Exception @@ -419,7 +419,7 @@ public class ReplicatedEnvironmentFacadeTest extends QpidTestCase }; TestStateChangeListener stateChangeListener = new TestStateChangeListener(State.MASTER); - final ReplicatedEnvironmentFacade masterEnvironment = addNode(State.MASTER, stateChangeListener, listener); + final ReplicatedEnvironmentFacade masterEnvironment = addNode(stateChangeListener, listener); assertTrue("Master was not started", stateChangeListener.awaitForStateChange(LISTENER_TIMEOUT, TimeUnit.SECONDS)); masterEnvironment.setDesignatedPrimary(true); @@ -434,7 +434,7 @@ public class ReplicatedEnvironmentFacadeTest extends QpidTestCase ReplicationNode node = addedNodeRef.get(); assertEquals("Unexpected node name", replicaName, node.getName()); - assertTrue("Node state was not heared", stateLatch.await(WAIT_STATE_CHANGE_TIMEOUT, TimeUnit.SECONDS)); + assertTrue("Node state was not heard", stateLatch.await(WAIT_STATE_CHANGE_TIMEOUT, TimeUnit.SECONDS)); assertEquals("Unexpected node role", State.REPLICA, stateRef.get().getNodeState()); assertEquals("Unexpected node name", replicaName, stateRef.get().getNodeName()); @@ -478,7 +478,7 @@ public class ReplicatedEnvironmentFacadeTest extends QpidTestCase } }; - addNode(State.MASTER, stateChangeListener, new NoopReplicationGroupListener()); + addNode(stateChangeListener, new NoopReplicationGroupListener()); assertTrue("Master was not started", masterLatch.await(LISTENER_TIMEOUT, TimeUnit.SECONDS)); int replica1Port = getNextAvailable(TEST_NODE_PORT + 1); @@ -520,7 +520,7 @@ public class ReplicatedEnvironmentFacadeTest extends QpidTestCase } } }; - ReplicatedEnvironmentFacade firstNode = addNode(State.MASTER, stateChangeListener, new NoopReplicationGroupListener()); + ReplicatedEnvironmentFacade firstNode = addNode(stateChangeListener, new NoopReplicationGroupListener()); assertTrue("Environment did not become a master", firstNodeMasterStateLatch.await(10, TimeUnit.SECONDS)); int replica1Port = getNextAvailable(TEST_NODE_PORT + 1); @@ -548,7 +548,8 @@ public class ReplicatedEnvironmentFacadeTest extends QpidTestCase } } }; - ReplicatedEnvironmentFacade thirdNode = addNode(TEST_NODE_NAME + "_2", node2NodeHostPort, TEST_DESIGNATED_PRIMARY, State.REPLICA, testStateChangeListener, new NoopReplicationGroupListener()); + ReplicatedEnvironmentFacade thirdNode = addNode(TEST_NODE_NAME + "_2", node2NodeHostPort, TEST_DESIGNATED_PRIMARY, + testStateChangeListener, new NoopReplicationGroupListener()); assertTrue("Environment did not become a replica", replicaStateLatch.await(10, TimeUnit.SECONDS)); assertEquals(3, thirdNode.getNumberOfElectableGroupMembers()); @@ -578,7 +579,7 @@ public class ReplicatedEnvironmentFacadeTest extends QpidTestCase } } }; - ReplicatedEnvironmentFacade firstNode = addNode(State.MASTER, stateChangeListener, new NoopReplicationGroupListener()); + ReplicatedEnvironmentFacade firstNode = addNode(stateChangeListener, new NoopReplicationGroupListener()); assertTrue("Environment did not become a master", firstNodeMasterStateLatch.await(10, TimeUnit.SECONDS)); int replica1Port = getNextAvailable(TEST_NODE_PORT + 1); @@ -607,7 +608,8 @@ public class ReplicatedEnvironmentFacadeTest extends QpidTestCase } }; String thirdNodeName = TEST_NODE_NAME + "_2"; - ReplicatedEnvironmentFacade thirdNode = addNode(thirdNodeName, node2NodeHostPort, TEST_DESIGNATED_PRIMARY, State.REPLICA, testStateChangeListener, new NoopReplicationGroupListener()); + ReplicatedEnvironmentFacade thirdNode = addNode(thirdNodeName, node2NodeHostPort, TEST_DESIGNATED_PRIMARY, + testStateChangeListener, new NoopReplicationGroupListener()); assertTrue("Environment did not become a replica", replicaStateLatch.await(10, TimeUnit.SECONDS)); assertEquals(3, thirdNode.getNumberOfElectableGroupMembers()); @@ -665,7 +667,7 @@ public class ReplicatedEnvironmentFacadeTest extends QpidTestCase private ReplicatedEnvironmentFacade createMaster(ReplicationGroupListener replicationGroupListener) throws Exception { TestStateChangeListener stateChangeListener = new TestStateChangeListener(State.MASTER); - ReplicatedEnvironmentFacade env = addNode(State.MASTER, stateChangeListener, replicationGroupListener); + ReplicatedEnvironmentFacade env = addNode(stateChangeListener, replicationGroupListener); assertTrue("Environment was not created", stateChangeListener.awaitForStateChange(LISTENER_TIMEOUT, TimeUnit.SECONDS)); return env; } @@ -680,14 +682,15 @@ public class ReplicatedEnvironmentFacadeTest extends QpidTestCase TestStateChangeListener testStateChangeListener, ReplicationGroupListener replicationGroupListener) throws InterruptedException { - ReplicatedEnvironmentFacade replicaEnvironmentFacade = addNode(nodeName, nodeHostPort, TEST_DESIGNATED_PRIMARY, State.REPLICA, testStateChangeListener, replicationGroupListener); + ReplicatedEnvironmentFacade replicaEnvironmentFacade = addNode(nodeName, nodeHostPort, TEST_DESIGNATED_PRIMARY, + testStateChangeListener, replicationGroupListener); boolean awaitForStateChange = testStateChangeListener.awaitForStateChange(LISTENER_TIMEOUT, TimeUnit.SECONDS); assertTrue("Replica " + nodeName + " did not go into desired state; current actual state is " + testStateChangeListener.getCurrentActualState(), awaitForStateChange); return replicaEnvironmentFacade; } private ReplicatedEnvironmentFacade addNode(String nodeName, String nodeHostPort, boolean designatedPrimary, - State desiredState, StateChangeListener stateChangeListener, ReplicationGroupListener replicationGroupListener) + StateChangeListener stateChangeListener, ReplicationGroupListener replicationGroupListener) { ReplicatedEnvironmentConfiguration config = createReplicatedEnvironmentConfiguration(nodeName, nodeHostPort, designatedPrimary); ReplicatedEnvironmentFacade ref = new ReplicatedEnvironmentFacade(config); @@ -697,9 +700,11 @@ public class ReplicatedEnvironmentFacadeTest extends QpidTestCase return ref; } - private ReplicatedEnvironmentFacade addNode(State desiredState, StateChangeListener stateChangeListener, ReplicationGroupListener replicationGroupListener) + private ReplicatedEnvironmentFacade addNode(StateChangeListener stateChangeListener, + ReplicationGroupListener replicationGroupListener) { - return addNode(TEST_NODE_NAME, TEST_NODE_HOST_PORT, TEST_DESIGNATED_PRIMARY, desiredState, stateChangeListener, replicationGroupListener); + return addNode(TEST_NODE_NAME, TEST_NODE_HOST_PORT, TEST_DESIGNATED_PRIMARY, + stateChangeListener, replicationGroupListener); } private ReplicatedEnvironmentConfiguration createReplicatedEnvironmentConfiguration(String nodeName, String nodeHostPort, boolean designatedPrimary) |
