You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by rg...@apache.org on 2015/02/27 15:39:30 UTC

svn commit: r1662688 - in /qpid/branches/0.32/qpid: ./ java/ java/broker-core/src/main/java/org/apache/qpid/server/queue/ java/broker-core/src/test/java/org/apache/qpid/server/queue/

Author: rgodfrey
Date: Fri Feb 27 14:39:29 2015
New Revision: 1662688

URL: http://svn.apache.org/r1662688
Log:
QPID-6419 : Merged 1662683 onto 0.32 branch

Modified:
    qpid/branches/0.32/qpid/   (props changed)
    qpid/branches/0.32/qpid/java/   (props changed)
    qpid/branches/0.32/qpid/java/broker-core/src/main/java/org/apache/qpid/server/queue/QueueEntryImpl.java
    qpid/branches/0.32/qpid/java/broker-core/src/test/java/org/apache/qpid/server/queue/LastValueQueueListTest.java
    qpid/branches/0.32/qpid/java/broker-core/src/test/java/org/apache/qpid/server/queue/QueueEntryImplTestBase.java
    qpid/branches/0.32/qpid/java/broker-core/src/test/java/org/apache/qpid/server/queue/QueueEntryListTestBase.java
    qpid/branches/0.32/qpid/java/broker-core/src/test/java/org/apache/qpid/server/queue/SimpleQueueEntryImplTest.java
    qpid/branches/0.32/qpid/java/broker-core/src/test/java/org/apache/qpid/server/queue/SortedQueueEntryTest.java
    qpid/branches/0.32/qpid/java/broker-core/src/test/java/org/apache/qpid/server/queue/StandardQueueEntryListTest.java

Propchange: qpid/branches/0.32/qpid/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Feb 27 14:39:29 2015
@@ -6,4 +6,4 @@
 /qpid/branches/mcpierce-QPID-4719/qpid:1477004-1477093
 /qpid/branches/qpid-2935/qpid:1061302-1072333
 /qpid/branches/qpid-3346/qpid:1144319-1179855
-/qpid/trunk/qpid:1661079,1661142,1661162,1661165-1661166,1661207,1661212,1661364,1661368,1661373,1661530-1661531,1661693,1661741,1661929,1662051,1662473,1662489
+/qpid/trunk/qpid:1661079,1661142,1661162,1661165-1661166,1661207,1661212,1661364,1661368,1661373,1661530-1661531,1661693,1661741,1661929,1662051,1662473,1662489,1662683

Propchange: qpid/branches/0.32/qpid/java/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Feb 27 14:39:29 2015
@@ -9,4 +9,4 @@
 /qpid/branches/java-network-refactor/qpid/java:805429-821809
 /qpid/branches/qpid-2935/qpid/java:1061302-1072333
 /qpid/trunk/qpid:796646-796653
-/qpid/trunk/qpid/java:1661079,1661142,1661162,1661165-1661166,1661207,1661212,1661364,1661368,1661373,1661530-1661531,1661693,1661741,1661929,1662051,1662473,1662489
+/qpid/trunk/qpid/java:1661079,1661142,1661162,1661165-1661166,1661207,1661212,1661364,1661368,1661373,1661530-1661531,1661693,1661741,1661929,1662051,1662473,1662489,1662683

Modified: qpid/branches/0.32/qpid/java/broker-core/src/main/java/org/apache/qpid/server/queue/QueueEntryImpl.java
URL: http://svn.apache.org/viewvc/qpid/branches/0.32/qpid/java/broker-core/src/main/java/org/apache/qpid/server/queue/QueueEntryImpl.java?rev=1662688&r1=1662687&r2=1662688&view=diff
==============================================================================
--- qpid/branches/0.32/qpid/java/broker-core/src/main/java/org/apache/qpid/server/queue/QueueEntryImpl.java (original)
+++ qpid/branches/0.32/qpid/java/broker-core/src/main/java/org/apache/qpid/server/queue/QueueEntryImpl.java Fri Feb 27 14:39:29 2015
@@ -371,11 +371,16 @@ public abstract class QueueEntryImpl imp
         }
     }
 
-    private void dequeue()
+    private boolean dequeue()
     {
         EntryState state = _state;
 
-        if((state.getState() == State.ACQUIRED) &&_stateUpdater.compareAndSet(this, state, DEQUEUED_STATE))
+        while(state.getState() == State.ACQUIRED && !_stateUpdater.compareAndSet(this, state, DEQUEUED_STATE))
+        {
+            state = _state;
+        }
+
+        if(state.getState() == State.ACQUIRED)
         {
             if (state instanceof ConsumerAcquiredState || state instanceof LockedAcquiredState)
             {
@@ -387,7 +392,11 @@ public abstract class QueueEntryImpl imp
             {
                 notifyStateChange(state.getState() , QueueEntry.State.DEQUEUED);
             }
-
+            return true;
+        }
+        else
+        {
+            return false;
         }
 
     }
@@ -420,9 +429,10 @@ public abstract class QueueEntryImpl imp
 
     public void delete()
     {
-        dequeue();
-
-        dispose();
+        if(dequeue())
+        {
+            dispose();
+        }
     }
 
     public int routeToAlternate(final Action<? super MessageInstance> action, ServerTransaction txn)

Modified: qpid/branches/0.32/qpid/java/broker-core/src/test/java/org/apache/qpid/server/queue/LastValueQueueListTest.java
URL: http://svn.apache.org/viewvc/qpid/branches/0.32/qpid/java/broker-core/src/test/java/org/apache/qpid/server/queue/LastValueQueueListTest.java?rev=1662688&r1=1662687&r2=1662688&view=diff
==============================================================================
--- qpid/branches/0.32/qpid/java/broker-core/src/test/java/org/apache/qpid/server/queue/LastValueQueueListTest.java (original)
+++ qpid/branches/0.32/qpid/java/broker-core/src/test/java/org/apache/qpid/server/queue/LastValueQueueListTest.java Fri Feb 27 14:39:29 2015
@@ -93,6 +93,7 @@ public class LastValueQueueListTest exte
         ServerMessage message = createTestServerMessage(null);
 
         QueueEntry addedEntry = _list.add(message);
+        addedEntry.acquire();
         addedEntry.delete();
 
         int numberOfEntries = countEntries(_list);
@@ -113,6 +114,7 @@ public class LastValueQueueListTest exte
         ServerMessage message = createTestServerMessage(TEST_KEY_VALUE);
 
         QueueEntry addedEntry = _list.add(message);
+        addedEntry.acquire();
         addedEntry.delete();
 
         int numberOfEntries = countEntries(_list);
@@ -173,6 +175,7 @@ public class LastValueQueueListTest exte
         assertEquals(1, countEntries(_list));
         assertEquals(1, _list.getLatestValuesMap().size());
 
+        addedEntry.acquire();
         addedEntry.delete();
 
         assertEquals(0, countEntries(_list));
@@ -193,7 +196,9 @@ public class LastValueQueueListTest exte
         assertEquals(2, countEntries(_list));
         assertEquals(2, _list.getLatestValuesMap().size());
 
+        addedEntry1.acquire();
         addedEntry1.delete();
+        addedEntry2.acquire();
         addedEntry2.delete();
 
         assertEquals(0, countEntries(_list));

Modified: qpid/branches/0.32/qpid/java/broker-core/src/test/java/org/apache/qpid/server/queue/QueueEntryImplTestBase.java
URL: http://svn.apache.org/viewvc/qpid/branches/0.32/qpid/java/broker-core/src/test/java/org/apache/qpid/server/queue/QueueEntryImplTestBase.java?rev=1662688&r1=1662687&r2=1662688&view=diff
==============================================================================
--- qpid/branches/0.32/qpid/java/broker-core/src/test/java/org/apache/qpid/server/queue/QueueEntryImplTestBase.java (original)
+++ qpid/branches/0.32/qpid/java/broker-core/src/test/java/org/apache/qpid/server/queue/QueueEntryImplTestBase.java Fri Feb 27 14:39:29 2015
@@ -113,6 +113,7 @@ public abstract class QueueEntryImplTest
      */
     private void delete()
     {
+        _queueEntry.acquire();
         _queueEntry.delete();
         assertTrue("Queue entry should be in DELETED state after invoking of delete method",
                 _queueEntry.isDeleted());

Modified: qpid/branches/0.32/qpid/java/broker-core/src/test/java/org/apache/qpid/server/queue/QueueEntryListTestBase.java
URL: http://svn.apache.org/viewvc/qpid/branches/0.32/qpid/java/broker-core/src/test/java/org/apache/qpid/server/queue/QueueEntryListTestBase.java?rev=1662688&r1=1662687&r2=1662688&view=diff
==============================================================================
--- qpid/branches/0.32/qpid/java/broker-core/src/test/java/org/apache/qpid/server/queue/QueueEntryListTestBase.java (original)
+++ qpid/branches/0.32/qpid/java/broker-core/src/test/java/org/apache/qpid/server/queue/QueueEntryListTestBase.java Fri Feb 27 14:39:29 2015
@@ -196,6 +196,7 @@ public abstract class QueueEntryListTest
         final QueueEntry head = getTestList().getHead();
 
         final QueueEntry first = getTestList().next(head);
+        first.acquire();
         first.delete();
 
         final QueueEntry second = getTestList().next(head);
@@ -226,6 +227,7 @@ public abstract class QueueEntryListTest
         assertNull(list.next(queueEntry2));
 
         //'delete' the 2nd QueueEntry
+        queueEntry2.acquire();
         queueEntry2.delete();
         assertTrue("Deleting node should have succeeded", queueEntry2.isDeleted());
 

Modified: qpid/branches/0.32/qpid/java/broker-core/src/test/java/org/apache/qpid/server/queue/SimpleQueueEntryImplTest.java
URL: http://svn.apache.org/viewvc/qpid/branches/0.32/qpid/java/broker-core/src/test/java/org/apache/qpid/server/queue/SimpleQueueEntryImplTest.java?rev=1662688&r1=1662687&r2=1662688&view=diff
==============================================================================
--- qpid/branches/0.32/qpid/java/broker-core/src/test/java/org/apache/qpid/server/queue/SimpleQueueEntryImplTest.java (original)
+++ qpid/branches/0.32/qpid/java/broker-core/src/test/java/org/apache/qpid/server/queue/SimpleQueueEntryImplTest.java Fri Feb 27 14:39:29 2015
@@ -109,6 +109,7 @@ public class SimpleQueueEntryImplTest ex
     public void testTraverseWithDeletedEntries()
     {
         // Delete 2nd queue entry
+        _queueEntry2.acquire();
         _queueEntry2.delete();
         assertTrue(_queueEntry2.isDeleted());
 

Modified: qpid/branches/0.32/qpid/java/broker-core/src/test/java/org/apache/qpid/server/queue/SortedQueueEntryTest.java
URL: http://svn.apache.org/viewvc/qpid/branches/0.32/qpid/java/broker-core/src/test/java/org/apache/qpid/server/queue/SortedQueueEntryTest.java?rev=1662688&r1=1662687&r2=1662688&view=diff
==============================================================================
--- qpid/branches/0.32/qpid/java/broker-core/src/test/java/org/apache/qpid/server/queue/SortedQueueEntryTest.java (original)
+++ qpid/branches/0.32/qpid/java/broker-core/src/test/java/org/apache/qpid/server/queue/SortedQueueEntryTest.java Fri Feb 27 14:39:29 2015
@@ -137,6 +137,7 @@ public class SortedQueueEntryTest extend
     public void testTraverseWithDeletedEntries()
     {
         // Delete 2nd queue entry
+        _queueEntry3.acquire();
         _queueEntry3.delete();
         assertTrue(_queueEntry3.isDeleted());
 

Modified: qpid/branches/0.32/qpid/java/broker-core/src/test/java/org/apache/qpid/server/queue/StandardQueueEntryListTest.java
URL: http://svn.apache.org/viewvc/qpid/branches/0.32/qpid/java/broker-core/src/test/java/org/apache/qpid/server/queue/StandardQueueEntryListTest.java?rev=1662688&r1=1662687&r2=1662688&view=diff
==============================================================================
--- qpid/branches/0.32/qpid/java/broker-core/src/test/java/org/apache/qpid/server/queue/StandardQueueEntryListTest.java (original)
+++ qpid/branches/0.32/qpid/java/broker-core/src/test/java/org/apache/qpid/server/queue/StandardQueueEntryListTest.java Fri Feb 27 14:39:29 2015
@@ -155,7 +155,7 @@ public class StandardQueueEntryListTest
 
     public void testScavenge() throws Exception
     {
-        OrderedQueueEntryList sqel = new StandardQueueEntryList(null);
+        OrderedQueueEntryList sqel = new StandardQueueEntryList(mock(StandardQueueImpl.class));
         ConcurrentMap<Integer,QueueEntry> entriesMap = new ConcurrentHashMap<Integer,QueueEntry>();
 
 
@@ -215,6 +215,7 @@ public class StandardQueueEntryListTest
     {
         QueueEntry entry = entriesMap.remove(pos);
         boolean wasDeleted = entry.isDeleted();
+        entry.acquire();
         entry.delete();
         return entry.isDeleted() && !wasDeleted;
     }



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