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