Author: ritchiem
Date: Fri Mar 20 15:04:01 2009
New Revision: 756506

URL: http://svn.apache.org/viewvc?rev=756506&view=rev
Log:
QPID-1763 : Fixed slow down due to fs lookup for unloaded message introduced in 
r748516

Modified:
    
qpid/branches/0.5-release/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/QueueEntryImpl.java

Modified: 
qpid/branches/0.5-release/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/QueueEntryImpl.java
URL: 
http://svn.apache.org/viewvc/qpid/branches/0.5-release/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/QueueEntryImpl.java?rev=756506&r1=756505&r2=756506&view=diff
==============================================================================
--- 
qpid/branches/0.5-release/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/QueueEntryImpl.java
 (original)
+++ 
qpid/branches/0.5-release/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/QueueEntryImpl.java
 Fri Mar 20 15:04:01 2009
@@ -84,6 +84,7 @@
 
     private static final byte IMMEDIATE_AND_DELIVERED = (byte) (IMMEDIATE | 
DELIVERED_TO_CONSUMER);
     private boolean _persistent;
+    private boolean _hasBeenUnloaded = false;
 
     QueueEntryImpl(SimpleQueueEntryList queueEntryList)
     {
@@ -407,11 +408,16 @@
 
             try
             {
-                _backingStore.unload(_message);
-
-                if (_log.isDebugEnabled())
+                if (!_hasBeenUnloaded)
                 {
-                    _log.debug("Unloaded:" + debugIdentity());
+                    _hasBeenUnloaded = true;
+
+                    _backingStore.unload(_message);
+
+                    if (_log.isDebugEnabled())
+                    {
+                        _log.debug("Unloaded:" + debugIdentity());
+                    }
                 }
                 _message = null;
 
@@ -502,7 +508,7 @@
         if (state != DELETED_STATE && _stateUpdater.compareAndSet(this, state, 
DELETED_STATE))
         {
             _queueEntryList.advanceHead();
-            if (_backingStore != null)
+            if (_backingStore != null && _hasBeenUnloaded)
             {
                 _backingStore.delete(_messageId);
             }



---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:[email protected]

Reply via email to