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 2015/10/16 15:08:44 UTC

svn commit: r1708982 - in /qpid/java/trunk/broker-core/src: main/java/org/apache/qpid/server/virtualhost/ test/java/org/apache/qpid/server/model/adapter/ test/java/org/apache/qpid/server/virtualhost/

Author: kwall
Date: Fri Oct 16 13:08:44 2015
New Revision: 1708982

URL: http://svn.apache.org/viewvc?rev=1708982&view=rev
Log:
QPID-6795: Stop AVH leaking resources (threads/selectors) when transitioning to ERROR state

Modified:
    qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/virtualhost/AbstractVirtualHost.java
    qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/model/adapter/BrokerAdapterTest.java
    qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/virtualhost/AbstractVirtualHostTest.java

Modified: qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/virtualhost/AbstractVirtualHost.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/virtualhost/AbstractVirtualHost.java?rev=1708982&r1=1708981&r2=1708982&view=diff
==============================================================================
--- qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/virtualhost/AbstractVirtualHost.java (original)
+++ qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/virtualhost/AbstractVirtualHost.java Fri Oct 16 13:08:44 2015
@@ -359,6 +359,8 @@ public abstract class AbstractVirtualHos
     protected void onExceptionInOpen(RuntimeException e)
     {
         super.onExceptionInOpen(e);
+        shutdownHouseKeeping();
+        closeNetworkConnectionScheduler();
         closeMessageStore();
     }
 
@@ -607,6 +609,15 @@ public abstract class AbstractVirtualHos
         }
     }
 
+    private void closeNetworkConnectionScheduler()
+    {
+        if(_networkConnectionScheduler != null)
+        {
+            _networkConnectionScheduler.close();
+            _networkConnectionScheduler = null;
+        }
+    }
+
     /**
      * Allow other broker components to register a HouseKeepingTask
      *
@@ -921,11 +932,7 @@ public abstract class AbstractVirtualHos
         _dtxRegistry.close();
         closeMessageStore();
         shutdownHouseKeeping();
-        if(_networkConnectionScheduler != null)
-        {
-            _networkConnectionScheduler.close();
-            _networkConnectionScheduler = null;
-        }
+        closeNetworkConnectionScheduler();
         _eventLogger.message(VirtualHostMessages.CLOSED(getName()));
 
         stopLogging(_virtualHostLoggersToClose);
@@ -1507,11 +1514,7 @@ public abstract class AbstractVirtualHos
             public void run()
             {
                 shutdownHouseKeeping();
-                if (_networkConnectionScheduler != null)
-                {
-                    _networkConnectionScheduler.close();
-                    _networkConnectionScheduler = null;
-                }
+                closeNetworkConnectionScheduler();
                 closeMessageStore();
                 setState(State.STOPPED);
 

Modified: qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/model/adapter/BrokerAdapterTest.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/model/adapter/BrokerAdapterTest.java?rev=1708982&r1=1708981&r2=1708982&view=diff
==============================================================================
--- qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/model/adapter/BrokerAdapterTest.java (original)
+++ qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/model/adapter/BrokerAdapterTest.java Fri Oct 16 13:08:44 2015
@@ -133,9 +133,12 @@ public class BrokerAdapterTest extends Q
     {
         Map<String, Object> attributes = new HashMap<>();
         attributes.put("name", "Broker");
+        attributes.put(Broker.MODEL_VERSION, BrokerModel.MODEL_VERSION);
+        attributes.put(Broker.DURABLE, true);
         attributes.put("context", Collections.singletonMap(Broker.BROKER_FLOW_TO_DISK_THRESHOLD, flowToDiskThreshold));
         _brokerAdapter = new BrokerAdapter(attributes, _systemConfig);
         _brokerAdapter.open();
+        assertEquals("Unexpected broker state", State.ACTIVE, _brokerAdapter.getState());
 
         for(int i=0; i < virtualHostQueueSizes.length; i++)
         {

Modified: qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/virtualhost/AbstractVirtualHostTest.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/virtualhost/AbstractVirtualHostTest.java?rev=1708982&r1=1708981&r2=1708982&view=diff
==============================================================================
--- qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/virtualhost/AbstractVirtualHostTest.java (original)
+++ qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/virtualhost/AbstractVirtualHostTest.java Fri Oct 16 13:08:44 2015
@@ -301,6 +301,7 @@ public class AbstractVirtualHostTest ext
                 host.open();
             }
         }, loggerName, Level.WARN, "Cannot check file system for disk space");
+        host.close();
     }
 
     private void assertActionProducesLogMessage(final Runnable action, final String loggerName,



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org