You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by or...@apache.org on 2013/12/27 18:03:49 UTC
svn commit: r1553696 - in /qpid/branches/java-broker-bdb-ha/qpid/java:
bdbstore/systests/src/main/java/org/apache/qpid/server/store/berkeleydb/
broker-core/src/main/java/org/apache/qpid/server/model/adapter/ systests/etc/
Author: orudyy
Date: Fri Dec 27 17:03:48 2013
New Revision: 1553696
URL: http://svn.apache.org/r1553696
Log:
QPID-5412: Stop saving virtual host state in conviguration store
Modified:
qpid/branches/java-broker-bdb-ha/qpid/java/bdbstore/systests/src/main/java/org/apache/qpid/server/store/berkeleydb/VirtualHostRestTest.java
qpid/branches/java-broker-bdb-ha/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/BrokerAdapter.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/systests/etc/config-systests.json
Modified: qpid/branches/java-broker-bdb-ha/qpid/java/bdbstore/systests/src/main/java/org/apache/qpid/server/store/berkeleydb/VirtualHostRestTest.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-bdb-ha/qpid/java/bdbstore/systests/src/main/java/org/apache/qpid/server/store/berkeleydb/VirtualHostRestTest.java?rev=1553696&r1=1553695&r2=1553696&view=diff
==============================================================================
--- qpid/branches/java-broker-bdb-ha/qpid/java/bdbstore/systests/src/main/java/org/apache/qpid/server/store/berkeleydb/VirtualHostRestTest.java (original)
+++ qpid/branches/java-broker-bdb-ha/qpid/java/bdbstore/systests/src/main/java/org/apache/qpid/server/store/berkeleydb/VirtualHostRestTest.java Fri Dec 27 17:03:48 2013
@@ -21,6 +21,7 @@
package org.apache.qpid.server.store.berkeleydb;
import java.io.File;
+import java.io.IOException;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -70,6 +71,8 @@ public class VirtualHostRestTest extends
responseCode = getRestTestHelper().submitRequest("/rest/virtualhost/" + hostName, "PUT", hostData);
assertEquals("Unexpected response code for virtual host update status", 200, responseCode);
+ waitForVirtualHostActivation(hostName, 10000l);
+
Map<String, Object> replicationNodeDetails = getRestTestHelper().getJsonAsSingletonList("/rest/replicationnode/" + hostName + "/" + nodeName);
assertLocalNode(nodeData, replicationNodeDetails);
try
@@ -77,7 +80,7 @@ public class VirtualHostRestTest extends
// make sure that the host is saved in the broker store
restartBroker();
- Map<String, Object> hostDetails = getRestTestHelper().getJsonAsSingletonList("/rest/virtualhost/" + hostName);
+ Map<String, Object> hostDetails = waitForVirtualHostActivation(hostName, 10000l);
Asserts.assertVirtualHost(hostName, hostDetails);
assertEquals("Unexpected virtual host type", BDBHAVirtualHostFactory.TYPE.toString(), hostDetails.get(VirtualHost.TYPE));
@@ -109,4 +112,18 @@ public class VirtualHostRestTest extends
}
}
+ private Map<String, Object> waitForVirtualHostActivation(String hostName, long timeout) throws IOException
+ {
+ Map<String, Object> hostDetails = null;
+ long startTime = System.currentTimeMillis();
+ boolean isActive = false;
+ do
+ {
+ hostDetails = getRestTestHelper().getJsonAsSingletonList("/rest/virtualhost/" + hostName);
+ isActive = hostDetails.get(VirtualHost.STATE).equals(State.ACTIVE.name());
+ }
+ while(!isActive && System.currentTimeMillis() - startTime < timeout );
+ assertTrue("Unexpected virtual host state:" + hostDetails.get(VirtualHost.STATE), isActive);
+ return hostDetails;
+ }
}
Modified: qpid/branches/java-broker-bdb-ha/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/BrokerAdapter.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/BrokerAdapter.java?rev=1553696&r1=1553695&r2=1553696&view=diff
==============================================================================
--- qpid/branches/java-broker-bdb-ha/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/BrokerAdapter.java (original)
+++ qpid/branches/java-broker-bdb-ha/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/BrokerAdapter.java Fri Dec 27 17:03:48 2013
@@ -290,6 +290,11 @@ public class BrokerAdapter extends Abstr
private VirtualHost createVirtualHost(final Map<String, Object> attributes)
throws AccessControlException, IllegalArgumentException
{
+ State desiredState = MapValueConverter.getEnumAttribute(State.class, VirtualHost.STATE, attributes, State.ACTIVE);
+
+ //TODO: do no save state attribute if it is present
+ attributes.remove(VirtualHost.STATE);
+
final VirtualHostAdapter virtualHostAdapter = new VirtualHostAdapter(UUID.randomUUID(), attributes, this,
_statisticsGatherer, getTaskExecutor());
addVirtualHost(virtualHostAdapter);
@@ -297,7 +302,6 @@ public class BrokerAdapter extends Abstr
// permission has already been granted to create the virtual host
// disable further access check on other operations, e.g. create exchange
SecurityManager.setAccessChecksDisabled(true);
- State desiredState = MapValueConverter.getEnumAttribute(State.class, VirtualHost.STATE, attributes, State.ACTIVE);
try
{
virtualHostAdapter.setDesiredState(State.INITIALISING, desiredState);
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=1553696&r1=1553695&r2=1553696&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 27 17:03:48 2013
@@ -1136,7 +1136,6 @@ public final class VirtualHostAdapter ex
}
else if (desiredState == State.QUIESCED)
{
- setAttribute(VirtualHost.STATE, getActualState(), State.QUIESCED);
return true;
}
return false;
@@ -1266,16 +1265,18 @@ public final class VirtualHostAdapter ex
// TODO: a hack to change a virtual host state only
if (attributes.size() == 2 && attributes.containsKey(STATE) && getName().equals(attributes.get(NAME)))
{
- State newState = MapValueConverter.getEnumAttribute(State.class, STATE, attributes);
+ State desiredState = MapValueConverter.getEnumAttribute(State.class, STATE, attributes);
State actualState = getActualState();
+
if (LOGGER.isDebugEnabled())
{
- LOGGER.debug(String.format("Change virtual host %s state from %s to %s", getName(), actualState.toString(),
- newState.toString()));
+ LOGGER.debug(String.format("Change state of virtual host '%s' from '%s' to '%s'", getName(),
+ actualState.toString(), desiredState.toString()));
}
- if (actualState != newState && setState(actualState, newState))
+
+ if (actualState != desiredState)
{
- super.changeAttributes(Collections.<String, Object>singletonMap(STATE, newState));
+ setDesiredState(actualState, desiredState);
}
}
else
Modified: qpid/branches/java-broker-bdb-ha/qpid/java/systests/etc/config-systests.json
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-bdb-ha/qpid/java/systests/etc/config-systests.json?rev=1553696&r1=1553695&r2=1553696&view=diff
==============================================================================
--- qpid/branches/java-broker-bdb-ha/qpid/java/systests/etc/config-systests.json (original)
+++ qpid/branches/java-broker-bdb-ha/qpid/java/systests/etc/config-systests.json Fri Dec 27 17:03:48 2013
@@ -22,7 +22,7 @@
"name": "Broker",
"defaultVirtualHost" : "test",
"storeVersion": 1,
- "modelVersion": "1.0",
+ "modelVersion": "1.3",
"authenticationproviders" : [ {
"name" : "plain",
"type" : "PlainPasswordFile",
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org