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 2016/08/09 05:48:54 UTC

svn commit: r1755561 - in /qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server: queue/AbstractQueue.java virtualhost/AbstractVirtualHost.java

Author: kwall
Date: Tue Aug  9 05:48:53 2016
New Revision: 1755561

URL: http://svn.apache.org/viewvc?rev=1755561&view=rev
Log:
QPID-7363: Ensure that housekeeping thread is shutdown before message store is closed

Also ensure that closing a queue organises for the housekeeping check to finish promptly.

Modified:
    qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/queue/AbstractQueue.java
    qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/virtualhost/AbstractVirtualHost.java

Modified: qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/queue/AbstractQueue.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/queue/AbstractQueue.java?rev=1755561&r1=1755560&r2=1755561&view=diff
==============================================================================
--- qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/queue/AbstractQueue.java (original)
+++ qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/queue/AbstractQueue.java Tue Aug  9 05:48:53 2016
@@ -2524,7 +2524,7 @@ public abstract class AbstractQueue<X ex
         final long thresholdTime = currentTime - getAlertRepeatGap();
 
         long cumulativeQueueSize = 0;
-        while (queueListIterator.advance())
+        while (!_stopped.get() && queueListIterator.advance())
         {
             final QueueEntry node = queueListIterator.getNode();
             // Only process nodes that are not currently deleted and not dequeued

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=1755561&r1=1755560&r2=1755561&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 Tue Aug  9 05:48:53 2016
@@ -1366,10 +1366,10 @@ public abstract class AbstractVirtualHos
     protected void onClose()
     {
         _dtxRegistry.close();
+        shutdownHouseKeeping();
         closeMessageStore();
         closePreferenceStore();
         stopPreferenceTaskExecutor();
-        shutdownHouseKeeping();
         closeNetworkConnectionScheduler();
         _eventLogger.message(VirtualHostMessages.CLOSED(getName()));
 



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