You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by kw...@apache.org on 2013/12/20 18:09:22 UTC
svn commit: r1552739 - in /qpid/branches/java-broker-bdb-ha/qpid/java:
bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/
bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/replication/
bdbstore/src/test/java/org/apache/qpid/se...
Author: kwall
Date: Fri Dec 20 17:09:21 2013
New Revision: 1552739
URL: http://svn.apache.org/r1552739
Log:
QPID-5411: Stop evaluation of replication node attributes from virtual host attributes and
fix json configuration store to allow recovery of Map fields
Added:
qpid/branches/java-broker-bdb-ha/qpid/java/broker-core/src/main/java/org/apache/qpid/server/configuration/startup/ReplicationNodeRecoverer.java
Modified:
qpid/branches/java-broker-bdb-ha/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/BDBHAVirtualHost.java
qpid/branches/java-broker-bdb-ha/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/BDBHAVirtualHostFactory.java
qpid/branches/java-broker-bdb-ha/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/ReplicatedEnvironmentFacade.java
qpid/branches/java-broker-bdb-ha/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/replication/LocalReplicationNodeFactory.java
qpid/branches/java-broker-bdb-ha/qpid/java/bdbstore/src/test/java/org/apache/qpid/server/store/berkeleydb/VirtualHostTest.java
qpid/branches/java-broker-bdb-ha/qpid/java/broker-core/src/main/java/org/apache/qpid/server/configuration/VirtualHostConfiguration.java
qpid/branches/java-broker-bdb-ha/qpid/java/broker-core/src/main/java/org/apache/qpid/server/configuration/startup/DefaultRecovererProvider.java
qpid/branches/java-broker-bdb-ha/qpid/java/broker-core/src/main/java/org/apache/qpid/server/configuration/startup/VirtualHostRecoverer.java
qpid/branches/java-broker-bdb-ha/qpid/java/broker-core/src/main/java/org/apache/qpid/server/configuration/store/MemoryConfigurationEntryStore.java
qpid/branches/java-broker-bdb-ha/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/Model.java
qpid/branches/java-broker-bdb-ha/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/VirtualHostAdapter.java
qpid/branches/java-broker-bdb-ha/qpid/java/broker-core/src/main/java/org/apache/qpid/server/store/StateManager.java
qpid/branches/java-broker-bdb-ha/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/StandardVirtualHost.java
qpid/branches/java-broker-bdb-ha/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/StandardVirtualHostFactory.java
qpid/branches/java-broker-bdb-ha/qpid/java/broker-core/src/test/java/org/apache/qpid/server/configuration/store/ConfigurationEntryStoreTestCase.java
qpid/branches/java-broker-bdb-ha/qpid/java/broker-core/src/test/java/org/apache/qpid/server/configuration/store/JsonConfigurationEntryStoreTest.java
qpid/branches/java-broker-bdb-ha/qpid/java/broker-core/src/test/java/org/apache/qpid/server/configuration/store/MemoryConfigurationEntryStoreTest.java
qpid/branches/java-broker-bdb-ha/qpid/java/broker-core/src/test/java/org/apache/qpid/server/store/StateManagerTest.java
Modified: qpid/branches/java-broker-bdb-ha/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/BDBHAVirtualHost.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-bdb-ha/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/BDBHAVirtualHost.java?rev=1552739&r1=1552738&r2=1552739&view=diff
==============================================================================
--- qpid/branches/java-broker-bdb-ha/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/BDBHAVirtualHost.java (original)
+++ qpid/branches/java-broker-bdb-ha/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/BDBHAVirtualHost.java Fri Dec 20 17:09:21 2013
@@ -281,7 +281,6 @@ public class BDBHAVirtualHost extends Ab
catch (Exception e)
{
LOGGER.error("Failed to activate on hearing MASTER change event", e);
- throw e;
}
return null;
}
@@ -308,7 +307,6 @@ public class BDBHAVirtualHost extends Ab
catch (Exception e)
{
LOGGER.error("Failed to passivate on hearing REPLICA or DETACHED change event", e);
- throw e;
}
return null;
}
Modified: qpid/branches/java-broker-bdb-ha/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/BDBHAVirtualHostFactory.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-bdb-ha/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/BDBHAVirtualHostFactory.java?rev=1552739&r1=1552738&r2=1552739&view=diff
==============================================================================
--- qpid/branches/java-broker-bdb-ha/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/BDBHAVirtualHostFactory.java (original)
+++ qpid/branches/java-broker-bdb-ha/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/BDBHAVirtualHostFactory.java Fri Dec 20 17:09:21 2013
@@ -66,82 +66,27 @@ public class BDBHAVirtualHostFactory imp
@Override
public void validateAttributes(Map<String, Object> attributes)
{
- validateAttribute(org.apache.qpid.server.model.VirtualHost.STORE_PATH, String.class, attributes);
- validateAttribute("haGroupName", String.class, attributes);
- validateAttribute("haNodeName", String.class, attributes);
- validateAttribute("haNodeAddress", String.class, attributes);
- validateAttribute("haHelperAddress", String.class, attributes);
}
- private void validateAttribute(String attrName, Class<?> clazz, Map<String, Object> attributes)
- {
- Object attr = attributes.get(attrName);
- if(!clazz.isInstance(attr))
- {
- throw new IllegalArgumentException("Attribute '"+ attrName
- +"' is required and must be of type "+clazz.getSimpleName()+".");
- }
- }
@Override
public Map<String, Object> createVirtualHostConfiguration(VirtualHostAdapter virtualHostAdapter)
{
+ //TODO: Dead code?
LinkedHashMap<String,Object> convertedMap = new LinkedHashMap<String, Object>();
convertedMap.put("store.environment-path", virtualHostAdapter.getAttribute(org.apache.qpid.server.model.VirtualHost.STORE_PATH));
-
return convertedMap;
}
+ @Override
public Map<String, Object> convertVirtualHostConfiguration(Configuration configuration)
{
-
LinkedHashMap<String,Object> convertedMap = new LinkedHashMap<String, Object>();
-
Configuration storeConfiguration = configuration.subset("store");
-
convertedMap.put(org.apache.qpid.server.model.VirtualHost.STORE_PATH, storeConfiguration.getString(MessageStoreConstants.ENVIRONMENT_PATH_PROPERTY));
convertedMap.put(MessageStoreConstants.OVERFULL_SIZE_ATTRIBUTE, storeConfiguration.getString(MessageStoreConstants.OVERFULL_SIZE_PROPERTY));
convertedMap.put(MessageStoreConstants.UNDERFULL_SIZE_ATTRIBUTE, storeConfiguration.getString(MessageStoreConstants.UNDERFULL_SIZE_PROPERTY));
- convertedMap.put("haGroupName", configuration.getString("store.highAvailability.groupName"));
- convertedMap.put("haNodeName", configuration.getString("store.highAvailability.nodeName"));
- convertedMap.put("haNodeAddress", configuration.getString("store.highAvailability.nodeHostPort"));
- convertedMap.put("haHelperAddress", configuration.getString("store.highAvailability.helperHostPort"));
-
- final Object haDurability = configuration.getString("store.highAvailability.durability");
- if(haDurability !=null)
- {
- convertedMap.put("haDurability", haDurability);
- }
-
- final Object designatedPrimary = configuration.getString("store.highAvailability.designatedPrimary");
- if(designatedPrimary!=null)
- {
- convertedMap.put("haDesignatedPrimary", designatedPrimary);
- }
-
- final Object coalescingSync = configuration.getString("store.highAvailability.coalescingSync");
- if(coalescingSync!=null)
- {
- convertedMap.put("haCoalescingSync", coalescingSync);
- }
-
-
- Map<String, String> attributes = getEnvironmentMap(storeConfiguration, "envConfig");
-
- if(!attributes.isEmpty())
- {
- convertedMap.put("bdbEnvironmentConfig",attributes);
- }
-
- attributes = getEnvironmentMap(storeConfiguration, "repConfig");
-
- if(!attributes.isEmpty())
- {
- convertedMap.put("haReplicationConfig",attributes);
- }
-
return convertedMap;
-
}
private Map<String, String> getEnvironmentMap(Configuration storeConfiguration, String configName)
Modified: qpid/branches/java-broker-bdb-ha/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/ReplicatedEnvironmentFacade.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-bdb-ha/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/ReplicatedEnvironmentFacade.java?rev=1552739&r1=1552738&r2=1552739&view=diff
==============================================================================
--- qpid/branches/java-broker-bdb-ha/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/ReplicatedEnvironmentFacade.java (original)
+++ qpid/branches/java-broker-bdb-ha/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/ReplicatedEnvironmentFacade.java Fri Dec 20 17:09:21 2013
@@ -198,6 +198,7 @@ public class ReplicatedEnvironmentFacade
{
try
{
+ LOGGER.debug("Closing replicated environment facade");
_executor.shutdownNow();
stopCommitThread();
closeDatabases();
Modified: qpid/branches/java-broker-bdb-ha/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/replication/LocalReplicationNodeFactory.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-bdb-ha/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/replication/LocalReplicationNodeFactory.java?rev=1552739&r1=1552738&r2=1552739&view=diff
==============================================================================
--- qpid/branches/java-broker-bdb-ha/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/replication/LocalReplicationNodeFactory.java (original)
+++ qpid/branches/java-broker-bdb-ha/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/replication/LocalReplicationNodeFactory.java Fri Dec 20 17:09:21 2013
@@ -27,7 +27,7 @@ import org.apache.qpid.server.model.Brok
import org.apache.qpid.server.model.ReplicationNode;
import org.apache.qpid.server.model.VirtualHost;
import org.apache.qpid.server.plugin.ReplicationNodeFactory;
-import org.apache.qpid.server.store.berkeleydb.ReplicatedEnvironmentFacade;
+import org.apache.qpid.server.store.berkeleydb.BDBHAVirtualHostFactory;
public class LocalReplicationNodeFactory implements ReplicationNodeFactory
{
@@ -35,7 +35,7 @@ public class LocalReplicationNodeFactory
@Override
public String getType()
{
- return ReplicatedEnvironmentFacade.TYPE;
+ return BDBHAVirtualHostFactory.TYPE;
}
@Override
@@ -44,7 +44,10 @@ public class LocalReplicationNodeFactory
{
// TODO KW Temporary code
Broker broker = virtualHost.getParent(Broker.class);
-
+ if (broker == null)
+ {
+ throw new IllegalStateException("Cannot find the broker among virtual host parents");
+ }
return new LocalReplicationNode(id, attributes, virtualHost, broker.getTaskExecutor());
}
Modified: qpid/branches/java-broker-bdb-ha/qpid/java/bdbstore/src/test/java/org/apache/qpid/server/store/berkeleydb/VirtualHostTest.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-bdb-ha/qpid/java/bdbstore/src/test/java/org/apache/qpid/server/store/berkeleydb/VirtualHostTest.java?rev=1552739&r1=1552738&r2=1552739&view=diff
==============================================================================
--- qpid/branches/java-broker-bdb-ha/qpid/java/bdbstore/src/test/java/org/apache/qpid/server/store/berkeleydb/VirtualHostTest.java (original)
+++ qpid/branches/java-broker-bdb-ha/qpid/java/bdbstore/src/test/java/org/apache/qpid/server/store/berkeleydb/VirtualHostTest.java Fri Dec 20 17:09:21 2013
@@ -27,16 +27,21 @@ import java.io.File;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
+import java.util.Set;
import java.util.UUID;
import org.apache.qpid.server.configuration.ConfigurationEntry;
+import org.apache.qpid.server.configuration.ConfigurationEntryStore;
+import org.apache.qpid.server.configuration.ConfiguredObjectRecoverer;
import org.apache.qpid.server.configuration.RecovererProvider;
+import org.apache.qpid.server.configuration.startup.ReplicationNodeRecoverer;
import org.apache.qpid.server.configuration.startup.VirtualHostRecoverer;
import org.apache.qpid.server.configuration.updater.TaskExecutor;
import org.apache.qpid.server.logging.SystemOutMessageLogger;
import org.apache.qpid.server.logging.actors.CurrentActor;
import org.apache.qpid.server.logging.actors.TestLogActor;
import org.apache.qpid.server.model.Broker;
+import org.apache.qpid.server.model.ConfiguredObject;
import org.apache.qpid.server.model.ReplicationNode;
import org.apache.qpid.server.model.State;
import org.apache.qpid.server.model.VirtualHost;
@@ -60,6 +65,7 @@ public class VirtualHostTest extends Qpi
private File _configFile;
private File _bdbStorePath;
private VirtualHost _host;
+ private ConfigurationEntryStore _store;
@Override
protected void setUp() throws Exception
@@ -67,12 +73,26 @@ public class VirtualHostTest extends Qpi
super.setUp();
CurrentActor.set(new TestLogActor(new SystemOutMessageLogger()));
+ _store = mock(ConfigurationEntryStore.class);
_broker = BrokerTestHelper.createBrokerMock();
TaskExecutor taslExecutor = mock(TaskExecutor.class);
when(taslExecutor.isTaskExecutorThread()).thenReturn(true);
when(_broker.getTaskExecutor()).thenReturn(taslExecutor);
- _recovererProvider = mock(RecovererProvider.class);
+
+ _recovererProvider = new RecovererProvider()
+ {
+ @Override
+ public ConfiguredObjectRecoverer<? extends ConfiguredObject> getRecoverer(String type)
+ {
+ if (type.equals(ReplicationNode.class.getSimpleName()))
+ {
+ return new ReplicationNodeRecoverer();
+ }
+ throw new IllegalArgumentException("Not supported type: " + type);
+ }
+ };
+
_statisticsGatherer = mock(StatisticsGatherer.class);
_bdbStorePath = new File(TMP_FOLDER, getTestName() + "." + System.currentTimeMillis());
@@ -104,6 +124,59 @@ public class VirtualHostTest extends Qpi
}
}
+ public void testCreateBdbHaVirtualHostFromConfigurationEntry()
+ {
+ String repStreamTimeout = "2 h";
+ String nodeName = "node";
+ String groupName = "group";
+ String nodeHostPort = "localhost:" + findFreePort();
+ String helperHostPort = nodeHostPort;
+ String durability = "NO_SYNC,SYNC,NONE";
+
+ UUID nodeId = UUID.randomUUID();
+ Map<String, Object> nodeAttributes = new HashMap<String, Object>();
+ nodeAttributes.put(ReplicationNode.NAME, nodeName);
+ nodeAttributes.put(ReplicationNode.GROUP_NAME, groupName);
+ nodeAttributes.put(ReplicationNode.HOST_PORT, nodeHostPort);
+ nodeAttributes.put(ReplicationNode.HELPER_HOST_PORT, helperHostPort);
+ nodeAttributes.put(ReplicationNode.DURABILITY, durability);
+ nodeAttributes.put(ReplicationNode.STORE_PATH, _bdbStorePath.getAbsolutePath());
+ nodeAttributes.put(ReplicationNode.REPLICATION_PARAMETERS,
+ Collections.singletonMap(ReplicationConfig.REP_STREAM_TIMEOUT, repStreamTimeout));
+
+ ConfigurationEntry nodeEntry = new ConfigurationEntry(nodeId, ReplicationNode.class.getSimpleName(),
+ nodeAttributes, Collections.<UUID> emptySet(), _store);
+ when(_store.getEntry(nodeId)).thenReturn(nodeEntry);
+
+ String hostName = getName();
+
+ Map<String, Object> virtualHostAttributes = new HashMap<String, Object>();
+ virtualHostAttributes.put(VirtualHost.NAME, hostName);
+ virtualHostAttributes.put(VirtualHost.TYPE, BDBHAVirtualHostFactory.TYPE);
+
+ _host = createHost(virtualHostAttributes, Collections.singleton(nodeId));
+ _host.setDesiredState(State.INITIALISING, State.ACTIVE);
+
+ assertEquals("Unexpected host name", hostName, _host.getName());
+ assertEquals("Unexpected host type", BDBHAVirtualHostFactory.TYPE, _host.getType());
+ assertEquals("Unexpected store type", ReplicatedEnvironmentFacade.TYPE, _host.getAttribute(VirtualHost.STORE_TYPE));
+
+ ReplicationNode localNode = _host.getChildren(ReplicationNode.class).iterator().next();
+
+ assertEquals(nodeName, localNode.getName());
+ assertEquals(groupName, localNode.getAttribute(ReplicationNode.GROUP_NAME));
+ assertEquals(nodeHostPort, localNode.getAttribute(ReplicationNode.HOST_PORT));
+ assertEquals(helperHostPort, localNode.getAttribute(ReplicationNode.HELPER_HOST_PORT));
+ assertEquals(durability, localNode.getAttribute(ReplicationNode.DURABILITY));
+ assertEquals("Unexpected store path", _bdbStorePath.getAbsolutePath(), localNode.getAttribute(ReplicationNode.STORE_PATH));
+
+ BDBMessageStore messageStore = (BDBMessageStore) _host.getMessageStore();
+ ReplicatedEnvironment environment = (ReplicatedEnvironment) messageStore.getEnvironmentFacade().getEnvironment();
+ ReplicationConfig envConfig = environment.getRepConfig();
+ assertEquals("Unexpected JE replication stream timeout", repStreamTimeout, envConfig.getConfigParam(ReplicationConfig.REP_STREAM_TIMEOUT));
+
+ }
+
public void testCreateBdbVirtualHostFromConfigurationFile()
{
String hostName = getName();
@@ -152,14 +225,19 @@ public class VirtualHostTest extends Qpi
assertEquals("Unexpected JE replication stream timeout", repStreamTimeout, envConfig.getConfigParam(ReplicationConfig.REP_STREAM_TIMEOUT));
}
- private VirtualHost createHost(Map<String, Object> attributes)
+ private VirtualHost createHost(Map<String, Object> attributes, Set<UUID> children)
{
ConfigurationEntry entry = new ConfigurationEntry(UUID.randomUUID(), VirtualHost.class.getSimpleName(), attributes,
- Collections.<UUID> emptySet(), null);
+ children, _store);
return new VirtualHostRecoverer(_statisticsGatherer).create(_recovererProvider, entry, _broker);
}
+ private VirtualHost createHost(Map<String, Object> attributes)
+ {
+ return createHost(attributes, Collections.<UUID> emptySet());
+ }
+
private VirtualHost createHostFromConfiguration(String hostName, long logFileMax)
{
String content = "<virtualhosts><virtualhost><name>" + hostName + "</name><" + hostName + ">"
@@ -172,6 +250,7 @@ public class VirtualHostTest extends Qpi
return createHost(attributes);
}
+
private VirtualHost createHaHostFromConfiguration(String hostName, String groupName, String nodeName, String nodeHostPort, String helperHostPort, String durability, String repStreamTimeout)
{
String content = "<virtualhosts><virtualhost><name>" + hostName + "</name><" + hostName + ">"
Modified: qpid/branches/java-broker-bdb-ha/qpid/java/broker-core/src/main/java/org/apache/qpid/server/configuration/VirtualHostConfiguration.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-bdb-ha/qpid/java/broker-core/src/main/java/org/apache/qpid/server/configuration/VirtualHostConfiguration.java?rev=1552739&r1=1552738&r2=1552739&view=diff
==============================================================================
--- qpid/branches/java-broker-bdb-ha/qpid/java/broker-core/src/main/java/org/apache/qpid/server/configuration/VirtualHostConfiguration.java (original)
+++ qpid/branches/java-broker-bdb-ha/qpid/java/broker-core/src/main/java/org/apache/qpid/server/configuration/VirtualHostConfiguration.java Fri Dec 20 17:09:21 2013
@@ -121,11 +121,6 @@ public class VirtualHostConfiguration ex
return getLongValue("housekeeping.checkPeriod", _defaultHouseKeepingCheckPeriod);
}
- public Configuration getStoreConfiguration()
- {
- return getConfig().subset("store");
- }
-
public String getMessageStoreClass()
{
return getStringValue("store.class", null);
Modified: qpid/branches/java-broker-bdb-ha/qpid/java/broker-core/src/main/java/org/apache/qpid/server/configuration/startup/DefaultRecovererProvider.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-bdb-ha/qpid/java/broker-core/src/main/java/org/apache/qpid/server/configuration/startup/DefaultRecovererProvider.java?rev=1552739&r1=1552738&r2=1552739&view=diff
==============================================================================
--- qpid/branches/java-broker-bdb-ha/qpid/java/broker-core/src/main/java/org/apache/qpid/server/configuration/startup/DefaultRecovererProvider.java (original)
+++ qpid/branches/java-broker-bdb-ha/qpid/java/broker-core/src/main/java/org/apache/qpid/server/configuration/startup/DefaultRecovererProvider.java Fri Dec 20 17:09:21 2013
@@ -33,6 +33,7 @@ import org.apache.qpid.server.model.KeyS
import org.apache.qpid.server.model.Plugin;
import org.apache.qpid.server.model.Port;
import org.apache.qpid.server.model.PreferencesProvider;
+import org.apache.qpid.server.model.ReplicationNode;
import org.apache.qpid.server.model.TrustStore;
import org.apache.qpid.server.model.VirtualHost;
import org.apache.qpid.server.model.adapter.AccessControlProviderFactory;
@@ -126,7 +127,10 @@ public class DefaultRecovererProvider im
{
return new PluginRecoverer(_pluginFactoryServiceLoader);
}
-
+ else if(ReplicationNode.class.getSimpleName().equals(type))
+ {
+ return new ReplicationNodeRecoverer();
+ }
return null;
}
Added: qpid/branches/java-broker-bdb-ha/qpid/java/broker-core/src/main/java/org/apache/qpid/server/configuration/startup/ReplicationNodeRecoverer.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-bdb-ha/qpid/java/broker-core/src/main/java/org/apache/qpid/server/configuration/startup/ReplicationNodeRecoverer.java?rev=1552739&view=auto
==============================================================================
--- qpid/branches/java-broker-bdb-ha/qpid/java/broker-core/src/main/java/org/apache/qpid/server/configuration/startup/ReplicationNodeRecoverer.java (added)
+++ qpid/branches/java-broker-bdb-ha/qpid/java/broker-core/src/main/java/org/apache/qpid/server/configuration/startup/ReplicationNodeRecoverer.java Fri Dec 20 17:09:21 2013
@@ -0,0 +1,47 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+package org.apache.qpid.server.configuration.startup;
+
+import org.apache.qpid.server.configuration.ConfigurationEntry;
+import org.apache.qpid.server.configuration.ConfiguredObjectRecoverer;
+import org.apache.qpid.server.configuration.RecovererProvider;
+import org.apache.qpid.server.model.ConfiguredObject;
+import org.apache.qpid.server.model.ReplicationNode;
+import org.apache.qpid.server.model.VirtualHost;
+import org.apache.qpid.server.plugin.ReplicationNodeFactory;
+
+public class ReplicationNodeRecoverer implements ConfiguredObjectRecoverer<ReplicationNode>
+{
+
+ @Override
+ public ReplicationNode create(RecovererProvider recovererProvider, ConfigurationEntry entry, ConfiguredObject... parents)
+ {
+ VirtualHost virtualHost = RecovererHelper.verifyOnlyParentIsOfType(VirtualHost.class, parents);
+ String type = virtualHost.getType();
+ ReplicationNodeFactory replicationNodeFactory = ReplicationNodeFactory.FACTORIES.get(type);
+ if (replicationNodeFactory == null)
+ {
+ throw new IllegalStateException("Cannot find ReplicationNodeFactory for type '" + type + "'");
+ }
+ return replicationNodeFactory.createInstance(entry.getId() , entry.getAttributes(), virtualHost);
+ }
+
+}
Modified: qpid/branches/java-broker-bdb-ha/qpid/java/broker-core/src/main/java/org/apache/qpid/server/configuration/startup/VirtualHostRecoverer.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-bdb-ha/qpid/java/broker-core/src/main/java/org/apache/qpid/server/configuration/startup/VirtualHostRecoverer.java?rev=1552739&r1=1552738&r2=1552739&view=diff
==============================================================================
--- qpid/branches/java-broker-bdb-ha/qpid/java/broker-core/src/main/java/org/apache/qpid/server/configuration/startup/VirtualHostRecoverer.java (original)
+++ qpid/branches/java-broker-bdb-ha/qpid/java/broker-core/src/main/java/org/apache/qpid/server/configuration/startup/VirtualHostRecoverer.java Fri Dec 20 17:09:21 2013
@@ -21,21 +21,17 @@
package org.apache.qpid.server.configuration.startup;
-import java.util.HashMap;
+import java.util.Collection;
import java.util.Map;
-import java.util.UUID;
import org.apache.qpid.server.configuration.ConfigurationEntry;
import org.apache.qpid.server.configuration.ConfiguredObjectRecoverer;
import org.apache.qpid.server.configuration.RecovererProvider;
import org.apache.qpid.server.model.Broker;
import org.apache.qpid.server.model.ConfiguredObject;
-import org.apache.qpid.server.model.ReplicationNode;
import org.apache.qpid.server.model.VirtualHost;
import org.apache.qpid.server.model.adapter.VirtualHostAdapter;
-import org.apache.qpid.server.plugin.ReplicationNodeFactory;
import org.apache.qpid.server.stats.StatisticsGatherer;
-import org.apache.qpid.server.util.MapValueConverter;
public class VirtualHostRecoverer implements ConfiguredObjectRecoverer<VirtualHost>
{
@@ -55,48 +51,15 @@ public class VirtualHostRecoverer implem
Map<String, Object> attributes = entry.getAttributes();
VirtualHostAdapter virtualHostAdapter = new VirtualHostAdapter(entry.getId(), attributes, broker, _brokerStatisticsGatherer, broker.getTaskExecutor());
- // TODO temporary code to bridge from VH attributes to LocalReplicationNode - will be move into a new ReplicationNodeRecoverer
- if (attributes.containsKey(VirtualHost.TYPE))
+ Map<String, Collection<ConfigurationEntry>> childEntries = entry.getChildren();
+ for (Map.Entry<String, Collection<ConfigurationEntry>> childrenEntry : childEntries.entrySet())
{
- String type = MapValueConverter.getStringAttribute(VirtualHost.TYPE, attributes);
- ReplicationNodeFactory replicationNodeFactory = ReplicationNodeFactory.FACTORIES.get(type);
-
- UUID uuid = null;
- Map<String, Object> replicationNodeAttributes = new HashMap<String, Object>();
- replicationNodeAttributes.put(ReplicationNode.NAME, attributes.get("haNodeName"));
- replicationNodeAttributes.put(ReplicationNode.GROUP_NAME, attributes.get("haGroupName"));
- replicationNodeAttributes.put(ReplicationNode.HOST_PORT, attributes.get("haNodeAddress"));
- replicationNodeAttributes.put(ReplicationNode.HELPER_HOST_PORT, attributes.get("haHelperAddress"));
-
- if (attributes.get("haDurability") != null)
- {
- replicationNodeAttributes.put(ReplicationNode.DURABILITY, attributes.get("haDurability"));
- }
-
- if (attributes.get("haDesignatedPrimary") != null)
- {
- replicationNodeAttributes.put(ReplicationNode.DESIGNATED_PRIMARY, attributes.get("haDesignatedPrimary"));
- }
-
- if (attributes.get("haCoalescingSync") != null)
- {
- replicationNodeAttributes.put(ReplicationNode.COALESCING_SYNC, attributes.get("haCoalescingSync"));
- }
-
- if (attributes.get("bdbEnvironmentConfig") != null)
- {
- replicationNodeAttributes.put(ReplicationNode.PARAMETERS, attributes.get("bdbEnvironmentConfig"));
- }
-
- if (attributes.get("haReplicationConfig") != null)
- {
- replicationNodeAttributes.put(ReplicationNode.REPLICATION_PARAMETERS, attributes.get("haReplicationConfig"));
- }
-
- if (replicationNodeFactory != null)
+ String childType = childrenEntry.getKey();
+ ConfiguredObjectRecoverer<? extends ConfiguredObject> recoverer = recovererProvider.getRecoverer(childType);
+ for (ConfigurationEntry childEntry : childrenEntry.getValue())
{
- ReplicationNode node = replicationNodeFactory.createInstance(uuid , attributes, virtualHostAdapter);
- virtualHostAdapter.onReplicationNodeRecovered(node);
+ ConfiguredObject configuredObject = recoverer.create(recovererProvider, childEntry, virtualHostAdapter);
+ virtualHostAdapter.recoverChild(configuredObject);
}
}
return virtualHostAdapter;
Modified: qpid/branches/java-broker-bdb-ha/qpid/java/broker-core/src/main/java/org/apache/qpid/server/configuration/store/MemoryConfigurationEntryStore.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-bdb-ha/qpid/java/broker-core/src/main/java/org/apache/qpid/server/configuration/store/MemoryConfigurationEntryStore.java?rev=1552739&r1=1552738&r2=1552739&view=diff
==============================================================================
--- qpid/branches/java-broker-bdb-ha/qpid/java/broker-core/src/main/java/org/apache/qpid/server/configuration/store/MemoryConfigurationEntryStore.java (original)
+++ qpid/branches/java-broker-bdb-ha/qpid/java/broker-core/src/main/java/org/apache/qpid/server/configuration/store/MemoryConfigurationEntryStore.java Fri Dec 20 17:09:21 2013
@@ -40,6 +40,8 @@ import java.util.TreeMap;
import java.util.TreeSet;
import java.util.UUID;
+import javax.management.ObjectName;
+
import org.apache.qpid.server.configuration.ConfigurationEntry;
import org.apache.qpid.server.configuration.ConfigurationEntryStore;
import org.apache.qpid.server.configuration.IllegalConfigurationException;
@@ -57,6 +59,7 @@ import org.codehaus.jackson.map.JsonMapp
import org.codehaus.jackson.map.ObjectMapper;
import org.codehaus.jackson.map.SerializationConfig;
import org.codehaus.jackson.node.ArrayNode;
+import org.codehaus.jackson.node.ObjectNode;
public class MemoryConfigurationEntryStore implements ConfigurationEntryStore
{
@@ -547,7 +550,7 @@ public class MemoryConfigurationEntrySto
}
else if (fieldNode.isObject())
{
- // ignore, in-line objects are not supported yet
+ attributes.put(fieldName, toObject(fieldNode) );
}
else
{
Modified: qpid/branches/java-broker-bdb-ha/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/Model.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-bdb-ha/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/Model.java?rev=1552739&r1=1552738&r2=1552739&view=diff
==============================================================================
--- qpid/branches/java-broker-bdb-ha/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/Model.java (original)
+++ qpid/branches/java-broker-bdb-ha/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/Model.java Fri Dec 20 17:09:21 2013
@@ -37,7 +37,7 @@ public class Model
*
*/
public static final int MODEL_MAJOR_VERSION = 1;
- public static final int MODEL_MINOR_VERSION = 2;
+ public static final int MODEL_MINOR_VERSION = 3;
public static final String MODEL_VERSION = MODEL_MAJOR_VERSION + "." + MODEL_MINOR_VERSION;
private static final Model MODEL_INSTANCE = new Model();
@@ -68,6 +68,7 @@ public class Model
addRelationship(VirtualHost.class, Queue.class);
addRelationship(VirtualHost.class, Connection.class);
addRelationship(VirtualHost.class, VirtualHostAlias.class);
+ addRelationship(VirtualHost.class, ReplicationNode.class);
addRelationship(AuthenticationProvider.class, User.class);
addRelationship(AuthenticationProvider.class, PreferencesProvider.class);
Modified: qpid/branches/java-broker-bdb-ha/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/VirtualHostAdapter.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-bdb-ha/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/VirtualHostAdapter.java?rev=1552739&r1=1552738&r2=1552739&view=diff
==============================================================================
--- qpid/branches/java-broker-bdb-ha/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/VirtualHostAdapter.java (original)
+++ qpid/branches/java-broker-bdb-ha/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/VirtualHostAdapter.java Fri Dec 20 17:09:21 2013
@@ -1290,7 +1290,21 @@ public final class VirtualHostAdapter ex
@Override
public void onReplicationNodeRecovered(ReplicationNode node)
{
+ //TODO: should we be adding ConfigurationChangeListener to node?
_replicationNodes.add(node);
}
+ public void recoverChild(ConfiguredObject configuredObject)
+ {
+ if (configuredObject instanceof ReplicationNode)
+ {
+ ReplicationNode node = (ReplicationNode)configuredObject;
+ onReplicationNodeRecovered(node);
+ }
+ else
+ {
+ throw new IllegalArgumentException("Cannot recover child of type :" + configuredObject.getClass().getName());
+ }
+ }
+
}
Modified: qpid/branches/java-broker-bdb-ha/qpid/java/broker-core/src/main/java/org/apache/qpid/server/store/StateManager.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-bdb-ha/qpid/java/broker-core/src/main/java/org/apache/qpid/server/store/StateManager.java?rev=1552739&r1=1552738&r2=1552739&view=diff
==============================================================================
--- qpid/branches/java-broker-bdb-ha/qpid/java/broker-core/src/main/java/org/apache/qpid/server/store/StateManager.java (original)
+++ qpid/branches/java-broker-bdb-ha/qpid/java/broker-core/src/main/java/org/apache/qpid/server/store/StateManager.java Fri Dec 20 17:09:21 2013
@@ -79,6 +79,7 @@ public class StateManager
public static final Transition ACTIVATE_COMPLETE = new Transition(State.ACTIVATING, State.ACTIVE, Event.AFTER_ACTIVATE);
public static final Transition CLOSE_INITIALISED = new Transition(State.INITIALISED, State.CLOSING, Event.BEFORE_CLOSE);;
+ public static final Transition CLOSE_ACTIVATING = new Transition(State.ACTIVATING, State.CLOSING, Event.BEFORE_CLOSE);
public static final Transition CLOSE_ACTIVE = new Transition(State.ACTIVE, State.CLOSING, Event.BEFORE_CLOSE);
public static final Transition CLOSE_QUIESCED = new Transition(State.QUIESCED, State.CLOSING, Event.BEFORE_CLOSE);
public static final Transition CLOSE_COMPLETE = new Transition(State.CLOSING, State.CLOSED, Event.AFTER_CLOSE);
Modified: qpid/branches/java-broker-bdb-ha/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/StandardVirtualHost.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-bdb-ha/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/StandardVirtualHost.java?rev=1552739&r1=1552738&r2=1552739&view=diff
==============================================================================
--- qpid/branches/java-broker-bdb-ha/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/StandardVirtualHost.java (original)
+++ qpid/branches/java-broker-bdb-ha/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/StandardVirtualHost.java Fri Dec 20 17:09:21 2013
@@ -48,6 +48,7 @@ public class StandardVirtualHost extends
private MessageStore initialiseMessageStore(VirtualHostConfiguration hostConfig, VirtualHost virtualHost) throws Exception
{
+ //TODO: we should not be using hostConfig for store creation
final Object storeTypeAttr = virtualHost.getAttribute(VirtualHost.STORE_TYPE);
String storeType = storeTypeAttr == null ? null : String.valueOf(storeTypeAttr);
MessageStore messageStore = null;
Modified: qpid/branches/java-broker-bdb-ha/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/StandardVirtualHostFactory.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-bdb-ha/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/StandardVirtualHostFactory.java?rev=1552739&r1=1552738&r2=1552739&view=diff
==============================================================================
--- qpid/branches/java-broker-bdb-ha/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/StandardVirtualHostFactory.java (original)
+++ qpid/branches/java-broker-bdb-ha/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/StandardVirtualHostFactory.java Fri Dec 20 17:09:21 2013
@@ -90,6 +90,7 @@ public class StandardVirtualHostFactory
@Override
public Map<String,Object> createVirtualHostConfiguration(VirtualHostAdapter virtualHostAdapter)
{
+ //TODO: DO we really need it?
Map<String,Object> convertedMap = new LinkedHashMap<String, Object>();
convertedMap.put("store.type", virtualHostAdapter.getAttribute(org.apache.qpid.server.model.VirtualHost.STORE_TYPE));
convertedMap.put("store.environment-path", virtualHostAdapter.getAttribute(org.apache.qpid.server.model.VirtualHost.STORE_PATH));
@@ -102,6 +103,8 @@ public class StandardVirtualHostFactory
{
Map<String,Object> convertedMap = new LinkedHashMap<String, Object>();
Configuration storeConfiguration = configuration.subset("store");
+
+ //TODO: If store class is specified, convert class into type
convertedMap.put(org.apache.qpid.server.model.VirtualHost.STORE_TYPE, storeConfiguration.getString("type"));
convertedMap.put(org.apache.qpid.server.model.VirtualHost.STORE_PATH, storeConfiguration.getString(MessageStoreConstants.ENVIRONMENT_PATH_PROPERTY));
Modified: qpid/branches/java-broker-bdb-ha/qpid/java/broker-core/src/test/java/org/apache/qpid/server/configuration/store/ConfigurationEntryStoreTestCase.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-bdb-ha/qpid/java/broker-core/src/test/java/org/apache/qpid/server/configuration/store/ConfigurationEntryStoreTestCase.java?rev=1552739&r1=1552738&r2=1552739&view=diff
==============================================================================
--- qpid/branches/java-broker-bdb-ha/qpid/java/broker-core/src/test/java/org/apache/qpid/server/configuration/store/ConfigurationEntryStoreTestCase.java (original)
+++ qpid/branches/java-broker-bdb-ha/qpid/java/broker-core/src/test/java/org/apache/qpid/server/configuration/store/ConfigurationEntryStoreTestCase.java Fri Dec 20 17:09:21 2013
@@ -22,6 +22,7 @@ package org.apache.qpid.server.configura
import java.util.Collections;
import java.util.HashMap;
+import java.util.HashSet;
import java.util.Map;
import java.util.Set;
import java.util.UUID;
@@ -34,6 +35,7 @@ import org.apache.qpid.server.model.Grou
import org.apache.qpid.server.model.KeyStore;
import org.apache.qpid.server.model.Port;
import org.apache.qpid.server.model.PreferencesProvider;
+import org.apache.qpid.server.model.ReplicationNode;
import org.apache.qpid.server.model.Transport;
import org.apache.qpid.server.model.TrustStore;
import org.apache.qpid.server.model.VirtualHost;
@@ -97,6 +99,8 @@ public abstract class ConfigurationEntry
protected abstract void addConfiguration(UUID id, String type, Map<String, Object> attributes, UUID parentId);
+ protected abstract ConfigurationEntryStore reOpenStore();
+
protected final void addConfiguration(UUID id, String type, Map<String, Object> attributes)
{
addConfiguration(id, type, attributes, _brokerId);
@@ -434,4 +438,53 @@ public abstract class ConfigurationEntry
_store.save(newAuthenticationProviderConfigEntry, preferencesProviderEntry);
}
+ public void testAddHaVirtualHostWithReplicationNode()
+ {
+ String nodeName = "nodeName";
+ String groupName = "groupName";
+ String hostPort = "localhost:9999";
+ String helperHostPort = "localhost:8888";
+ Map<String, String> parameters = new HashMap<String, String>();
+ parameters.put("param1", "value1");
+ parameters.put("param2", "value2");
+ UUID nodeId = UUID.randomUUID();
+
+ Map<String, Object> nodeAttributes = new HashMap<String, Object>();
+ nodeAttributes.put(ReplicationNode.NAME, nodeName);
+ nodeAttributes.put(ReplicationNode.GROUP_NAME, groupName);
+ nodeAttributes.put(ReplicationNode.HOST_PORT, hostPort);
+ nodeAttributes.put(ReplicationNode.HELPER_HOST_PORT, helperHostPort);
+ nodeAttributes.put(ReplicationNode.PARAMETERS, parameters);
+
+ ConfigurationEntry nodeEntry = new ConfigurationEntry(nodeId, ReplicationNode.class.getSimpleName(), nodeAttributes,
+ Collections.<UUID>emptySet(), _store);
+ Map<String, Object> virtualHostAttributes = new HashMap<String, Object>();
+ virtualHostAttributes.put(VirtualHost.NAME, "ha");
+ virtualHostAttributes.put(VirtualHost.TYPE, "DUMMY-HA");
+ UUID virtualHostId = UUID.randomUUID();
+ Set<UUID> childrenIds = Collections.singleton(nodeId);
+ ConfigurationEntry hostEntry = new ConfigurationEntry(virtualHostId, VirtualHost.class.getSimpleName(), virtualHostAttributes,
+ childrenIds, _store);
+
+ ConfigurationEntry brokerEntry = _store.getRootEntry();
+ Set<UUID> brokerChildren = new HashSet<UUID>(brokerEntry.getChildrenIds());
+ brokerChildren.add(virtualHostId);
+ ConfigurationEntry newRootEntry = new ConfigurationEntry(brokerEntry.getId(), brokerEntry.getType(), brokerEntry.getAttributes(), brokerChildren, _store);
+ _store.save(hostEntry, nodeEntry, newRootEntry);
+
+ _store = reOpenStore();
+
+ ConfigurationEntry loadedHostEntry = _store.getEntry(virtualHostId);
+
+ assertEquals("Unexpected type", VirtualHost.class.getSimpleName(), loadedHostEntry.getType());
+ assertEquals("Unexpected virtual host id", virtualHostId, loadedHostEntry.getId());
+ assertEquals("Unexpected virtual host attributes", virtualHostAttributes, loadedHostEntry.getAttributes());
+ assertEquals("Unexpected virtual host children", childrenIds, loadedHostEntry.getChildrenIds());
+
+ ConfigurationEntry loadedNodeEntry = _store.getEntry(nodeId);
+ assertEquals("Unexpected type", ReplicationNode.class.getSimpleName(), loadedNodeEntry.getType());
+ assertEquals("Unexpected node id", nodeId, loadedNodeEntry.getId());
+ assertEquals("Unexpected node attributes", nodeAttributes, loadedNodeEntry.getAttributes());
+ assertTrue("Unexpected node children", loadedNodeEntry.getChildrenIds().isEmpty());
+ }
}
Modified: qpid/branches/java-broker-bdb-ha/qpid/java/broker-core/src/test/java/org/apache/qpid/server/configuration/store/JsonConfigurationEntryStoreTest.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-bdb-ha/qpid/java/broker-core/src/test/java/org/apache/qpid/server/configuration/store/JsonConfigurationEntryStoreTest.java?rev=1552739&r1=1552738&r2=1552739&view=diff
==============================================================================
--- qpid/branches/java-broker-bdb-ha/qpid/java/broker-core/src/test/java/org/apache/qpid/server/configuration/store/JsonConfigurationEntryStoreTest.java (original)
+++ qpid/branches/java-broker-bdb-ha/qpid/java/broker-core/src/test/java/org/apache/qpid/server/configuration/store/JsonConfigurationEntryStoreTest.java Fri Dec 20 17:09:21 2013
@@ -71,6 +71,12 @@ public class JsonConfigurationEntryStore
return store;
}
+ @Override
+ protected ConfigurationEntryStore reOpenStore()
+ {
+ return new JsonConfigurationEntryStore(_storeFile.getAbsolutePath(), null, false, Collections.<String,String>emptyMap());
+ }
+
private File createStoreFile(UUID brokerId, Map<String, Object> brokerAttributes) throws IOException,
JsonGenerationException, JsonMappingException
{
@@ -265,4 +271,5 @@ public class JsonConfigurationEntryStore
assertEquals("Unexpected preferences provider type", FileSystemPreferencesProvider.PROVIDER_TYPE,
attributes.get(PreferencesProvider.TYPE));
}
+
}
Modified: qpid/branches/java-broker-bdb-ha/qpid/java/broker-core/src/test/java/org/apache/qpid/server/configuration/store/MemoryConfigurationEntryStoreTest.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-bdb-ha/qpid/java/broker-core/src/test/java/org/apache/qpid/server/configuration/store/MemoryConfigurationEntryStoreTest.java?rev=1552739&r1=1552738&r2=1552739&view=diff
==============================================================================
--- qpid/branches/java-broker-bdb-ha/qpid/java/broker-core/src/test/java/org/apache/qpid/server/configuration/store/MemoryConfigurationEntryStoreTest.java (original)
+++ qpid/branches/java-broker-bdb-ha/qpid/java/broker-core/src/test/java/org/apache/qpid/server/configuration/store/MemoryConfigurationEntryStoreTest.java Fri Dec 20 17:09:21 2013
@@ -60,6 +60,12 @@ public class MemoryConfigurationEntrySto
store.save(newParentEntry, new ConfigurationEntry(id, type, attributes, Collections.<UUID> emptySet(), store));
}
+ @Override
+ protected ConfigurationEntryStore reOpenStore()
+ {
+ return getStore();
+ }
+
public void testCreateWithNullLocationAndNullInitialStore()
{
try
@@ -130,4 +136,5 @@ public class MemoryConfigurationEntrySto
{
assertEquals("Unexpected type", "memory", getStore().getType());
}
+
}
Modified: qpid/branches/java-broker-bdb-ha/qpid/java/broker-core/src/test/java/org/apache/qpid/server/store/StateManagerTest.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-bdb-ha/qpid/java/broker-core/src/test/java/org/apache/qpid/server/store/StateManagerTest.java?rev=1552739&r1=1552738&r2=1552739&view=diff
==============================================================================
--- qpid/branches/java-broker-bdb-ha/qpid/java/broker-core/src/test/java/org/apache/qpid/server/store/StateManagerTest.java (original)
+++ qpid/branches/java-broker-bdb-ha/qpid/java/broker-core/src/test/java/org/apache/qpid/server/store/StateManagerTest.java Fri Dec 20 17:09:21 2013
@@ -141,7 +141,7 @@ public class StateManagerTest extends Te
performInvalidTransitions(StateManager.INITIALISE, State.INITIALISED);
performInvalidTransitions(StateManager.INITALISE_COMPLETE, State.ACTIVATING, State.CLOSING);
- performInvalidTransitions(StateManager.ACTIVATE, State.ACTIVE);
+ performInvalidTransitions(StateManager.ACTIVATE, State.ACTIVE, State.CLOSING);
performInvalidTransitions(StateManager.ACTIVATE_COMPLETE, State.QUIESCING, State.CLOSING, State.INITIALISED);
performInvalidTransitions(StateManager.QUIESCE, State.QUIESCED);
performInvalidTransitions(StateManager.QUIESCE_COMPLETE, State.ACTIVATING, State.CLOSING);
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org